วันอาทิตย์ที่ 31 มกราคม พ.ศ. 2559

หลังจากไปงานสัมนาพี่มด แมงเม่าคลับ เลยเกิดความคัน อยากจะลองทำข้อมูลพื้นฐานสำหรับ Backtest ระบบดูบ้าง

Iหลังจากไปงานสัมนาพี่มด แมงเม่าคลับ เลยเกิดความคัน อยากจะลองทำข้อมูลพื้นฐานสำหรับ Backtest ระบบดูบ้าง

เลยเริ่มค้นคว้าและได้ลองทดสอบทำระบบขายหุ้นก่อนขึ้นเครื่องหมาย XD โดยโหลดข้อมูลการขึ้นเครื่องหมาย XD จากเวป SETTrade มาเก็บใน SQL Database (http://feeds.feedburner.com/Setorth-Xd)

ส่วนข้อมูลการขึ้นเครื่องหมาย XD ย้อนหลังผมได้ใช้จาก Excel คุณ Kanchit Paisan สำหรับคนที่สนใจสามารถดูลิงค์รายละเอียดจาก Page ที่ผมได้แชร์ไว้ก่อนหน้านี้

บทความนี้ค่อนข้างจะยุ่งยาก และน่าจะเหมาะสำหรับคนที่มีพื้นฐาน SQL Database อยู่แล้ว ผมจะขออธิบายคร่าวๆ ไม่ได้ลงลึกในรายละเอียด ถ้าสนใจก็สามารถศึกษารายละเอียดใน Amibroker นะครับ

Reference: http://www.amibroker.com/odbc.html

หลังจากสร้าง SQL Database แล้ว และทำการเตรียมข้อมูลเรียบร้อยแล้ว ก็จะมาสร้าง Amibroker ดึงข้อมูลจาก SQL Database

จากตัวอย่างในภาพ ผมได้โหลดข้อมูลหุ้น และ สร้างข้อมูลรายการ XD ของหุ้นเพื่อใช้สำหรับ Backtest ย้อนหลัง เนื่องจาก Amibroker เก็บข้อมูล XD ได้เพียงค่าเดียวซึ่งจะเป็นค่าล่าสุด ทำให้เราไม่สามารถ Backtest ย้อนหลังได้

ผมจึงต้องสร้าง Symbol_XD เพื่อเก็บข้อมูลเป็น Time Series สำหรับ Backtest ข้อมูลย้อนหลัง ตามตัวอย่าง



1 สร้าง Amibroker Database
1.1 File New Database
1.2 กำหนด Data Source = ODBC/SQL Univeral Data Plug-in
1.3 คลิก Configure เพื่อกำหนดการ Connect Database และ กำหนดการอ่านค่าแต่ละ Field ให้ตรงกับ SQL 


ตัวอย่าง Code การขาย โดยผมใช้ช่อง Open เก็บค่าเป็น 1 เพื่อให้ระบบสั่งขาย

SellXD= Foreign(Name()+"_XD","OPEN")==1; 


จากตัวอย่างระบบก็จะทำการขายล่วงหน้า 1 วัน
กรณีที่ XD วันจันทร์ เราก็สามารถสั่งให้ขายวัน ศุกร์ ได้โดยต้องอยู่ในขั้นตอนการเตรียมข้อมูล SQL

ผมได้ลอง Connect Database เพื่อผ่านข้อมูลใน Afl Code แต่ยังติดปัญหาไม่สามารถนำค่าที่อ่านได้มา Backtest ระบบได้ต่อ

สำหรับผมมันเพิ่งเริ่มต้น งานยาก งานหิน ยังรออยู่ข้างหน้าอีกเพียบ ขอเพียงสนุก และมีความสุขที่ได้ค้นคว้า ทดลอง 

หวังว่าบทความนี้จะเป็นไอเดีย ให้เพื่อนๆ นำไปค้นคว้า และทดลอง ทดสอบเล่นกันดูครับ ทำแล้วอยากแชร์ไอเดียก็ Message มาคุยกันได้ครับ

ขอบคุณพี่มดสำหรับไอเดียดีๆในการทำระบบ และพี่ๆที่ไม่ประสงค์ออกนาม ที่ให้คำแนะนำสำหรับแหล่งข้อมูลพื้นฐาน และไอเดียการขายก่อนขึ้นเครื่องหมาย XD




ไม่มีความคิดเห็น:

แสดงความคิดเห็น