หัวใจหลักสำคัญของการสร้างระบบเทรดก็คือการทำ Robustness test คือ การทดสอบความแข็งแกร่งของระบบ ในสภาวะสภาพคล่องที่ต่ำ
สภาวะตลาดที่ผิดปกติ หรือข่าวที่เป็นด้านบวกหรือด้านลบมากๆที่เข้ามาระหว่างวัน ทำให้ราคาเกิดการเคลื่อนไหวอย่างรุนแรงว่าสามารถรอดในการจำลองได้หรือไม่
เเละทุกการทดสอบจะเป็นการทดสอบความคงทน "Robustness test"เเละทดสอบ Curve Fitting ของระบบทั้งสิ้น ด้วยเงื่อนไขหรือรูปเเบบการทดสอบจะเเตกต่างกันออกไป เพราะทางเราไม่รู้ตลาดในอนาคตจริงจำเป็นต้องทดสอบในหลายรูปเเบบเพื่อเผชิญหน้ากับตลาดในอนาคต
เเยกประเภทการทดสอบ
In sample / Out of sample
Monte Carlo test
System Parameters Permutation
Optimization Profile
Walk forward Optimization
In sample(IS)/Out of sample(OOS)
In Sample : IS ( ข้อมูลสำหรับเรียนรู้และสร้างระบบเทรด )
ช่วงเวลาที่สร้างระบบเทรด เรียนรู้ตลาด และ Optimized เพื่อหาค่าที่ทำกำไร ความเสี่ยง และค่าอื่นๆ ได้ตรงตามเงื่อนไขที่เราตั้งไว้ ซึ่งในส่วนนี้ใช้เวลานานมาก อย่างที่ทำอยู่ตอนนี้ก็ต้องใช้ Machine learning เพื่อให้มันเรียนรู้ตลาดในช่วงที่เรากำหนด
Out of sample : OOS ( ช่วงทดสอบระบบ )
เป็นช่วงเวลาที่นอกเหนือ IS (In sample) ช่วงนี้จะเป็นการ Robustness test (ทดสอบความเเข็งเเกร่ง) ระบบเทรดที่เราสร้างเพื่อทดสอบว่า เมื่อมีเหตุการณ์นอกเหนือจากช่วงที่สร้างระบบ มันสามารถเอาตัวรอดและทำกำไรให้เราได้หรือไม่
การสร้าง EA ส่วนใหญ่ จะทำเเค่ขั้นตอน In sample เท่านั้น สร้างเสร็จ back test สวยๆ ก็นำมาขายเลย และสุดท้ายก็สู้ตลาดไม่ไหวก็ค่อยๆออกจากตลาดไป เพราะไม่มีความเสถียร ไม่ยืดหยุ่นพอที่จะอยู่รอดทุกสภาวะ
ตัวอย่างการ IS/OOS
Robustness test : Monte Carlo
Monte Carlo คือ การจำลองสถานการณ์ต่างๆ ขึ้นมาด้วยการกำหนดพารามิเตอร์หลากหลายแบบ เพื่อให้ส่งผลกระทบกับระบบเทรด แล้วนำมาทดสอบหาความน่าจะเป็นว่าระบบเทรดจะสามารถเอาตัวรอดจากตลาดที่ไม่เคยเจอได้ไหม โดยเเบ่งหัวข้อการทดสอบดังนี้
Randomize history data - จำลองสุ่มราคา ± 30%
เป็นการจำลองสุ่มราคาของคู่เงินขึ้นมาเพื่อทดสอบความแข็งแกร่งกับสภาวะราคาเปลี่ยนแปลงสภาวะ
Randomize strategy parameters - จำลองสุ่มค่า Parameters ± 20%
เป็นการจำลองสุ่ม Parameter เงื่อนไขการซื้อ-ขาย ขึ้นมาเพื่อทดสอบความแข็งแกร่งกับสภาวะตลาดในความเป็นจริง
ตาราง ตัวอย่างการสุ่มจำลองค่า
Randomize Slippage, Spread - จำลองสุ่มค่า Slippage, Spread หรือ ค่าความคลาดเคลื่อนระหว่างราคาในจุดที่ระบบเกิดสัญญาณซื้อขายมากกว่าตลาดจริงโดยทำการจำลองการเกิดจากหลายๆสาเหตุเช่น สภาพคล่องที่ต่ำ, สภาวะตลาดที่ผิดปกติ หรือข่าวที่เป็นด้านบวกหรือด้านลบมากๆที่เข้ามาระหว่างวัน ทำให้ราคาเกิดการเคลื่อนไหวอย่างรุนแรงว่าสามารถรอดในการจำลองได้หรือไม่
Randomize starting bars - จำลองสุ่มการเริ่มเทรดสูงสุด 100 แท่งเทียน
Randomly skip trades, with probability 10% - จำลองสุ่มข้ามการซื้อขายด้วยความน่าจะเป็น ที่ 10% ในการซื้อขาย
Randomize starting bars และ Randomly skip trades, with probability 10% จะเป็นการทดสอบจำลองสุ่มซื้อ-ขายแบบการนับแท่งเทียนและ
สุ่มซื้อ-ขายแบบเป็นเปอร์เซนต์โดยทำการจำลองการเกิดจากหลายๆสาเหตุเช่น
จำลองปัญหาที่ 1. ปัญหารันต่างโบรคแล้วเปิดออเดอร์ไม่พร้อมกัน
จำลองปัญหาที่ 2. ขณะรันอยู่แล้ว server ปัญหา เป็นต้น
Robustness Test : System Parameters Permutation and Optimization Profile
System Parameters Permutation : การเปลี่ยนเเปลงพารามิเตอร์ระบบ
คือ การทดสอบชุดค่าพารามิเตอร์ที่เป็นไปได้ทั้งหมด (เช่น ปรับกลยุทธ์ให้เหมาะสมด้วยชุดค่าผสมที่เป็นไปได้) และจากข้อมูลของการเรียกใช้การปรับให้เหมาะสม ซึ่งสามารถตั้งสมมติฐานเกี่ยวกับประสิทธิภาพของกลยุทธ์ที่เป็นจริงได้
ข้อมูลสำคัญที่คำนวณโดย SPP คือ ค่ามัธยฐานสำหรับทุกสถิติประสิทธิภาพของกลยุทธ์ เพื่อหาเเนวโน้มค่ามัธยฐานของระบบที่เเท้จริง
Net profit, Drawdown, % Drawdown, Sharpe ratio
(Ref. http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2423187 )
Optimization Profile
วิเคราะห์ความเป็นไปได้ของชุดทดสอบทั้งหมดหากทำการปรับเปลี่ยนทุกๆ Parameter เพื่อดูประสิทธิภาพสูงสุดของระบบ
กำไรเฉลี่ยสำหรับการเพิ่มประสิทธิภาพทั้งหมดควรมากกว่า 0
การกระจายผลกำไรทั้งหมดมีความสม่ำเสมอมากที่สุด
Robustness test : Walk-Forward Optimization and Matrix
Walk forward Optimize
หลักการ Walk forward Optimize จะเป็นการวิเคราะห์ระบบแบบก้าวเดินไปข้างหน้า โดยใช้ Optimization หาค่า optimized parameters จาก In-Sample Period ไปใช้ใน Backtesting ใน Out-Of-Sample Period ถัดๆไป เพื่อทดสอบระบบว่าเมื่อนำมาใช้งานจริงๆ (Out-Of-Sample Period) แล้วจะได้ผลลัพท์ที่ดีหรือใกล้เคียงจาก In-Sample Period
ติดต่อเรา ForexQuanteas.com
หาคุณมีข้อเสนอเเนะคุณสามารถติดต่อเราได้ที่นี่
Copyright2021, ForexQuanteas.com