สอนสร้างระบบเทรด TFEX เริ่มจาก 0 <<คนไม่มีพื้นฐานเขียนโปรแกรมก็ทำได้>>

<<< ต่อจากกระทู้ >>>  ประกาศ! นักลงทุนสามารถใช้หุ่นยนต์เทรด TFEX ผ่าน Streaming ได้แล้วนะครับ

https://pantip.com/topic/40173451



          หลังจากที่ตั้งกระทู้ไป ได้มีคนติดต่อหลังไมค์มาเพื่อต้องการใช้งานเป็นจำนวนมาก พวกเราจึงได้ทำการพูดคุยกับนักลงทุนจำนวนหนึ่งเพื่อสอนวิธีใช้ แต่กลับพบปัญหา คือ คนส่วนใหญ่ยังไม่พร้อมใช้งานหุ่นยนต์เทรด ดังนั้น เพื่อทำให้ทุกคนมีความพร้อม เราจะมาอธิบายถึงวิธีการสร้างระบบเทรด TFEX ตั้งแต่คนที่ไม่มีพื้นฐานด้านนี้เลย จนสามารถใช้งานหุ่นยนต์เทรดได้ ภายใต้ Concept คือ ต้อง “ง่าย” และ “มีประสิทธิภาพที่สุด” นอกจากนี้เราจะแจกฟรี! คู่มือและข้อมูลที่ใช้ในการสร้างหุ่นยนต์เทรด ถ้าพร้อมแล้วเราขอให้ทุกท่านสละเวลาอ่านบทความนี้ให้จบ และติดตามพวกเราอย่างต่อเนื่อง แล้วท่านจะเป็น 1 ในคนที่สามารถใช้งาน Robot Trade ผ่าน Streaming ได้ ทั้ง TFEX ในปัจจุบันและหุ้นในอนาคต

รูปแสดง Process การใช้หุ่นยนต์เทรดผ่าน Streaming



          ก่อนอื่นต้องทำความเข้าใจก่อนว่า โปรแกรม Streaming เป็นเพียงแค่ “ทางผ่าน” ในการส่งคำสั่งเท่านั้น แปลว่าหากทุกท่านต้องการส่งคำสั่งแบบอัตโนมัติ (Algo Trade) จะต้องหาโปรแกรมอื่น มาเพื่อสร้าง “Signal Trade” ในการกำหนดจุดซื้อ-ขาย โดยทาง SETTRADE ได้เปิดช่องทางส่งคำสั่งแบบอัติโนมัติ (API) ขึ้นมาโดยเฉพาะ และอนุญาตให้ใช้โปรแกรมเชื่อมต่อได้เพียง 3 โปรแกรม คือ Excel, Python, และ Amibroker และนี่แหละ คือปัญหาใหญ่ที่สุดที่เราเจอ นักลงทุนไม่สามารถเขียน Signal ขึ้นมาได้เลยสักโปรแกรม ดังนั้น ในวันนี้เราจะมาสอนเกี่ยวกับโปรแกรมเพื่อให้ทุกคนสามารถสร้างสัญญาณซื้อขายได้ด้วยตนเอง     

แล้วใช้โปรแกรมตัวไหนดี ? เม่าอ่าน

          ทุกท่านคงรู้จักกับ Excel และเคยได้ยินโปรแกรม Python มาบ้างแล้ว โดย Excel จะมีข้อดี คือ ทุกคนได้ใช้งานกันอยู่ในอยู่ชีวิตประจำวัน จึงคุ้นเคยกันเป็นอย่างดี แต่การที่ถูกออกแบบมาให้แสดงผลอยู่ในช่องตารางสี่เหลี่ยมนี่เอง จึงทำให้ “ไม่สามารถประมวลผลได้อย่างมีประสิทธิภาพ” ส่วน Python ถึงแม้จะมีความยืดหยุ่นสูง,ประมวลผลได้รวดเร็ว แต่คนธรรมดาก็ไม่สามารถใช้งานได้ เพราะ “ต้องใช้ความรู้ด้านเขียนโปรแกรมขั้นสูง” แล้วพวกท่านสังเกตไหม ว่ายังเหลืออีกหนึ่งโปรแกรม ที่พวกเราแทบจะไม่เคยได้ยินกัน คือ Amibroker ดังนั้น มันจึงน่าสงสัยใช่ไหมครับ ว่าทำไม SETTRADE ถึงนำโปรแกรมนี้มาเป็น 1 ใน 3 ตัวเลือก เรามาลองดูคำตอบกัน

Amibroker คือโปรแกรมอะไร ?

          เป็นโปรแกรมกราฟหุ้นตัวหนึ่งที่นักลงทุนสาย Quant นิยมใช้มากที่สุดในโลก เพราะมันถูกสร้างขึ้นมาเพื่อ “การวิเคราะห์เชิงปริมาณสำหรับตลาดหุ้นโดยเฉพาะ” ซึ่งจะแสดงข้อมูลที่ใช้ในการเทรดอย่างครบถ้วน และข้อดีที่สุดของโปรแกรมนี้ คือ “มันถูกออกแบบมาให้คนไม่มีทักษะเขียนโปรแกรมสามารถใช้งานได้” โดยคนสร้างโปรแกรมเขาได้เปลี่ยนภาษาคอมให้กลายเป็นภาษาคน เพื่อให้นักการเงินสามารถเรียนรู้ได้โดยไม่ต้องพึ่งพาความรู้เรื่องเขียนโปรแกรม นอกจากนี้ตัวโปรแกรมยังเปิดให้โหลดตัวทดลองมาใช้งานกันแบบ “ฟรี” อีกด้วย ซึ่งฟังก์ชันแทบทุกอย่างสามารถใช้งานได้เหมือนของแท้ และด้วยเหตุผลทั้งหมด จึงทำให้พวกเรามั่นใจว่า มันคือโปรแกรมที่ “เหมาะสมกับรายย่อยมากที่สุด” โดยเรามาทำความเข้าใจกันต่อจากนี้

รูปแสดงหน้าตาของกราฟจากโปรแกรม Amibroker 


          จากรูปจะสังเกตว่า หน้าตาของโปรแกรมมีการแสดงผลเหมือนกับกราฟหุ้นทั่วไป ที่ทุกคนคุ้นเคยในการใช้งานจากโปรแกรมอื่น เช่น E-finance หรือ Aspen แต่ AmiBroker จะมีคุณสมบัติพิเศษเพิ่มเข้ามา คือฟังก์ช้น “BackTest” ที่จะทำให้นักลงทุนสามารถรู้ได้ว่า เครื่องมือหรือ Indicator ที่ใช้เป็นสัญญาณซื้อขายมีประสิทธิภาพเพียงใด โดยกดไปที่เมนู Formular (Icon ในกรอบสีแดง) โปรแกรมจะขึ้นหน้าจอเพิ่มเข้ามา ดังนี้

[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้

รูปแสดงหน้าจอการเขียนโปรแกรมใน AmiBroker 


มันเป็นหน้าจอกระดาษเปล่าสีขาว … !!?? เม่าตาสว่าง

            ใช่ครับ ตัวโปรแกรมจะขึ้นหน้ากระดาษสีขาวมาให้เราเขียนคำสั่ง Logic ที่อยากจะ BackTest ลงไป … ซึ่งตรงนี้แหละครับ ที่มันเป็นจะจุดสำคัญในตัดสินว่าใครจะไปต่อก็ไม่ไปต่อในเรื่องนี้ เพราะหากพอพูดถึงเรื่อง “เขียนโปรแกรม” แล้ว นักลงทุนมากกว่าครึ่ง คงคิดว่าตัวเองน่าจะไม่มีคุณสมบัติในการใช้หุ่นยนต์เทรดอีกต่อไป เนื่องจาก “เขียนไม่เป็น” แต่นี้คือเรื่องที่เข้าใจผิดเป็นอย่างมาก เพราะ ทุกคนกำลังมโนเรื่องเขียนโปรแกรมยากเกินความเป็นจริง โดยอย่างที่กล่าวไปว่า คนสร้างโปรแกรมเขาย่อมทราบดีว่า มันคืออุปสรรคที่ใหญ่ที่สุด ดังนั้น เขาจึงได้ “สร้าง Code สำเร็จรูป” เพื่อรองรับให้กับคนที่ไม่มีพื้นฐานด้านเขียนโปรแกรม สามารถทำความเข้าใจและใช้งานได้ในเวลาแค่ไม่กี่นาที … เราเข้าใจว่ามันคงเป็นเรื่องที่ยากจะเชื่อใช่ไหมครับ ดังนั้น เราจะพาทุกท่านมาพิสูจน์กันผ่านรูปด้านล่าง

[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้

รูปแสดงตัวอย่างการเขียนโปรแกรมใน AmiBroker


        จากรูปจะเห็นว่า เรา Coding ลงไปเพียง 2 บรรทัด โดย 2 บรรทัดนี้ ยังเป็นคำสั่งแบบที่ใช้ “Common Sense” ในการเขียน อย่าง 

Buy = Cross(MACD,0)  ซึ่งแปลได้ว่า “จะซื้อก็ต่อเมื่อเกิดการตัดกันของ MACD กับ 0 (MACD ตัด 0 ขึ้น)” และ 

Sell = Cross(0,MACD) คือ “จะขายเมื่อเกิดการตัดกันของ 0 กับ MACD (MACD ตัด 0 ลง)” นั่นเอง

 จากนั้นให้ทำการกดไปที่เมนู BackTest (ในกรอบสีแดง) โปรแกรมก็จะประมวลผลออกมา
            
รูปแสดงหน้าจอผลลัพธ์ของการซื้อ-ขายด้วย MACD ตัด 0 ในช่วง 1 ปีที่ผ่านมา (Time Flame 15 นาที)


จากรูป ด้านซ้ายมือเป็นผลลัพธ์*ที่เกิดจากการเปิด Long ในทุกๆ ครั้งที่ MACD ตัด 0 ขึ้น และปิด Long ในทุก ๆ ครั้งที่ MACD ตัด 0 ลง ตลอดปีนี้(2020) โดยมีจำนวนการเทรดทั้งหมด 50 ครั้ง และได้กำไรสุทธิออกมา 42 จุด ดังนั้น จึงตีความได้ว่า ในปีนี้หากใครที่เทรดตาม MACD ในราย 15 นาทีทุกประการ(เฉพาะขา Long) จะได้กำไรสุทธิ 42 จุด  จากนั้นเมื่อทำการกดไปที่เมนู Result (กรอบสีแดง) โปรแกรมจะขึ้นโชว์ Stat ทั้งหมดที่จอด้านขวา โดยเราจะสามารถรู้ค่าสถิติทุกอย่างของกลยุทธ์นี้ ทั้งกำไรสุทธิรวม, %ความแม่นยำ, กำไร/ขาดทุนเฉลี่ยต่อครั้ง ตลอดจน Max Drawdown ที่เป็นตัวแทนความเสี่ยงที่นักพัฒนาระบบใช้ในการเผื่อการวางเงินประกัน โดยกระบวนการทั้งหมดนี้จะใช้เวลาเพียงไม่ถึง 1 นาที และนี่คือ ความได้เปรียบของคนที่อยู่ในสายเชิงปริมาณ (Quantitative)

*ข้อมูลที่ใช้มีการกำหนดเงื่อนไขให้สมจริงมากที่สุด โดยการใช้ค่าธรรมเนียมลงไปที่ 40 บาทหรือ 0.2 จุด/ขา และอ้างอิงจากราคาเปิดของแท่งถัดไปหลังเกิดสัญญาณ โดยการ Coding ในส่วนนี้จะถูกพูดถึงในภายหลัง
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่