ในการ update รอบนี้จะเป็นการหา correlation ของ position ที่เปิดอยู่ของแต่ละ account ว่าคู่เงินแต่ละคู่มีค่า correlation กันอยู่เท่าไร เพื่อดูว่า คู่เงินสกุลไหนถ่วงดุลกันได้บ้าง เพื่อที่จะไม่ให้ account ต้องเกิด drawdown ไปในทิศทางเดียวกันหมด จะทำให้มีความเสี่ยงที่การโดน stop out หรือ margin call ได้
โดยค่า correction exposure รวมถ้ายิ่งเข้าใกล้ 0 ก็ยิ่งดีโดยผมเขียนเงื่อนไขตัดเกรดไว้ 3 เกรดคือ
# calculate exposure correleation
weights = exposure_df['weight'].values
C = corr_matrix.loc[exposure_df.index, exposure_df.index].values
corr_exposure = weights.T @ corr_matrix.loc[exposure_df.index, exposure_df.index].values @ weights
weighted_corr = C @ weights
# Marginal Contribution to Correlation Exposure
mcce = 2 * weights * weighted_corr
exposure_df['mcce'] = mcce
# เปอร์เซ็นต์ contribution ต่อ correlation exposure ทั้งหมด
exposure_df['mcce_pct'] = mcce/mcce.sum()
corr_grade = ""
if corr_exposure > 0.7:
corr_grade = "C"
elif corr_exposure >= 0.3 and corr_exposure <= 0.7:
corr_grade = "B"
elif corr_exposure < 0.3:
corr_grade = "A"
ดูจาก code แล้วต้องขอบใจ AI สมัยนี้ เพราะถ้าให้ผมเขียนเองกว่าจะ dot product matrix คงเสียเวลานานพอสมควรไหนจะทำความเข้าสูตร แต่พอมี ai มาช่วยแค่เข้าใจ concept และรู้ว่าสูตรจะใช้ยังไงเพื่ออะไร จากนั้นก็ให้ ai เขียนโค้ดตัวอย่างมา เราก็แค่หยิบมาใช้งานให้ถูกก็โอเคแล้ว
ต่อมาก็ให้ AI เขียนโค้ดเพื่อแสดง exposure การเชื่อมโยงกันของสกุลเงินเพื่อที่จะได้เส้นทางว่า ณ ปัจจุบัน account มี ถือสกุลเงินไหนมาก จากด้าน long หรือ ด้าน short ตัวอย่างเช่น คู่เงิน USDCHF คือการเรายืมเงิน CHF มาซื้อ USD นั้นก็มีผลคล้ายกับเรา long USD แล้ว short CHF นั้นเอง
และนี้คือ static summary ที่ผมพอเข้าใจและเอามาปรับใช้กับ model trade ผลที่ได้ก็ต้องยอมรับว่าการใช้กลยุทธ์ Grid trade เพื่อเก็บข้อมูลที่มากพอและ run model trade ไปสักพักก็จะพบว่าบ้าง model จากกำไรอยู่ดีๆสามารถพลิกเป็นขาดทุนหนักได้ในทันทีและอาจจะต้อง run ต่อเพื่อ cover ส่วนที่ loss ไปใช้เวลานานพอสมควร
ซึ่งก็จะเห็นแล้วว่าถ้าลองโมเดลเทรดไปเรื่อยๆ จนเจอการขาดทุนหนักๆเข้าอาจเป็นอันตราย กลับกัน model ตัวเดียวกัน run ใน asset ที่มีขาขึ้นระยะยาวก็จะกำไรและ exit ได้ดีกว่าเพราะฉะนั้นสิ่งที่จะต้องทำต่อไปคือการหา model เพื่อที่จะบอกภาพกว้างเพื่อป้องกันเจอสกุลเงินหรือ asset ที่จะเป็นขาลงระยะยาวเพราะกลยุทธ์ที่ผมใช้จะเป็น buy only เท่านั้น
side project มีการ update ให้เพิ่มระบบ login แบบง่ายๆใช้ O Auth ของ google และสมัครแบบ กรอก email ไม่ต้องยืนยัน email เพราะยังไม่ว่างทำเรื่องการส่ง email และเพิ่มให้ member สามารถ add asset favarite ได้ โดยเมื่อ click จากหน้าแรกก็จะแสดงราคาของ asset ที่เลือก