ใช้ Monte Carlo Simulation กับการทดสอบ Trading algorithm ว่า robust แค่ไหนได้มั้ย,อย่างไร?

คือประสบการณ์ด้าน system trade ยังน้อยมากครับ
เข้าใจแค่คอนเซป และลองสร้าง algorithm มา backtest เล่นๆบ้างยามว่าง แต่ก็ไม่เคยนำระบบไปลงสนามจริง ด้วยความที่ว่ายังไม่เจอระบบที่ชอบ และยังไม่รู้ว่ามันมีความ robust แค่ไหน

อย่างไรก็ตาม ได้ยินได้เห็นในหลายๆบทความถึงการทำ Monte Carlo Simulation ว่าควรทำก่อนที่จะนำระบบออกใช้งาน

หากแต่ว่าเรื่องนี้เป็นเรื่องที่ค่อนข้างจะซับซ้อนมิน้อยเลย

โดยเข้าใจในคอนเซปคร่าวๆว่า

ผลการดำเนินงานของ Algorithm ที่เราสร้างขึ้น optimize และ backtest นั้น เกิดจากข้อมูลที่เป็น in sample data ทั้งนั้น

โดยที่อาจจะไม่ได้ทำนายอนาคตว่าผลตอบแทนที่ได้นี้จะได้พอๆกับที่เคยทำ backtest ไว้หรือเปล่า หรือ Algorithm นี้มีการ over fitting เกินไปมั้ยกับ in sample data หรือในชีวิตจริงเราจะมีโอกาสเจอ drawdown ได้ขนาดไหน

ดังนั้นจึงมีความจำเป็นที่จะต้องนำระบบมารันบน out sample data เพื่อทดสอบความยืดหยุ่นของระบบว่า
- มันจะยังทำงานได้ผลประกอบการที่มีแนวโน้มเป็นกำไรหรือไม่?
- มันจะเซฟตัวเองจากภาวะ drawdown ได้ดีแค่ไหน?
- เราจะพอใจกับระบบตัวนี้ได้หรือยัง?

โดยการทำ Monte Carlo Simulation ก็เพื่อ จำลองอนาคตในรูปแบบของความน่าจะเป็นหนึ่งของเหตุการณ์ที่สามารถเป็นได้นับไม่ถ้วน จากข้อมูลในอดีต

ถามว่าในส่วนนี้สามารถใช้เป็น out sample data ได้หรือไม่?

หากว่าเราจำลองอนาคตของหุ้น SET100 ทุกตัว ตัวละ 100 ความน่าจะเป็น เท่ากับว่าเราจะได้ชุดของตะกร้าหุ้นที่แตกต่างกัน และเป็น out sample data ได้ 10,000 รูปแบบ

และถ้าเราทำการรันระบบ เท่ากับว่าเราจะมี n=10,000 เพียงพอที่จะประมาณ Maximum Drawdown ที่เราอาจจะเจอในอนาคตได้หรือไม่ เพื่อดูว่าเรารับ risk ได้มั้ย

หรือจะต้อง random ตะกร้าหุ้น SET100 ใหม่หมดทั้ง 10,000 ชุด ไม่สามารถเอามาสุ่มเลือกได้

หรือการออกใช้งาน algorithm ไดๆ ต้องผ่านการเทสอะไรอีกมั้ย? รบกวนตอบข้อไหนได้ ตอบผมหน่อยนะครับ

ขอแทก คณิตศาสตร์ด้วยนะครับ จริงๆอยากแทก สถิติ แต่ม่ายมี

ปล.ตอนนี้ใช้ Amibroker อยู่ครับ มีเคล็ดลับอะไรสอนผมได้นะครับ

แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่