|
ความคิดเห็นที่ 2 |
|
คำถามของคุณ author unknown การทำ Backtesting ทำอย่างไร
Backtesting คือ การทดสอบย้อนหลังของผลในการทำกำไร, Win-Lose Ratio, Reward-Risk Ratio, Expected Return, Drawdown ฯลฯ ของระบบที่เราใช้ในการเทรดว่ามีประสิทธิภาพเพียงใด โดยสามารถทำได้หลายวิธี
1. อาศัยความขยัน เปิดเครื่องมือที่เราคิดว่าต้องการทดสอบ แล้วนั่งไล่ย้อนดูผลกลับไปว่าถ้าเราเข้าซื้อขายตามสัญญาณเทคนิคนั้นๆ แบบเชื่อทุกๆ ครั้งแล้วให้ผลออกมาเป็นเช่นไร เช่น หากเราต้องการทดสอบ MACD เราก็ดูว่าหากเส้น Signal ตัดเส้น MACD ขึ้นให้ซื้อ หากตัดลงให้ขาย โดยราคาที่ผมใช้ในการทำ Backtesting นั้น ผมใช้ราคา เปิด ของแท่งเทียนแท่งถัดไปหลังจากที่ MACD ตัดขึ้นหรือลง ไม่ได้ใช้ราคา ปิด ของแท่งเทียนแท่งที่ส่งสัญญาณมาทำการคำนวณ เนื่องจากในทางปฏิบัติ เวลาเรานำเครื่องมือเทคนิคไปใช้ เครื่องมือจะคอนเฟิร์มได้ว่าตัดขึ้นหรือตัดลงแน่ๆ เราต้องรอให้ผ่านแท่งเทียนแท่งนั้นไปก่อน หรือไม่ต้องกะเวลาให้ดีๆ ว่า แท่งเทียนแท่งนั้นจะสิ้นสุด ณ เวลาใด ซึ่งในทางปฏิบัติทำได้ค่อนข้างยาก ใช้ราคาเปิดแท่งเทียนถัดไปง่ายกว่า
2. ใช้โปรแกรม Meta Stock ในการช่วยทำ Backtesting ซึ่งมีฟังก์ชั่นนี้ให้ใช้ แต่ Meta Stock ใช้ราคา ปิด ของแท่งเทียนแท่งที่ส่งสัญญาณมาทำการ Backtesting ซึ่งมันทำได้ยากในทางปฏิบัติ จะให้ดีต้องเข้าไปแก้ code แทนที่จะใช้ราคาปิดของแท่งนั้น ก็ให้ไปใช้ราคาเปิดของแท่งเทียนแท่งถัดไปแทน
3. ใช้โปรแกรมดึงข้อมูลราคา High, Low, Open, Close มาไว้ใน Excel ซึ่งหากใช้โปรแกรม BisNews ดูกราฟ ก็ให้ใช้ DDE เข้าไปติดตั้งใน Excel และใช้ดึงข้อมูลออกมา เมื่อได้ข้อมูลดิบมาแล้ว นำมาเขียนสูตรการคำนวณเครื่องมือเทคนิคที่เราใช้ เพื่อหาจุดตัดขึ้น ตัดลง และนำมาหาราคาต้นทุนที่เราเข้าทำการซื้อขาย หากท่านเขียน VBA บน Excel ได้จะเป็นวิธีที่รวดเร็วมากครับ ผมใช้วิธีในการทำ Backtesting วิธีทนี้ และผมโชคดีที่มีน้องที่เขียน VBA เป็นช่วยเขียนและติดตั้งให้ ช่วยทำให้ผมประหยัดเวลาไปได้มาก ซึ่งผมคงจะต้องเรียนรู้วิธีการเขียน VBA เพื่อให้สามารถปรับปรุงและแก้ไขไฟล์คำนวณได้เองโดยไม่ติดขัดปัญหาในอนาคต
4. ใช้โปรแกรมที่มีประสิทธิภาพสูงในการดึงข้อมูลเครื่องมือทางเทคนิคให้ออกมาเป็นตัวเลขใน Excel ได้เลย โดยไม่ต้องคำนวณเองใน Excel เหมือนในข้อ 3 โปรแกรมที่ผมเคยใช้คือ BisNews เวอร์ชั่น Kopbra ซึ่งมีราคาแพงมาก ผมใช้ตอนสมัยที่ผมทำวิทยานิพนธ์ที่จุฬาฯ ช่วยประหยัดเวลาทำงานได้อย่างมหาศาลครับ
คำถามคุณฉันรักการเล่นหุ้น Win-Lose Ratio ที่เหมาะสมควรอยู่ช่วงใด
การพิจารณาว่าระบบที่เราใช้มีประสิทธิภาพเพียงใด ให้ดูที่ Expected Return ซึ่งคำนวณมาจาก Win-Lose Ratio และ Reward-Risk Ratio
สูตร
E(R) = (%Win x Average Profit) (%Lose x Average Loss)
โดยระบบที่มีประสิทธิภาพในการทำกำไร ค่า E(R) หรือ Expected Return ต้องมากกว่า ศูนย์
พิสูจน์สูตรได้ดังนี้
สมมติ ระบบที่ 1 ให้ผลการทดสอบดังนี้
Win-Lose Ratio = 50:50 Reward-Risk Ratio = 1:1
ระบบที่ 1 นี้ หากมองตัวเลขง่ายๆ โดยไม่ต้องคำนวณเลย ท่านก็รู้ได้ว่า เจ๊า หากเข้าสูตรคำนวณก็จะได้ดังนี้
E(R) = (50% x 1) (50% x 1) = 0
ถ้าระบบที่ 2 ให้ผลการทดสอบดังนี้
Win-Lose Ratio = 40:60 Reward-Risk Ratio = 1.5:1
หากมองตัวเลขง่ายๆ ก็จะรู้ว่า เจ๊า เหมือนกัน หากคำนวณสูตรก็จะได้ดังนี้
E(R) = (40% x 1.5) (60% x 1) = 0
ค่าผลตอบแทนที่คาดหวัง หรือ E(R) ที่คำนวณได้ จะเป็นค่าผลตอบแทนเฉลี่ยต่อไม้ที่เราคาดหวังจาก ระบบ ที่เราใช้คำนวณ
ต่อมาหากต้องการเปรียบเทียบว่าระบบที่เราใช้เทรด ระบบใดให้ประสิทธิภาพในการทำกำไรได้ดีที่สุด ก็นำมาจัดเรียงค่า E(R) ที่เราคำนวณได้ เราก็จะมองภาพออกว่าเครื่องมือใดดีกว่ากัน
ส่วนค่า E(R) เท่าใดเป็นค่าที่เหมาะสม คงให้เป็นตัวเลขแน่ชัดไม่ได้ เนื่องจากขึ้นอยู่กับเทรดเดอร์แต่ละท่านมากกว่าว่าหวังผลตอบแทนที่คาดหวังมากน้อยต่างกันอย่างไร
และถึงแม้ว่า Win-Lose Ratio ที่คำนวณได้จะต่ำมาก เช่นแค่ 20:80 แต่ระบบสามารถทำ Reward-Risk ได้สูงมาก คือมากกว่า 4:1 ระบบนี้ก็สามารถสร้างกำไรให้เทรดเดอร์ได้ เนื่องจาก Expected Return มันมากกว่า 0 นั่นเอง
ในทางกลับกัน หากระบบของเรามีความแม่นยำมาก ให้ Win-Lose Ratio ถึง 90:10 แต่กลับมี Reward-Risk ที่ต่ำมาก ต่ำกว่า 0.11:1.0 ระบบนี้ก็ทำให้เทรดเดอร์ขาดทุนได้
แต่ถ้าเราสามารถทำให้ Win-Lose และ Reward-Risk มีค่าที่สูงๆ ได้ ในเวลาพร้อมกัน ระบบนั้น จะเป็นระบบที่สมบูรณ์แบบมากครับ
วันนี้เขียนยาวมากอีกเช่นกัน หวังว่าคงจะไม่เบื่อครับ
หมากเขียว
http://www.bloggang.com/mainblog.php?id=mhakkeaw&month=06-03-2010&group=23&gblog=8
จากคุณ |
:
sandee.kung
|
เขียนเมื่อ |
:
7 มี.ค. 53 05:23:17
|
|
|
|
|