เพิ่ม Win rate การเทรดด้วย Detect False Signal ด้วย ML
Mastering Algorithmic trading with Python
ความสำเร็จของระบบเทรดที่สำคัญคืออัตตรากำไรหรือ Win Rate การออกแบบระบบที่ Signal ในการเทรดที่มีความแม่นยำสูงเป็นได้ได้ยากและมีโอกาศในการเกิด Over fitting ได้ค่อนข้างมากทำให้ระบบเทรดในบ้างครั้งเมื่อนำไปใช้งานจริงไม่ประสบความสำเร็จทั้งๆที่ผลทดสอบย้อนหลังดีมาก
ทางออกของปัญหานี้ไม่ใช่การ Improve win rate ด้วยการใส่ตัวแปรหาโมเดลทที่แม่นยำ แต่อาจเป็นการหา False Signa หรือสัญญาณหลอกที่เกิดขึ้นในระบบเทรดวันนี้เราจะพยายามใช้ ML ในการ Detect False Signal กัน
True Signal และ False Signal
False Signal คือเหตุการณ์ที่เกิดสัญญาณการซื้อขายขึ้นแต่ทิศทางของราคาไม่เป็นไปในทางที่เราคาดหวัง
เหตุที่เกิด True Signal และ False Signal เพราะว่าสมมติฐานในการเทรดของกลยุทธ์ที่ต่างกัน โดยเราสามารถแยกออกเป็น 3 ส่วน คือ Trend following, Sideway และ การหาจุดกลับตัวของราคา(mean reversion) เราจะไม่สามารถใช้กลยุทธ์เทรดที่อยู่บนสมมุติฐานหนึ่งในภาวะตลาดอื่นได้ เช่นกลยุทธ์ที่ใช้เส้น EMA สั้นตัดยาว จะใช้ได้กับภาวะราคา Trend following หรือ Bollinger brand ใช้ได้ดีกับภาวะตลาด Sideway
การ Label ตัวแปร
การ Label ตัวแปรเพื่อ Detect False Signal มีความซับซ้อนและเป็นทั้งศาสตร์และศิลป์เราไม่สามารถใช้การ Label โดยดูจากข้อมูลในอนาคตเพียงอย่างเดี่ยวแต่การ label ตัวแปรเพื่อ Detect False Signal เราจำเป็นต้องกำหนดจุดตัดของเวลาและราคาโดนยทั่วไปมี 2 วิธีคือ Opposite Trade Signal Method และ Triple Barrier Method
Opposite Trade Signal Method
คือการ label เมื่อ Trade Signal มีความหมายตรงกันข้ามกันสมมติฐานของสัญญาณโดยวัดจากเมื่อเกิดสัญาณจนถึงเกิดสัญญาณจรงกันข้าม เช่น EMA สั้นตัดยาวอยู่บนสมมุติฐายเมื่อแนวโน้มเป็นขาขึ้น ดังนั้น False Signal จะเกิดขึ้นเมื่อ EMA สั้นตัดยาว แต่โน้มโน้มเป็นขาลงโดยเราอาจจะใช้ค่าความชัน อัตราการเปลี่ยนแปลงราคาหรืออะไรก็ตาม
Triple Barrier Method
Triple Barrier Method ใช้การ Label เมื่อราคาเคลื่อนที่ไปในทิศทางใดทิศทางหนึ่งเกินกว่าที่เรากำหนด หรือราคาไปถึงค่าที่เรากำหนดหรือไป การ Label ด้วยวิธี Triple Barrier Method เป็นการ Label ที่สอดคล้องกับพฤติกรรมการนำระบบเทรดไปใช้ในโลกแห่งความเป็นจริง เพราะสามารถจำกัดผลขาดทุนสูงสุด (Drawdown) ของการเทรดได้
การเลือก Feature
เราไม่สามารถสร้าง Feature เพื่อ Detect False Signal ด้วยตัวแปรใดก็ได้เราจำเป็นต้องเลือก Feature เพื่อ Detect False Signal ในการเทรด เราควรคำนึงถึงสมมุติฐานและทฤษฏีที่เกี่ยวข้องกับ Signal ในการเทรดนั้นด้วย
ยกตัวอย่างเช่น Trade Signal มีสมมุติฐานในเรื่องของแนวโน้วเราก็ควรมีตัวแปรในการทำ Feature ที่บ่งบอกถึงแนวโน้มของราคา
สรุป
การ Detect False Signal จะช่วยลดสัญญาณหลอกของระบบเทรดให้ลดลงและช่วยให้เราสามารถลดการเทรดให้มีจำนวนที่น้อยลงได้ด้วยซึ่งนั้นหมายถึงการเพิ่มประสิทธิภาพของระบบเทรด