วิธี backtest forex เป็นยังไง แนะนำโปรแกรม backtest forex ฟรีปี 2024
การสร้างระบบเทรดหรืออินดิเคเตอร์ส่งสัญญาณซื้อขายอาจไม่ใช่เรื่องยาก แต่การสร้างระบบเทรดที่ทำกำไรได้ในระยะยาวต่างหากที่ไม่ใช่เรื่องง่าย แล้วนักเทรดสายเทคนิคจะทราบได้อย่างไรว่าระบบเทรดที่สร้างขึ้นนั้นทำกำไรได้จริงหรือเปล่า ซึ่ง Backtest Forex คือตัวช่วยที่ทำให้นักเทรดสามารถประเมินความสามารถในการทำกำไรของระบบที่สร้างขึ้นได้ คราวนี้เราจะมาทำความรู้จักวิธี backtest forex และ โปรแกรม backtest forex ฟรี ด้วยกัน ตามมาดูกันเลย
Backtest forex ทำงานอย่างไร
Backtest คือ วิธีทดสอบความสามารถในการทำกำไรของระบบเทรดด้วยข้อมูลย้อนหลัง (Historical Data) ด้วยเป้าหมายที่ต้องการรู้ว่าระบบเทรดที่ทดสอบนั้นจะทำงานอย่างไรในสถานการณ์ราคาที่เคยเกิดขึ้น บนสมมติฐานที่ว่าหากระบบเทรดนี้สามารถทำงานได้ดีกับข้อมูลราคาในอดีต ก็มีแนวโน้มที่ระบบนี้จะใช้งานได้ดีกับข้อมูลราคาที่จะเกิดขึ้นในอนาคต
ขั้นตอนทั้งหมดของการ Backtest ประกอบด้วย
การกำหนดกลยุทธ์เทรดเพื่อสร้างเป็นระบบเทรด
เลือกข้อมูลในอดีต (Historical Data) ที่จะนำมาทดสอบ
ทำการทดสอบระบบเทรด
บันทึกผลการทดสอบ
วิเคราะห์และตีความผลการทดสอบที่ได้
ปรับปรุงระบบเทรดให้เพิ่มความสามารถในการทำกำไรและลดความเสี่ยงมากที่สุดเท่าที่จะทำได้
ลองนำระบบเทรดที่ผ่านการปรับปรุงแล้วไปใช้สำหรับการเทรดต่อไป
วิธี Backtest forex เป็นยังไง
การเริ่มต้นทำ Backtest จำเป็นต้องสร้างระบบเทรดขึ้นมาก่อน ซึ่งอาจทำได้ง่าย ๆ จากการใช้อินดิเคเตอร์ที่มีอยู่แล้ว หรือการคิดปรับแต่งขึ้นมาใหม่ก็ได้ ซึ่งระบบนี้ต้องมีการระบุเงื่อนไข
สินทรัพย์ที่จะใช้เทรด
Timeframe ที่ต้องการใช้
กลยุทธ์ที่ต้องการใช้เป็นตัวส่งสัญญาณ
ด้วยการกำหนดเงื่อนไขเหล่านี้ระบบเทรดที่ทดสอบจะมีการระบุตัวเลขเชิงปริมาณ (Quantitative) ได้อย่างชัดเจน ทำให้นักเทรดสามารถทดสอบและพิสูจน์ความแม่นยำของระบบนี้ด้วยข้อมูลย้อนหลังและนำไปใช้ในอนาคตได้อย่างคงเส้นคงวา
◆ ตัวอย่างเช่น
การ Backtest Forex คู่เงิน EURUSD ช่วงเวลา 5 นาที ด้วยการใช้ SMA(5) ระยะสั้นตัด SMA(20) ระยะยาวขึ้นเป็นสัญญาณซื้อ และหาก SMA(5) ระยะสั้นตัด SMA(20) ระยะยาวลงเป็นสัญญาณขาย และตัดขาดทุนที่ -20% ซึ่งด้วยการกำหนดเงื่อนไขนี้จะทำให้นักเทรดมีจุดเข้าซื้อและจุดขายที่แม่นยำสามารถกำหนดความเสี่ยงและผลตอบแทนที่คาดหวังเป็นตัวเลขเชิงปริมาณได้
แนะนำโปรแกรม backtest forex ฟรีปี 2024
โดยทั่วไปแล้วการทำ Backtest อาศัยการเขียนโปรแกรมด้วยภาษาเฉพาะ เช่น ภาษา C, Python, AFL, MQL4, Pine Script เพื่อสร้างเงื่อนไขและนำไปทดสอบกับข้อมูลในอดีต ซึ่งทำให้สามารถทดสอบกับข้อมูลจำนวนมากได้ในเวลาไม่นาน อย่างไรก็ดีสำหรับนักเทรดที่ต้องการ Backtest ได้ในเวลาอันสั้นและไม่ต้องการศึกษาภาษาอื่นเพิ่มเติม ตัวเลือกสำหรับการ Backtest อย่างง่ายที่สามารถใช้ได้ได้แก่
1. Excel/ Google Sheet
เป็นเครื่องมือ Spreadsheet ที่ช่วยให้นักเทรดจัดการข้อมูล (Data) ต่าง ๆ การ Backtest ทำได้ด้วยการโหลดข้อมูลเข้าสู่ Spreadsheet และสร้างเงื่อนไขให้โปรแกรมส่งค่าที่ต้องการทราบกลับมาให้
สมมติด้วยการ Backtest forex คู่เงิน EURUSD ระดับวัน หาก SMA(5) ตัด SMA(20) ขึ้น เป็นสัญญาณซื้อ และหาก SMA(5) ตัด SMA(20) ลงเป็นสัญญาณขาย ด้วยข้อมูลที่นำมาทดสอบตั้งแต่วันที่ 1 มกราคม – 30 พฤศจิกายน 2023 สามารถโหลดข้อมูลและสร้างสูตรคำนวณ SMA(5) และ SMA(20) ได้ตามรูป
ใน Spreadsheet มีการเพิ่มเงื่อนไขในคอลัม E หาก SMA(5) > SMA(20) ให้คืนค่าเป็น 1 และหาก SMA(5) < SMA(20) ให้คืนค่าเป็น 0 ด้วยสูตร =IF(C21-D21>0, 1,0)
ในคอลัม F ระบุการเข้าเปิดสถานะด้วยสูตร = IFS(E22-E23=0, "hold", E22-E23=1, "-1", E22-E23=-1, "1") หากส่วนต่างของ SMA(5) และ SMA(20) ไม่เปลี่ยนให้คืนค่า “hold” หาก SMA(5)ตัด SMA(20)ลง ให้คืนค่า -1 และ SMA(5)ตัด SMA(20)ขึ้น ให้คืนค่า 1 จากนั้นใช้ค่า 0, 1 และ -1 จากคอลัมน์นี้ในการคืนค่าราคาปิดและสถานะซื้อ (1) ขาย (-1) เพื่อนำมาสรุปเป็นผลกำไร/ขาดทุนที่จะเกิดขึ้นในคอลัมน์ G
เมื่อรวมค่าออกมาแล้วระบบนี้จะสามารถทำกำไรได้ 0.02197 x จำนวน lot ที่ทำรายการ เป็นต้น
การใช้ Spreadsheet สามารถใช้ฟังก์ชั่นเบื้องต้นที่มีอยู่ในโปรแกรมโดยไม่ต้องเขียนเงื่อนไขที่สลับซับซ้อนเพิ่ม แต่หากต้องการใช้ฟังก์ชันที่ซับซ้อนขึ้นก็อาจต้องใช้ภาษา Dax เพิ่ม และอาจไม่สามารถใช้กับข้อมูลขนาดใหญ่ที่หากต้องลงรายละเอียดใน Timeframe รายนาทีก็จะทำให้การประมวลผลช้าลง
2. TradingView
TradingView เป็นเครื่องมือจัดการข้อมูลจำนวนมหาศาลของนักเทรดและนักลงทุน และรองรับการ Backtest Forex ในส่วนของ Strategy Tester และมีกลยุทธ์ให้ทดลองใช้เป็นแพ็กเกจโดยไม่ต้องเขียนเอง เช่น กลยุทธ์ BarUpDn ที่ยกมาในคราวนี้
กลยุทธ์ BarUpDn สร้างเงื่อนไขการเข้าซื้อเมื่อกราฟแท่งเทียนปัจจุบันเป็นสีขียว (ราคาปิดสูงกว่าราคาเปิด) และมีราคาเปิดสูงกว่าราคาปิดของแท่งเทียนก่อนหน้า ในทางตรงกันข้ามจะขายเมื่อเกิดแท่งเทียนสีแดง (ราคาปิดต่ำกว่าราคาเปิด) และราคาเปิดต่ำกว่าราคาปิดของแท่งเทียนก่อนหน้า โดยเลือกทดสอบกับ EURUSD ระดับวันเช่นเดียวกัน โดยใช้ข้อมูลทดสอบย้อนหลัง 1 ปี
TradingView จะมีการสรุปข้อมูลให้เลยว่าผลกำไรจากกลยุทธ์นี้จะขาดทุน 3.84% มีการเทรด 1,261 ครั้ง, มีครั้งที่เทรดได้กำไร (Winning Rate) 38.94%, ผลขาดทุนมากที่สุดเกิดขึ้น -5.74% ฯลฯ ซึ่งแม้ผลการเทรดจะไม่เป็นที่น่าพอใจ แต่นักเทรดสามารถปรับแต่งเงื่อนไขอื่น ๆ หรือหาสินทรัพย์อื่น ๆ ที่เหมาะกับกลยุทธ์นี้มากกว่าได้
ตัวชี้วัดผลการ Backtest
การ Backtest ที่ละเอียดจะสามารถให้ข้อมูลตัวเลขที่บอกความสามารถในการทำกำไรและความทนทานต่อความเสี่ยงและผลขาดทุนที่เกิดขึ้นจากระบบเทรดที่นำมาทดสอบ และนี่คือตัวเลขที่นักเทรดควรให้ความสำคัญ
ผลตอบแทนสะสม
เป็นผลกำไร/ขาดทุนทั้งหมดที่เกิดขึ้นในช่วงเวลาที่ทำ Backtest หากต้องการนำผลตอบแทนสะสมมาเปรียบเทียบกับสินทรัพย์หลาย ๆ ตัวควรใช้ผลตอบแทนสะสม (%) ต่อปี เพื่อให้สามารถเปรียบเทียบกันได้
ความผันผวนของผลตอบแทน
ระบบเทรดในอุดมคติควรให้ผลตอบแทนเป็นบวกได้อย่างสม่ำเสมอนั่นคือมีผลตอบแทนเป็นบวกและมีความผันผวนต่ำ ซึ่งสามารถสังเกตได้จากตัวเลขนี้ แต่หากระบบสามารถให้ผลตอบแทนสูงแต่มีความผันผวนของผลตอบแทนสูงด้วยก็อาจไม่ใช่ระบบที่เสถียรนัก
ผลตอบแทนต่อความเสี่ยง (Sharpe Ratio)
ซึ่งคำนวณได้แบบคร่าว ๆ จากการใช้ผลตอบแทน (Rate of Return) ที่เกิดขึ้นจากการทดสอบหารด้วยส่วนเบี่ยงเบนมาตรฐาน (Standard Diviation) ที่เป็นตัวชี้วัดความเสี่ยงที่เกิดขึ้น ยิ่ง Sharpe มีค่าสูง แสดงว่าผลตอบแทนมีสูงเมื่อเทียบกับความเสี่ยง ซึ่งแสดงถึงประสิทธิภาพของระบบเทรด
ผลขาดทุนสูงสุดที่เกิดขึ้นได้ (Maximum drawdown)
วัดจากผลขาดทุนสูงสุดที่เกิดขึ้นในช่วงเวลาที่ทำ Backtest ซึ่งเป็นตัวชี้วัดว่าหากเกิดเหตุการณ์เหมือนในช่วงที่นำข้อมูลมา Backtest นั้นเงินทุนทั้งหมดจะสามารถขาดทุนลงไปได้มากที่สุดเท่าไหร่ ซึ่งตรงนี้เป็นจุดที่ทำให้เห็นความทนทานของระบบเทรด ระบบเทรดที่ดีไม่ควรทำให้ผลขาดทุนสูงสุดของเงินทุนทั้งหมดลงไปต่ำมาก
การเปรียบเทียบ Backtest vs Forward Trade Testing
การทำ Backtest สามารถทำให้เห็นความสามารถในการทำกำไรแบบคร่าว ๆ ของระบบเทรดได้ แต่ก็มีข้อจำกัดในด้านข้อมูลที่นำมาใช้เป็นข้อมูลในอดีตที่อาจไม่สามารถเป็นตัวแทนของเหตุการณ์ที่จะเกิดขึ้นในอนาคตได้ การ Forward Trade Testing จึงเป็นอีกหนึ่งวิธีที่นักเทรดนำมาใช้ ด้วยการใช้เงินจำนวนน้อย ๆ หรือบัญชีทดลอง (Demo Account) เพื่อใช้ในการทดสอบระบบเทรดกับข้อมูลจริงที่เกิดขึ้นในระยะเวลาหนึ่ง ซึ่งนักเทรดสามารถใช้เป็นตัวเลือกเพื่อเพิ่มความมั่นใจให้กับระบบเทรดที่จะนำไปใช้ได้
สรุป
บทความนี้เราได้พาเพื่อนมาทำความรู้จักับวิธี backtest forex และ โปรแกรม backtest forex ฟรี Backtest Forex เป็นเครื่องมือสำคัญสำหรับนักเทรดสายเทคนิคที่ช่วยให้นักเทรดได้เห็นภาพรวมความสามารถในการทำกำไรของระบบเทรด ทั้งด้านความสามารถในการทำกำไร ความทนทานต่อความเสี่ยง และความผันผวนของผลกำไรที่อาจเกิดขึ้น และช่วยให้นักเทรดมั่นใจกับระบบเทรดที่เลือกนำมาใช้ได้ในที่สุด
*** ลงทุนมีความเสี่ยง ในการเทรด CFD ท่านไม่ได้เป็นเจ้าของของสินทรัพย์อ้างอิงใดๆ และอาจไม่เหมาะสมสำหรับนักลงทุนทุกท่าน ซึ่งอาจส่งผลให้ท่านสูญเสียเงินลงทุนขั้นต้น เพื่อเข้าใจถึงความเสี่ยงที่อาจเกิดขึ้นท่านควรพิจารณา เอกสารเปิดเผยข้อมูลความเสี่ยง ก่อนที่จะใช้บริการของเรา
การลงทุนมีความเสี่ยง เนื้อหาของบทความนี้ใช้สำหรับการอ้างอิงเท่านั้น ผู้ลงทุนควรศึกษาข้อมูลก่อนการตัดสินใจลงทุน