สร้างระบบเทรดอัตโนมัติของตนเองเเบบ Step by Step Part 1

บทความนี้เป็นบทความตามผลการโหวตแนะนำบทความจากบทความ 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