สร้าง Robot เทรดหุ้นไม่ยาก ด้วย Microsoft Excel

โดย SET
5 Min Read
12 กันยายน 2565
4.363k views
Robot trade ด้วย MS Excel
In Focus
Robot Trade เริ่มมีบทบาทในโลกของการลงทุนมากยิ่งขึ้นในทุกวัน และยิ่งไปกว่านั้น ปัจจุบัน นักลงทุนอย่างเราสามารถใช้โปรแกรมที่คุ้นเคยอย่าง Microsoft Excel ในการส่งคำสั่งซื้อขายได้ วันนี้เรามีสรุปแบบฉบับง่ายๆ มาอ่านกัน

          Robot Trade เริ่มมีบทบาทในโลกของการลงทุนมากยิ่งขึ้นในทุกวัน และยิ่งไปกว่านั้น ปัจจุบัน นักลงทุนอย่างเราสามารถใช้โปรแกรมที่คุ้นเคยอย่าง Microsoft Excel ในการส่งคำสั่งซื้อขายได้ แต่จะต้องทำอย่างไร มีข้อควรรู้อะไรบ้าง วันนี้ เราขอสรุปจาก Workshop “เทรดหุ้นไม่ยาก ด้วย Microsoft Excel” โดยคุณทัศน์จิต หวังไพบูลย์กิจ ผู้เชี่ยวชาญ และผู้พัฒนาระบบเทรดผ่าน SETTRADE Open API มาฝากกัน

การส่งคำสั่งซื้อขาย และช่องทางในการส่งคำสั่งซื้อขาย

การส่งคำสั่งซื้อขายหุ้น

       ในภาพรวมของการส่งคำสั่งซื้อขายหุ้น เรามักจะใช้โปรแกรมสำเร็จรูปอย่าง Settrade Streaming หรือโปรแกรมสำเร็จรูปอื่น ๆ ที่ทางโบรกเกอร์ให้บริการสำหรับส่งคำสั่งซื้อขาย แต่ในปัจจุบัน นักลงทุนยังสามารถออกแบบการส่งคำสั่งอัตโนมัติด้วยตัวเอง ซึ่งเพิ่มความยืดหยุ่นในการลงทุนได้มากยิ่งขึ้น โดยผ่าน “Settrade Open API” ซึ่งเปรียบเสมือนเป็นท่อที่ส่งคำสั่งไปยังโบรกเกอร์และตลาดหลักทรัพย์ฯ โดยมีทางเลือกในการส่งคำสั่งอยู่ด้วยกัน 3 รูปแบบ เรียงจากการใช้ทักษะในการพัฒนาโปรแกรมจากมากไปน้อย คือ

  1. Python

เป็นภาษาโปรแกรมคอมพิวเตอร์ที่เหมาะสำหรับนักลงทุนที่มีความสามารถในการเขียนโปรแกรมสูง ซึ่งเป็นภาษาที่ Programmer ชอบภาษานี้ที่สุด

  1. Amibroker

เป็นการเขียนโปรแกรมที่มีตัวช่วยมากกว่า ทำให้นักลงทุนใช้ทักษะในการเขียนโปรแกรมที่น้อยกว่าเมื่อเทียบกับภาษา Python

  1. Microsoft Excel และภาษา VBA

หากเทียบกับ 2 ตัวเลือกก่อนหน้า การใช้ Microsoft Excel และภาษา VBA ในการพัฒนา Robot Trade เป็นทางเลือกที่ง่ายที่สุดสำหรับมือใหม่ที่อยากทำ Robot Trade

ข้อควรรู้ก่อนส่งคำสั่งผ่าน Microsoft Excel

ข้อดี ข้อเสีย เทรดหุ้นผ่าน MS Excel

       การใช้ Robot Trade ในการลงทุนหรือเทรดหุ้น ช่วยอำนวยความสะดวกให้กับนักลงทุนในหลายแง่มุม แม้ว่าการส่งคำสั่งผ่าน Microsoft Excel จะเป็นตัวเลือกที่ง่ายที่สุดในการพัฒนา Robot Trade สำหรับมือใหม่ แต่เครื่องมือที่ใช้ มีทั้งข้อดี และข้อจำกัดที่เราควรรู้ โดยขอสรุปแยก ดังนี้

 

 ข้อดี

  1. ไม่ต้องเฝ้าหน้าจอ ให้ Robot ส่งคำสั่งซื้อขายในขณะที่ติดภารกิจได้

  2. ตัดเรื่องอารมณ์ในการเทรด ในการลงทุนด้วยตนเอง ในบางครั้ง ต่อให้มีจุดเข้า จุดขาย และจุดตัดขาดทุน เมื่อขาดทุนถึงจุดที่ตั้งไว้ นักลงทุนหรือ Trader หลาย ๆ คนมักจะขยับจุดตัดขาดทุนออกไป ซึ่งเป็นการใช้อารมณ์ในการเทรด Robot Trade จึงมีบทบาทในการแก้ปัญหาจุดนี้

  3. เพิ่มความยืดหยุ่นในการสร้าง Indicator หรือปรับ idea ในการเทรดได้อย่างอิสระ ในโปรแกรมสำเร็จรูป จะมีเครื่องมือทางเทคนิคที่เป็นพื้นฐาน ซึ่งในบางโปรแกรม หากต้องการเครื่องมือบางประเภท จะต้องเสียเงินเพิ่มเติม แต่สำหรับการเขียนโปรแกรมโดยใช้ Microsoft Excel ทำให้เราสามารถสร้างเครื่องมือต่าง ๆ นอกเหนือจากที่โปรแกรมสำเร็จรูปได้ ซึ่งเรานำ Indicator ที่ได้คิดต่อยอดมาใช้เพิ่มเติมได้อีกด้วย

 

ข้อจำกัด

  1. มีโอกาสสร้างความเสียหายให้กับพอร์ตการลงทุนได้ หากไม่ได้กำหนดค่าบางอย่าง เช่น จุดตัดขาดทุน จุดทำกำไร เป็นต้น ในกรณีที่เกิดเหตุการณ์ที่ไม่ปกติ เช่น เหตุการณ์สึนามิ

    2. ต้องอาศัยความรู้ในการเขียนโปรแกรม ซึ่งหากเราไม่มีความรู้ในการเขียนโปรแกรม หรือคัดลอกมาวางโดยที่ขาดความเข้าใจในการประยุกต์ให้เข้ากับการลงทุนของตัวเอง อาจจะทำให้ใช้เครื่องมือไม่ได้

สรุปขั้นตอนการทำ Backtest ผ่าน Microsoft Excel

backtest ผ่าน MS Excel
eOpen Banner for investHow-01-01

       ก่อนที่เราจะนำกลยุทธ์ที่เราคิดให้ Robot Trade ทำงาน จะต้องมีการทดสอบย้อนหลัง หรือที่นักลงทุนเรียกกันว่า “Backtest” ซึ่งจะช่วยให้นักลงทุนเข้าใจทั้งข้อดีและข้อจำกัดของระบบผ่านผลลัพธ์ที่เกิดขึ้น เมื่อใช้กับสภาวะตลาดต่าง ๆ และสามารถนำไปปรับปรุงให้ดียิ่งขึ้น ซึ่งสามารถทดสอบได้บน Sandbox ซึ่งเป็นระบบทดสอบของ Settrade Open API โดยจาก Workshop สามารถสรุปออกมาเป็น 6 ขั้นตอน คือ

 

  1. วางกลยุทธ์เทรด
  2. ติดตั้ง Settrade SDK สำหรับ MS Excel
  3. Login ผ่าน MS Excel ด้วยรหัสที่ได้จาก Sandbox (ระบบทดสอบ)
  4. เขียนโปรแกรมบน MS Excel โดยดึงข้อมูลในอดีตมาใช้ผูกสูตรให้ตรงตามกลยุทธ์ ซึ่งมีรายละเอียดในการเขียนเป็น 4 ส่วน คือ

    4.1 ดึงข้อมูลในอดีตจากแหล่งต่าง ๆ โดยนักลงทุนสามารถดึงข้อมูลหุ้นได้จาก

    - Aspen

    - Settrade Open API

    ซึ่งจะต้องตั้งค่าต่าง ๆ เช่น Timeframe ที่ต้องการนำมาใช้ประกอบการตัดสินใจ เป็นต้น ก่อนดึงข้อมูลมาใช้ทำ Robot Trade

    4.2 จัดข้อมูลให้เข้ากับ Template ที่ใช้ เช่น ข้อมูลของวันที่และเวลา ในบางโปรแกรม เวลาเราดึงข้อมูล ข้อมูลดังกล่าวจะถูกนับเป็นตัวแปรเดียวกัน ดังนั้น เราจะต้องทำการแยกข้อมูลดังกล่าวให้เป็นคนละตัวแปรกัน และปรับ Format เพื่อให้เข้ากับ template สำหรับทำ Robot Trade

    4.3 เช็กข้อมูลที่นำมาใช้ เช่น Volume ติดลบหรือไม่ เราดึงข้อมูลมาวางบน Template ผิดบรรทัดหรือไม่ หรือ มีข้อมูลชุดไหนที่ยังไม่ได้ปรับ Format เป็นต้น

    4.4 กำหนดเงื่อนไขในการซื้อขายหุ้น เช่น ใช้เส้นค่าเฉลี่ย 2 เส้นตัดกันในการตัดสินใจซื้อหรือขาย เป็นต้น

 

    5.Run ให้ MS Excel ทำงาน โดยโปรแกรมจะส่งคำสั่งโดยอัตโนมัติตามกลยุทธ์ที่เราเขียนไว้

    6. เช็กผลลัพธ์ต่าง ๆ ที่ได้จากระบบ เช่น ทำกำไรเท่าไหร่ มีผลขาดทุนสูงสุดเท่าไหร่ ขาดทุนต่อเนื่องกี่ครั้ง เป็นต้น

การส่งคำสั่งแบบ Realtime ผ่าน Microsoft Excel

การส่งคำสั่งแบบ Realtime MS Excel

เมื่อทำการทดสอบผ่านข้อมูลย้อนหลังแล้ว สำหรับขั้นตอนในการส่งคำสั่งแบบ Realtime จะมีบางขั้นตอนที่มีวิธีการที่คล้าย ๆ กับการทำ Backtest แต่จะมีรายละเอียดบางอย่างที่แตกต่างกัน โดยมีขั้นตอนดังนี้

 

  1. เปิดบริการ Settrade Open API กับ บล. ที่ให้บริการ
  2. วางกลยุทธ์เทรด
  3. ติดตั้ง Settrade SDK สำหรับ MS Excel
  4. Login ผ่าน MS Excel ด้วยรหัสที่ได้จาก บล.
  5. เขียนโปรแกรมบน MS Excel เพื่อดึงข้อมูลที่ต้องใช้ และผูกสูตรต่าง ๆ ให้ตรงตามกลยุทธ์
  6. Recheck ข้อมูลทั้งหมดที่ตั้งค่าใน Excel ก่อนส่งคำสั่งซื้อขายจริงว่าข้อมูลมีความถูกต้อง มีการเชื่อมต่อกับ Settrade Open API หรือไม่ เช่น เช็กค่า Bid ใน Streaming กับ Excel ให้ตรงกัน เป็นต้น
  7. หลังจากที่ตรวจสอบทุกอย่างเรียบร้อย ให้ทำการเปิดระบบให้ทำการยิงคำสั่งซื้อขายหุ้นตามกลยุทธ์ที่ได้วางไว้

 

       หลังจากการใช้ระบบ Robot Trade หากต้องการปรับปรุงระบบ Robot Trade ให้มีประสิทธิภาพมากยิ่งขึ้น สำหรับแนวทางในการปรับกลยุทธ์ เราสามารถปรับหรือเช็กได้จาก

 

- เครื่องมือทางเทคนิค (Technical Indicator) ที่เหมาะสมกับหุ้นนั้น ๆ เช่น หุ้น A เหมาะกับการใช้เส้นค่าเฉลี่ย 2 เส้น คือ เส้นค่าเฉลี่ยปกติ (Simple Moving Average) 5 วันและเส้นค่าเฉลี่ยปกติ 10 วันในการตัดสินใจซื้อขาย แต่ไม่เหมาะกับหุ้น B เป็นต้น

- การตรวจสอบสัญญาณซื้อขาย มีความถูกต้องหรือไม่

- มีเงื่อนไขในการป้องกันความเสี่ยงหรือไม่ เช่น มีจุดตัดขาดทุน (Stop Loss) และจุดทำกำไร (Take Profit) หรือไม่ จุดขายทำงานบนเงื่อนไขใด เป็นต้น

- การกระจายความเสี่ยงในหลายสินทรัพย์ (Diversify) โดยการลงทุนในหลากหลายสินทรัพย์มากขึ้น เช่น ลงทุนในหุ้น A 50%, หุ้น B 40% และหุ้น C 10% เป็นต้น

 

สำหรับใครที่ต้องการศึกษาเครื่องมืออื่น ๆ ที่อยู่ใน SETTRADE Open API สามารถศึกษาเพิ่มเติมได้ที่  https://developer.settrade.com/open-api/ 

คำแนะนำสำหรับมือใหม่หัดเทรดหุ้นผ่าน Microsoft Excel

คำแนะนำมือใหม่ เทรดหุ้นผ่าน MS Excel

          นอกจากนี้ สำหรับใครที่ยังไม่รู้ว่าจะเริ่มต้นลงทุนหุ้นตัวไหนดี ตอนนี้ ตลาดหลักทรัพย์ฯ ได้รวบรวมข้อมูลบทวิเคราะห์หุ้นรายตัวจากโครงการจัดทำบทวิเคราะห์สำหรับผู้ลงทุน เพื่อประกอบการตัดสินใจลงทุน และสามารถนำไปประยุกต์กับกลยุทธ์การลงทุนผ่าน Robot Trade คลิกที่นี่ 

และนี่ก็คือสรุปจาก Workshop เทรดหุ้นไม่ยากด้วย Microsoft Excel สำหรับใครที่สนใจทดลองฝึกส่งคำสั่งด้วยเครื่องมือดังกล่าวเสมือนได้ลงมือทำตามจริง ๆ สามารถติดตามฉบับเต็มกันต่อได้ที่ คลิกที่นี่

Disclaimer : ข้อมูลบริษัทจดทะเบียนที่ปรากฏนี้เป็นเพียงการนำเสนอข้อมูลในอีกรูปแบบหนึ่งเพื่อให้ผู้ลงทุนสามารถเข้าใจได้ง่ายขึ้นโดยการอิงกับไลฟ์สไตล์ (Lifestyle Based) หรือกระแส (Trend) ซึ่งรวบรวมมาจากข้อมูลที่เผยแพร่ผ่านช่องทางของตลาดหลักทรัพย์แห่งประเทศไทย (“ตลาดหลักทรัพย์ฯ”) อย่างไรก็ตาม ตลาดหลักทรัพย์ฯ ไม่รับรองความถูกต้องครบถ้วน หรือความเป็นปัจจุบันของข้อมูลดังกล่าวรวมทั้งไม่ได้ให้คำแนะนำเกี่ยวกับการลงทุนใด ๆ ในหลักทรัพย์ของบริษัทจดทะเบียน และตลาดหลักทรัพย์ฯ ไม่ต้องรับผิดชอบในความเสียหายหรือสูญหายจากการนำข้อมูลที่ปรากฏนี้ไปใช้ในทุกกรณี

ปุ่ม erc
ปุ่ม Algo
แท็กที่เกี่ยวข้อง: