ห้องเม่าปีกเหล็ก

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

โดย TFEXFORFUTURE
เผยแพร่ :
66 views

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

https://www.stock2morrow.com/discuss/topic/%E0%B8%AB%E0%B9%89%E0%B8%AD%E0%B8%87%E0%B9%80%E0%B8%A1%E0%B9%88%E0%B8%B2%E0%B8%9B%E0%B8%B5%E0%B8%81%E0%B9%80%E0%B8%AB%E0%B8%A5%E0%B9%87%E0%B8%81/%E0%B8%9B%E0%B8%A3%E0%B8%B0%E0%B8%81%E0%B8%B2%E0%B8%A8-%E0%B8%99%E0%B8%B1%E0%B8%81%E0%B8%A5%E0%B8%87%E0%B8%97%E0%B8%B8%E0%B8%99%E0%B8%AA%E0%B8%B2%E0%B8%A1%E0%B8%B2%E0%B8%A3%E0%B8%96%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%AB%E0%B8%B8%E0%B9%88%E0%B8%99%E0%B8%A2%E0%B8%99%E0%B8%95%E0%B9%8C%E0%B9%80%E0%B8%97%E0%B8%A3%E0%B8%94-tfex-%E0%B8%9C%E0%B9%88%E0%B8%B2%E0%B8%99-streaming-%E0%B9%84%E0%B8%94%E0%B9%89%E0%B9%81%E0%B8%A5%E0%B9%89%E0%B8%A7%E0%B8%99%E0%B8%B0%E0%B8%84%E0%B8%A3%E0%B8%B1%E0%B8%9A

 

 

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

ความหมายชองการทำ Back Test  เจ้าเริงร่า
 
                Back Test หมายถึง การที่นักลงทุนต้องการทดสอบว่าเครื่องมือที่ใช้เป็นสัญญาณให้จังหวะซื้อ-ขายนั่นมีประสิทธิภาพหรือทำกำไรได้หรือไม่ โดยอาศัยข้อมูลในอดีตเพื่อตรวจสอบดูว่า “หากเราทำการซื้อขายตามสัญญาณในช่วงเวลานั้นทุกประการ จะได้ผลลัพธ์อย่างไร” โดยเราเชื่อว่าทุกคนคงเคยทำกันใช่ไหมครับ? กับการเปิดดูกราฟและย้อนกลับไปดูจังหวะซื้อขายเหล่านั้นแบบคร่าวๆ และจดบันทึกเพื่อดูว่า มันแม่นหรือไม่ กำไรหรือเปล่า … แต่นั่นคือวิธีแบบโบราณ เพราะในปัจจุบันเทคโนโลยีได้ก้าวไกลไปมาก จนสามารถสร้างโปรแกรมสำเร็จรูปที่อำนวยความสะดวกในการทำ BackTest โดยสามารถแปรเปลี่ยนผลลัพธ์เป็นสิบๆปีได้ในเวลาเพียงไม่กี่วินาที 

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

 

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

 

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

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

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

 

   พวกเราลองนึกย้อนกลับไปในวันแรก … กับ 2 สัปดาห์แห่งความอึดอัด ที่ต้องนั่งจ้องหน้าจอสีขาวนั้น พร้อมกับความคิดในหัวว่า “เอาไงดีหว่า” เพราะเราเข้าใจดีว่า ตัวเองกำลังเดินมาถึง Edge of Comfort Zone ที่ต้องเลือกว่าจะก้าวเข้าไปสู่โลกใหม่อย่างการ “เขียนโปรแกรม” จริง ๆ หรือ ทั้งที่ไม่มีความรู้เรื่องเขียนโปรแกรมสักนิด แต่พอตัดสินใจทำ เรากลับคิดว่า “ทำไมไม่หามันให้เจอตั้งนานแล้ว” เพราะผลลัพธ์ที่ได้ใน 2 สัปดาห์นั้นมันมากกว่าที่เคยพยายามใช้มือจดมาตลอด 2 ปี ดังนั้น ในฐานะคนที่เคย “เสียเวลา” กับการยึดติดที่ผิดพลาดมาก่อน จึงอยากเชิญชวนให้ทุกท่านได้ลองทำ และมั่นใจว่ามันจะเป็นประโยชน์กับคนที่ใช้งานอย่างแน่นอน

 

รูปแสดงตัวอย่างการเขียนโปรแกรมใน 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 ในส่วนนี้จะถูกพูดถึงในภายหลัง

และเพื่อเป็นการทบทวนว่าพวกท่านเข้าใจและสามารถเขียนโปรแกรมได้จริง เราจะทำการใส่สูตรอื่นลงไป เพื่อให้ทุกท่านลองตีความกัน ว่าเรากำลังทดสอบ Indicator ตัวใด ดังภาพ (ลองคิดกันก่อนกดดูคำตอบใน Spoil นะครับ)

รูปแสดงผลลัพธ์จากการทั้ง Long และ Short ด้วย MA ตัดกันในปีนี้ (2020)

 

 จากรูปจะเห็นว่า เรากำหนดจุดซื้อ-ขายด้วยการ ตัดกัน(Cross) เหมือนเดิม แต่เปลี่ยนจาก MACD เป็น “MA” หรือ Moving Average 2 เส้นแทน โดยจะเปิด Long ก็ต่อเมื่อ “เส้นแรกที่คำนวณจากค่าเฉลี่ยของราคาปิด 5 แท่ง ตัดขึ้นกับ เส้นที่สองที่คำนวณจากค่าเฉลี่ยราคาปิด 100 แท่ง” จากนั้น จะทำการปิด Long เมื่อตัดลง นอกจากนี้เรายังเพิ่มบรรทัด Short กับ Cover ลงไปด้วย โดยเงื่อนไขเดียวกัน คือ Sell แล้วให้เปิด Short ต่อทันที เพียงเท่านี้พวกท่านก็จะได้ผลลัพธ์จากการเล่น TFEX ทั้ง Long และ Short ด้วยการเขียนโปรแกรมง่าย ๆ แค่ 4 บรรทัด ดังรูป

รูปแสดงผลลัพธ์จากการทั้ง Long และ Short ด้วย MA ตัดกันในปีนี้ (2020)

จากรูปจะเห็นว่าคำตอบที่ได้จะมีค่ามากถึง 242 จุด เพราะในปีนี้ ตลาดค่อนข้างเป็นเทรนที่ชัดเจน ดังนั้นการใช้เส้นค่าเฉลี่ยตัดกันจึงทำให้ได้กำไรโดยง่าย โดยเฉพาะขา Short แต่ในความเป็นจริงนักพัฒนาระบบจะต้องทำการบ้านด้วยการ Backtest เป็นร้อยเป็นพันครั้ง เพื่อหา Model ที่สามารถใช้งานได้มีประสิทธิภาพในทุกช่วงสภาวะตลาด โดยโปรแกรมก็จะสามารถปรับเปลี่ยนได้ ไม่ว่าจะเป็นค่า Paremeter, Time Flame, ค่าธรรมเนียม ตามที่นักลงทุนต้องการ

 

 เอาละครับ หลังจากที่ทุกท่านได้เรียนรู้และทำความเข้าใจเสร็จ ถึงเวลาที่ทุกท่านจะต้องลงมือปฏิบัติกันแล้ว โดย Link ที่เราให้ต่อจากนี้จะเป็น Link ที่ให้ข้อมูลการใช้งานทั้งหมด โดยประกอบไปด้วย

-    โปรแกรม Amibroker ตัวทดลอง
-    ข้อมูล SET50 Futures 3 ปีย้อนหลัง (ใครอยากได้ข้อมูลมากกว่า 3 ปีทักหลังไมค์มาขอนะครับ)
-    คู่มือการใช้งานเบื้องต้น
-    Formular สำเร็จรูปจำนวน 1 ชุด

Link ข้อมูล => https://drive.google.com/u/0/uc?id=1Yh5fMoYs5tpqBZaEXrD_d_nbTmarZpwO&export=download

          โดยพวกท่านสามารถทดลองใช้งาน โดยทำทำตาม Video Clip ต่อจากนี้

Clip สอนใช้งานโปรแกรม Amibroker พื้นฐาน ตอนที่ 1

https://www.youtube.com/watch?v=lZf9_s7MHM0

 เราเข้าใจว่าในครั้งมันอาจจะดูยากไปสักนิด แต่อยากให้ทุกท่านอดทนพยายามหน่อยนะครับ พอเริ่มคุ้นชินในการใช้งานมันจะสร้างประโยชน์ตอบแทนมากกว่าที่ท่านคาดไว้แน่นอน

หากใครเข้าใจที่เรากล่าวมาทั้งหมดและลองปฏิบัติตาม Clip Video เสร็จสิ้น เราขอแสดงความยินดีด้วยนะครับ เพราะพวกท่านสามารถเขียนโปรแกรมสำหรับการ BackTest หรือสร้างระบบเทรดได้แล้ว ซึ่งเป็นอย่างที่บอกใช่ไหมครับ ว่าการเขียนโปรแกรม/สร้างระบบเทรดมันไม่ได้ยากเกินความสามารถ ขอเพียงพวกท่านหาโปรแกรมสำเร็จรูป ที่ถูกสร้างมาใช้กับงานนั้นให้เจอ โดย Process นี้ มันจะช่วยให้พวกท่านเข้าใจและค้นพบเครื่องมือทางเทคนิคที่พาพวกท่านประสบความสำเร็จได้ แต่มันไม่ใช่กับทุกคน เพราะ …

คนเข้ามาศึกษาเรื่อง System Trade จะเหลือแค่ 1 ใน 10 เท่านั้นที่เดินหน้าต่อ เม่าเหม่อ

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

---------------------------------------------------------------

          สุดท้ายนี้เราขอยืนยันว่า “เราไม่มีความคิดในการระดมทุนหรือขายระบบเทรดใดๆทั้งสิ้นทั้งในปัจจุบันและในอนาคต” เรามาให้ความรู้ โดยวัตถุประสงค์เพื่อให้ทุกคนใช้พัฒนาด้วยตนเอง และไม่ขอสนับสนุนการรับฝากเทรดแต่อย่างใด โดยหากถ้ายังมีคนสนใจในเรื่องนี้ (System & Robot Trade) ช่วยแสดงออกให้รับรู้ด้วยการคอมเม้นท์หรือกดโหวต และเราจะจัดทำเนื้อหามา สอนฟรี อีกเช่นเคย และถ้าใครมีข้อสงสัยในการใช้งานโปรแกรม หรือมีแนวคิดในแบบเดียวกัน สามารถมาร่วมกันพัฒนา Quant TFEX ไปกับกลุ่มของเราได้ โดยในไตรมาสนี้เราจะมุ่งเน้นการวิเคราะห์เชิงปริมาณในตลาด TFEX อย่างจริงจัง และมีกิจกรรมสนับสนุนให้กับคนที่สนใจศึกษาทางด้านนี้ ยังไงรบกวนติดตามกันมาได้ทั้งทาง Pantip และที่เพจนะครับ ขอบคุณครับ

Credit : https://www.facebook.com/tfexforfuture

Line Sqaue : TFEX For Future  



https://line.me/ti/g2/btLW138AZRRYIUeuCe-5GQ

ปรึกษาเรื่อง TFEX ผ่าน Line : @Tfexff

พาพันขอบคุณ

 


TFEXFORFUTURE