บทความนี้เป็นบทความตามผลการโหวตแนะนำบทความจากบทความ Algorithmic Trading 101 โดยเราหวังว่าคุณจะเข้าใจพื้นฐานของ Algorithm Trade หุ้น และ ผลกำไรก่อน ถ้าพร้อมเเล้วไปเริ่มสร้างระบบเทรดหุ้นจากพื้นฐาน บทความนี้จะอธิบายทุก ๆ ขั้นตอนที่จำเป็นในการสร้างระบบเทรด เราจะใช้เครื่องมือเทรดที่เราชอบที่สุด คือ Amibroker ในการสร้างระบบเทรดอัตโนมัติ
ความรู้ที่ควรมีก่อน:
- ความรู้เทคนิคการวิเคราะห์
- ประสบการณ์ในการใช้งาน Amibroker และ AFL Coding
สอนการใช้งาน Amibroker คลิก
ขั้นตอนที่ 1: กำหนดแผนการเทรดของคุณ
ขั้นตอนแรกเป็นการสร้าง Checklist Parameters ตามที่คุณจะตัดสินใจในการซื้อขาย Parameters ที่เลือกควรเป็นสิ่งที่มาสร้างเป็น Algorithm ได้ โดยหลีกเลี่ยงความรู้สึกในการซื้อขาย หรือ การเก็งกำไร อาจจะทำได้ง่าย ๆ เพียงการตัดสินใจตามเวลา เช่น การซื้อหุ้นในวันเเรกของทุกเดือน หรือ การตัดสินใจโดยเทคนิค เช่น การเติบโตของ Trendline ที่เพิ่มขึ้น นอกจากนี้คุณควรวางแผนจำนวนเงินลงทุนสำหรับแต่ละการลงทุนตลอดเวลาในการซื้อขายตลอดจน stoploss และ เป้าหมายของคุณคุณควรตรวจสอบความถูกต้องกับกลุ่มหุ้นว่าสามารถใช้งานได้จริงหรือไม่ ขั้นตอนตอนนี้มีความสำคัญมากก่อนที่คุณจะก้าวสู่ขั้นตอนถัดไป หากแผนคุณทำงานได้ 50% ของเวลาทั้งหมด เท่ากับว่าคุณจะมีอัตราส่วนความเสี่ยงต่อการชนะอยู่ที่ 1:2 ก็เริ่มแปลงมันเป็น Algorithm ได้
ขั้นตอนที่ 2: แปลงแนวคิดของคุณให้เป็นAlgorithm
จากนั้น คุณควรเริ่มเขียนโค้ดสำหรับแผนการซื้อ code อย่างไรที่จะทำให้คอมพิวเตอร์สามารถเข้าใจ logic ใน ซื้อ / ขายของคุณ เราจะใช้ Amibroker Formula Language (AFL) สำหรับเขียน Trading Algorithm เป็นภาษาการเขียนโปรแกรมระดับสูงและง่ายมากที่จะเข้าใจ ถ้าคุณเริ่มต้นจากพื้นฐาน แม้กระทั่งคนที่ไม่เคยเขียนโปรแกรมมาก่อนที่ก็สามารถเรียนรู้ AFL ได้ และหลีกเลี่ยงการใช้จ่ายแพงที่ไม่จำเป็นในการซื้อ AFL สำเร็จรูป บทความจะนี้สอน AFL ตั้งแต่เริ่มต้น สมมุติว่าคุณซื้อขายกันตามค่าเฉลี่ยการครอสโอเวอร์แบบเสี้ยวรายวัน คุณจะซื้อหุ้นเมื่อ 50 EMA ผ่าน 200 EMA จากด้านล่าง และ ขายเมื่อ 50 EMA ผ่าน 200 EMA จากด้านบน เพื่อความง่ายให้พิจารณาว่าเป็นกลยุทธ์การซื้อเท่านั้น ด้านล่างนี้เป็นโค้ด AFL แบบง่าย ๆ สำหรับ logic นี้
_SECTION_BEGIN(“Simple Algorithmic Trading System”); //Parameters MALength1 = 50; MALength2 = 200; //Buy-Sell Logic Buy = Cross(ema( C, MALength1 ),ema( C, MALength2 )); Sell =Cross( ema( C, MALength2 ), ema( C, MALength1 )) ; Buy = ExRem( Buy, Sell ); Sell = ExRem( Sell, Buy ); Plot( Close, “Price”, colorWhite, styleCandle ); Plot(ema( C, MALength1 ),”FastEMA”,colorWhite); Plot(ema( C, MALength2 ),”SlowEMA”,colorBlue); _SECTION_END();
ขั้นตอนที่ 3: ทำ Backtest
การทำ Backtesting เป็นกระบวนการในการตรวจสอบประสิทธิภาพของ Algorithm ของคุณเกี่ยวกับข้อมูลย้อนหลัง สิ่งที่คล้ายกับสิ่งที่คุณทำในขั้นตอนที่ 1 Amibroker มีเครื่องมือที่มีประสิทธิภาพมากในการทำ backtest ซึ่งสามารถทำได้ในไม่กี่วินาที คุณเพียงแค่ต้องนำเข้าข้อมูลประวัติย้อนหลังของ Script ที่คุณชื่นชอบลงใน Amibroker คลิกลิงก์นี้เพื่อดาวน์โหลดข้อมูล Intraday 1 นาทีสำหรับ Nifty และ Banknifty
ในการทำ backtest EMA Crossover เราจะใช้ NSE Nifty เป็นเอกสารที่ต้องการโดยมีทุนจดทะเบียนเริ่มต้น 92,000 บาท ในราคาของปี 2018 สมมุติว่าเราซื้อ 2 ล็อต (150 nos) ต่อรายการ เมื่อทำตามขั้นตอนนี้คุณจะได้รับรายงานโดยละเอียดซึ่งรวมถึง CAGR รายปีการเบิกจ่ายรายได้ / ขาดทุนสุทธิ
Backtesting your Trading ideas in Amibroker
คุณสามารถอ่านพารามิเตอร์ต่างๆในรายงานผลการทดสอบ Amibroker Backtest report here.ได้จากตารางด้านล่าง
Parameter | Value |
Nifty | |
Initial Capital | 200000 |
Final Capital | 1037655 |
Backtest Period | 26-Mar-2002 to 23-July-2016 |
Net Profit % | 418.83% |
Annual Return % | 10.45% |
Number of Trades | 11 |
Winning Trade % | 54.55% |
Average holding Period | 227.91 days |
Max consecutive losses | 2 |
Max system % drawdown | -33.24% |
Max Trade % drawdown | -29.94% |
ผลลัพธ์ ไม่เลว แต่ยังมีการปรับปรุงอีกเล็กน้อย ทั้งนี้ ต้องคำนึงถึงความเสี่ยงด้วย เพราะระบบจะทำงานไปเรื่อย ๆ หากเราไม่หยุดอาจจะมีผลกับนักลงทุนรายย่อยที่ทุนไม่มากนัก
สรุปความรู้ที่ได้รับ
- การเขียน AFL
- การประยุกต์ใช้ประสบการณ์ในเทรดมาแปลงเป็นระบบเทรดอัตโนมัติ
ใน Part 2 เราจะมาลองปรับพารามิเตอร์ระบบดูครับ โปรดติดตามตอนต่อไป
หากไม่อยากรอต่อ Part 2
คอร์ส FINANCIAL ENGINEERING BOOTCAMP ที่จบมาสร้างระบบเทรดหุ้นได้จริง
"Boothcamp สำหรับคลาส Financial Engineering ครั้งแรกในเมืองไทย ใครอยากรู้เรื่อง Quant ที่ผู้เรียนจะได้ คำแนะนำวินัยการลงทุนที่เคร่งครัด, ไม่ต้องเฝ้าหน้าจอหลายจอ เพื่อดูหุ้นหลายตัวให้เหมื่อย และ การกระจายความเสี่ยง จากการเลือกลงทุนได้หลายกลยุทธ์
รายละเอียดเพิ่มเติมและสมัครที่นี่
หลักสูตรนี้เรียนกันทั้งหมด 10 ครั้ง รวม 30 ชั่วโมง จบมาทำงานได้จริง!!! สอบถามเพิ่มเติมได้ที่เพจ LEAN upskill
You must be logged in to post a comment.