อยากจะสร้าง Robot Trade ต้องรู้อะไรบ้าง? มีสิ่งไหนบ้างที่ต้องเตรียมพร้อมก่อนเขียน Python วันนี้เราได้สรุปพิเศษจากงานวันที่ 2 ของ Exclusive Workshop “เทรดหุ้นด้วย Python” มือใหม่ก็เรียนได้ หัวข้อ สอนมือใหม่สร้าง Robot Trade ด้วย Python โดยคุณต่อวงศ์ เสรีภาพ Head of IT Department บล.โกลเบล็ก จำกัด และคุณวัทธิกร เอี่ยมอารยวิทย์, CFA, FRM นักพัฒนากลยุทธ์ บริษัท ฟินเทค (ประเทศไทย)
ซึ่งจะเน้นทั้งความรู้ทฤษฎีและเจาะลึกแนวคิดวิธีต่าง ๆ ในการสร้าง Robot Trade ด้วย Python ตั้งแต่เริ่มต้นจนถึงการพัฒนาระบบเทรดของตัวเอง อย่างไรก็ดี สำหรับใครที่อยากจะปูพื้นฐานในเรื่องนี้ก่อน สามารถย้อนกลับไปอ่านสรุป Exclusive Workshop ของงานวันแรก ใช้เทคโนโลยีอย่างไรให้ตอบโจทย์การลงทุน พร้อมไอเดียซื้อขายหุ้นด้วย Robot คลิกที่นี่
สิ่งที่ต้องรู้ก่อนเขียน Python
อันดับแรกอยากให้เข้าใจก่อนว่า Algorithmic Trading เป็นระบบซื้อขายผ่านเงื่อนไขที่ตั้งไว้เพื่อช่วยให้การลงทุนเป็นไปตามแผนที่วางไว้อย่างมีประสิทธิภาพ และเพิ่มขีดความสามารถในการประมวลผล ซึ่งจะช่วยลดผลกระทบด้านอารมณ์ที่ทำให้นักลงทุนไม่สามารถทำกำไรได้ในระยาว
ความน่าสนใจของ Algorithmic Trading คือ นักลงทุนรายย่อยสามารถพัฒนาการส่งคำสั่งผ่านโปรแกรม Amibroker, Python และ Excel (VBA) ก็ได้ โดยจะสามารถพัฒนาวิธีการลงทุน และการส่งคำสั่งได้หลากหลายยิ่งขึ้น เป็นการเพิ่มขีดความสามารถของนักลงทุนรายย่อยให้เทียบเท่านักลงทุนสถาบันและนักลงทุนต่างชาติ
โดยวันนี้เราจะเน้นการทำงานผ่าน Python ที่เหมาะกับการเขียนโปรแกรมโดยเฉพาะ ซึ่งทุกวันนี้ถือว่าการเขียนโปรแกรมมีความง่ายขึ้นเยอะ และมีเครื่องมือที่ช่วยลดความซับซ้อนของระบบ
ประโยชน์ของ Algorithmic Trading
ช่วยให้วิเคราะห์และประมวลผลข้อมูลได้อย่างรวดเร็ว ส่งคำสั่งซื้อขายได้แม่นยำ สร้างกลยุทธ์ได้หลากหลาย ทำงานพร้อมกันได้อย่างมีประสิทธิภาพ และลดความเสี่ยงที่เกิดจากอารมณ์ของมนุษย์ ทว่าก็มีข้อควรระวัง หากระบบออกแบบมาไม่ดีพอ สามารถสร้างความเสียหายให้ตลาดและพอร์ตการลงทุนอย่างมหาศาล รวมทั้งใช้เวลาศึกษาค่อนข้างนาน
สำหรับผู้ใช้งาน Algorithmic Trading มีด้วยกัน 2 ประเภท หนึ่งคือ "ผู้ลงทุน" ที่สนใจลงทุนในโมเดลของคนอื่นที่เหมาะกับตัวเอง หรือสนใจพัฒนาโมเดลของตนเอง ด้วยการหาผู้เชี่ยวชาญมาพัฒนาให้ สองคือ "ผู้พัฒนาโมเดลเอง " เป็นผู้มีความรู้และความเข้าใจเรื่องการเขียนโค้ดและการสร้าง algorithm
ขั้นตอนการสร้าง Algorithmic Trading
สำหรับผู้ที่สนใจเข้ามาเป็นนักพัฒนา ปัจจุบันจะมีวิธีการหลัก ๆ 7 ขั้นตอน ดังนนี้
นักลงทุนสามารถใช้โปแกรม EzyQuant เพื่อดึงชุดข้อมูล (Database) คัดกรองหุ้นทั้งปัจจัยพื้นฐานและปัจจัยทางเทคนิค ทำ Back testing ตลอดจนดูผลตอบแทนของระบบจำลองซื้อขายทั้งหมด โดยสามารถศึกษารายละเอียดเพิ่มเติมได้ที่ https://doc.ezyquant.com/
หลังจากสร้างระบบเทรดของเรียบร้อยแล้ว ขั้นตอนต่อไปคือการส่งคำสั่งเข้าตลาดหลักทรัพย์ฯ ผ่าน Settrade Open API ปัจจุบันมีโบรกเกอร์ผู้ให้บริการ ได้แก่ Classic Ausiris, Pi, KGI, Globex, Kingsford, Krungsri, Yuanta และ YLG
สามารถดูคู่มือการใช้งาน Settrade Open API แบบทีละขั้นตอนได้ที่ https://developer.settrade.com ซึ่งมีสรุปไว้ครบทั้ง 3 ภาษา ไม่ว่าจะเป็น Python, Amibroker และ Excel (VBA)
นอกจากนี้ ทุกคนสามารถสมัครสมาชิก Settrade Open API เพื่อทดสอบการคำสั่งผ่านซื้อขายของ Robot trade ก่อนเทรดจริงได้ผ่านระบบ Sandbox โดยที่ยังไม่ต้องใส่เงินจริง และมีเงินสมมุติก้อนหนึ่งให้ได้ลองโมเดลของตัวเอง
สิ่งที่ต้องเตรียมพร้อมก่อนใช้ Settrade Open API ด้วย Python
ทั้งนี้ สามารถทดลองเขียนโค้ด และดูตัวอย่างโค้ดสำหรับทดสอบ Settrade Open API ได้ที่ https://www.settrade.com/th/python
ทั้งหมดนี้ก็เป็นการสรุปภาพรวมเกี่ยวกับการเริ่มต้นสร้าง Robot Trade ด้วย Python ซึ่งหวังว่าจะเป็นการจุดประกายให้กับผู้ที่สนใจนำไปเป็นแนวทางการศึกษาต่อในเชิงลึกได้มากขึ้น เพื่อเพิ่มพลังการลงทุนด้วย Algorithmic Trading ให้ประสบความสำเร็จมากยิ่งขึ้น ซึ่งนี่เป็นสรุปข้อมูลเบื้องต้นเท่านั้น ผู้ที่สนใจสามารถรับชม Workshop ฉบับเต็ม เพื่อศึกษารายละเอียดแบบเจาะลึก พร้อมดาวน์โหลดเอกสารได้ที่ คลิก
Disclaimer : ข้อมูลบริษัทจดทะเบียนที่ปรากฏนี้เป็นเพียงการนำเสนอข้อมูลในอีกรูปแบบหนึ่งเพื่อให้ผู้ลงทุนสามารถเข้าใจได้ง่ายขึ้นโดยการอิงกับไลฟ์สไตล์ (Lifestyle Based) หรือกระแส (Trend) ซึ่งรวบรวมมาจากข้อมูลที่เผยแพร่ผ่านช่องทางของตลาดหลักทรัพย์แห่งประเทศไทย (“ตลาดหลักทรัพย์ฯ”) อย่างไรก็ตาม ตลาดหลักทรัพย์ฯ ไม่รับรองความถูกต้องครบถ้วน หรือความเป็นปัจจุบันของข้อมูลดังกล่าวรวมทั้งไม่ได้ให้คำแนะนำเกี่ยวกับการลงทุนใด ๆ ในหลักทรัพย์ของบริษัทจดทะเบียน และตลาดหลักทรัพย์ฯ ไม่ต้องรับผิดชอบในความเสียหายหรือสูญหายจากการนำข้อมูลที่ปรากฏนี้ไปใช้ในทุกกรณี