การตรวจสอบ (ต่อ)
นี่คือเนื้อหาต่อจากครั้งก่อนใช่ไหม?
จะตรวจสอบอย่างไร?
การตรวจสอบ(การทดสอบ)มีหลายประเภท
① การทดสอบย้อนหลัง (Historical Backtest)
② การทดสอบนอกรูปแบบข้อมูลที่ใช้ (Out-of-Sample Test)
③ การทดสอบเดินหน้าต่อไป (Walk-Forward Test)
④ การทดสอบแบบเรียลไทม์
เพียงแค่มีชื่อเรียกก็ไม่ได้แปลว่าไม่ได้ทำอยู่หรอกนะ ทุกคนที่ทำอยู่ก็ทำอยู่โดยไม่รู้ชื่อนี้
จะอธิบายเป็นลำดับกันไป
① การทดสอบย้อนหลัง
การทดสอบย้อนหลังทั่วไป มักเป็นสิ่งที่เรียกว่า “การตรวจสอบ” ที่คนทั่วไปพูดถึงมาก
ใช้ข้อมูลในช่วงระยะเวลาหนึ่งเพื่อดูว่าเทคนิคนี้ใช้งานได้หรือไม่ และรวบรวมข้อมูลที่ได้ตามที่กล่าวไว้ก่อนหน้านี้
ข้อสังเกตคืออย่าใช้ข้อมูลทั้งหมดที่คุณมีในที่นี่!
เหลือไว้ประมาณ 30–40% ของข้อมูลที่ไม่ถูกใช้งานด้วยนะ!
นอกจากนี้ยังมีสิ่งที่ควรระวังในการตรวจสอบซึ่งเป็นเรื่องสำคัญมาก
อย่างที่บทก่อนหน้านี้ได้กล่าวถึงชื่อไว้ว่า“การเพิ่มประสิทธิภาพ”หรือ“การฟิตโค้ง”เรียกว่าอะไร
จะอธิบายด้วยตัวอย่างง่ายๆ
ยกตัวอย่างเปรียบเทียบวิธีที่เปลี่ยนพารามิเตอร์สองตัว
สมมติว่าใช้ค่าเฉลี่ยเคลื่อนที่แบบชิดกัน 5MA และ 21MA ได้ข้อมูลจุด Golden Cross และ Dead Crossแล้วรับข้อมูล
10MAและ25MAก็ได้ข้อมูล ด้านหลังพบว่าวิธีที่หลังดีกว่า
งั้นอันไหนดีล่ะ?
10MAและ25MAเป็นวิธีที่ดีกว่าแน่นอน!!!
คิดแบบนี้น่าจะเป็นส่วนใหญ่
แต่ก็คือ“การฟิตโค้ง”ใช่ไหม?
สำหรับช่วงเวลาหนึ่งๆ จึงหาพารามิเตอร์ที่เหมาะสมเพื่อให้ได้ข้อมูลที่ดูดีด้านหน้าเท่านั้น!
ไม่มีความหมายเลย
และสินค้าหรือ EA ที่วางขายทั่วไปมักเป็นของที่ผ่านการฟิตโค้งมา…ใช่ไหม?
ปรับให้กราฟการเติบโตทรงขึ้นด้านขวาเรียบเนียนเพื่อขาย
น่าจะทำกำไรได้ใช่ไหม! ฮ่าๆwww
“ด้วยพารามิเตอร์ของตนเอง… ”
“หากใช้พารามิเตอร์หนึ่งๆ ก็ได้…”
เมื่อเห็นข้อความโฆษณาแบบนี้ให้สงสัย“การฟิตโค้ง”ใช่ไหม?
โปรดสงสัยไว้
※บางบริษัทหลักทรัพย์มีหน้าเว็บที่ให้เครื่องมือฟรีเพื่อ “หาพารามิเตอร์ที่ดีที่สุด”?
แนะนำว่าการฟิตโค้งเป็นวิธีที่แนะนำหรือไม่?ตกใจไหม?
เมื่อสร้างวิธีการ ส่วนใหญ่คนจะทำแบบนี้
วิธีที่ usable สามารถทำกำไรได้แม้เปลี่ยนค่า Parameter เล็กน้อยพารามิเตอร์ทำให้สัญญา Entry/Exit แปรผันได้บ้างจึงมีความผันผวนของผลตอบแทนเล็กน้อย แต่ควรทำกำไรได้
ค่าเฉลี่ยเคลื่อนที่ 20 หรือ 21 หรือ 25 ล่ะ?
เพราะไม่ใช่ว่าค่าเฉลี่ยเคลื่อนที่ใช้ไม่ได้ ดังนั้นอย่ากังวลกับการเลือกมากเกินไปเลยจะเสียเวลาเปล่า
ดังนั้น อย่าฟิตโค้งไปเรื่อยๆ เพื่อดูว่าวิธีไหนดีกว่า
กันเถอะนะ?
จริงๆ แล้วมันเสียเวลามากๆ
② การทดสอบนอกรูปแบบข้อมูล (Out-of-Sample Test)
ข้อมูลในช่วงที่ไม่ได้ใช้ในการ Historical Backtest จะเก็บไว้ประมาณ 2~3 ส่วนแล้วดึงข้อมูลด้วยวิธีที่ใช้ใน Historical Backtest อีกครั้งหนึ่ง
ถ้าฟิตโค้งแล้ว Out-of-Sample จะมีแนวโน้มแย่ลงอย่างรุนแรง
หาก Out-of-Sample ผ่านได้ดี ความน่าจะเป็นในการเทรดจริงก็จะสูงขึ้นด้วย
③ การทดสอบเดินหน้าต่อไป (Walk-Forward Test)
การทดสอบนอกรูปแบบข้อมูลหลายครั้งและรวมเป็นหนึ่งรายการ
ถ้าทำได้ถูกต้อง ผลลัพธ์จะใกล้เคียงการเทรดจริงมากขึ้น
จะยกตัวอย่างวิธีการทำ ①~③ ให้เห็นภาพ
(※ ปี 2010ถึง2019 ปี ข้อมูล 10 ปีมีอยู่ในมือกล่าวถึง)
1) จาก Historical Backtest ดึงข้อมูล USD/JPY ตั้งแต่2010~2015 ข้อมูลแบ่งเป็นปีๆ หรือครึ่งปีๆ ก็ได้ ผมมักแบ่งเป็นปีละหนึ่งปีแล้วสรุป
ปรับปรุงวิธี (ไม่ใช่แค่ปรับพารามิเตอร์ แต่แก้ปัญหาพื้นฐาน) เพื่อสร้างวิธีที่ใช้งานได้
2) ใช้ข้อมูลในปี2016 เพื่อเก็บข้อมูลหนึ่งปี
จากนั้น2017,2018,2019 เก็บข้อมูล
3)2016~2019 รวมข้อมูลที่เก็บมาเพื่อทดสอบข้อมูล
ตรวจสอบว่ามีใช้งานได้จริงหรือไม่
เป็นกระบวนการดังกล่าว
(※เป็นเพียงตัวอย่างเท่านั้น)
④ การทดสอบเรียลไทม์
ไม่ว่าจะเป็นเงินจริงหรือสาธิต ก็เป็นการเทรดแบบเรียลไทม์นะ!
เป็นเวลานานจึงต้องทำแบบเรียลไทม์ ซึ่งทำให้เสียเวลาเยอะข้อเสียมีอยู่ แต่ไม่ถูกหักล้างด้วยการ Optimize หรือ Bias ทำให้ความน่าเชื่อถือสูงที่สุด
※ สินค้าจากผู้ขายส่วนใหญ่ไม่ได้ทำการเทรดจริงในช่วงเรียลไทม์
นอกจากนี้ Prop Firms ของอเมริกาจะให้ฝึกคนใหม่ด้วยการให้สเกลเล็กๆ ทำการสเกลปั่นราคา
เพื่อให้ฝึกในเรียลไทม์
เหตุผลที่ให้สเกลเพราะต้องประหยัดเวลา! การฝึกคนใหม่ด้วยการ swing อย่างช้าๆ จะไม่เหมาะ
ปกติแล้วไม่มีการทำอย่างนั้นใช่ไหมwww
วิธีการวิเคราะห์มีหลากหลาย อีกมากมาย…
ดูยุ่งยากและอธิบายยากจึงขอแค่ 소개แบบสั้นๆ
ตัวอย่างเช่น การวิเคราะห์ Monte Carlo ซึ่ง
หากลำดับชนะแพ้ในการเทรดต่างกัน กราฟทรัพย์สินจะเป็นอย่างไร?
Drawdown จะรุนแรงมากแค่ไหน? ทรัพย์สินสุดท้ายจะต่างกันหรือไม่?
เป็นวิธีวิเคราะห์ที่ช่วยตอบคำถามเหล่านี้
นอกจากนี้เมื่อเปรียบเทียบวิธีการกัน บางครั้งจะใช้การแจกแจง t ของ Studenttt distribution
วิธีนี้เปรียบเทียบความแตกต่างของค่าเฉลี่ยสองค่าเพื่อดูว่ามีความแตกต่างทางสถิติหรือไม่
ผู้ที่ชำนาญสถิติหรือผู้สนใจสามารถค้นคว้าเพิ่มเติมได้
ฉันเองยังไม่ได้ทำถึงขั้นนั้น?
ว่าแต่“มีนัยสำคัญ”เป็นคำที่มีความสำคัญทางสถิติครับ!
ตัวอย่างเช่น… ในช่วงเวลาลอนดเวลาปลายค่าเงินเยนอ่อนลงในโตเกียว อันนี้เคยมีการบอก แต่ว่าผลลัพธ์มีนัยสำคัญหรือไม่ ไม่มี
หมายถึงไม่ต่างกัน5 วัน10 วันก็ไม่มีความต่างทางนัยสำคัญ
นอกจากนี้ยังมีอโนมาลีที่ว่า “วันเปิดกราฟของジブリทำให้เคลื่อนไหวมาก” แต่ก็เป็นเรื่องบังเอิญ ไม่มีนัยสำคัญ อย่างไรก็ตามジブリมักออกอากาศวันศุกร์ต้นเดือน จึงเป็นวันที่มีการประกาศข้อมูลการจ้างงาน
(※ประกาศการจ้างงานปัจจุบันไม่ได้เคลื่อนไหวมากนัก อาจมีผู้ที่ไม่ทราบอโนมาลีนี้?)
การตรวจสอบมักถูกพูดถึงง่ายๆ แต่ถ้าทำจริงๆ จะใช้เวลามากและมีปริมาณมาก
EAที่สามารถสร้างด้วยตนเองจะทำได้ในพริบตา แต่ฉันไม่สามารถทำได้ ดังนั้นจึงทำด้วยมือทีละขั้นตอน
การตรวจสอบก็เป็นการฝึกฝนด้วย และเป็นประโยชน์ในการฝึกด้วย ดังนั้นจึงเป็นเรื่องที่ดีที่จะฝึกด้วยมือทีละข้อ
เมื่ออาบน้ำหรือนอนบนเตียง บ่อยครั้งมีไอเดีย แล้วมาทดสอบดู
บางทีใช้งานได้ บางทีกลับใช้งานไม่ได้เลย
ความคิดเช่นนี้จะนำไปสู่แนวคิดใหม่ๆ และเปิดโอกาสไม่สิ้นสุด
โปรดตรวจสอบด้วยการตรวจสอบซ้ำไปซ้ำมา... พยายามจนกว่าจะปวดเอ็นจนกล้ามเนื้อแขนล้า! ( ・ㅂ・)و ク゛ッ !wwww
ส่งท้ายเนื้อหาเพียงเท่านี้
ขอบคุณที่อ่านจนถึงบรรทัดสุดท้าย มาด้วยใจขอบคุณอย่างมาก m(_ _"m)
※ขอบคุณสำหรับคำชมเสมอมา เป็นเรื่องที่น่ายินดีมาก
ขอบคุณจริงๆ
ส่วนด้านล่างเป็นส่วนที่ต้องเสียค่าใช้จ่าย แต่ไม่มีบทความอยู่เลย โปรดระมัดระวัง?
มีผู้คนหลายคนบอกอยากขอบคุณ จึงจัดทำ
ขอบคุณจริงๆ ผู้ที่ซื้อมา