Data storage for financial data

Data storage เป็นอีกเรื่องที่มีความสำคัญไม่น้อย แต่มักจะไม่ได้ค่อยรับการพูดถึงกันมากนัก แต่ถ้าต้องการสร้างระบบเทรดอัตโนมัติสุดท้ายแล้วก็จะหนีไม่พ้นการตัดสินใจเรื่องของการจัดเก็บข้อมูล ระบบเทรดอัตโนมัตินอกจากจะมีความสามารถในการ สร้าง, เปิด และ ปิด “orders” ได้โดยอัตโนมัติแล้ว อีกส่วนที่ระบบควรจะมีความสามารถครอบคลุมก็คือการ “อัพเดต” ข้อมูลราคาอัตโนมัตินั่นเองส่วนระยะเวลาการอัพเดตนั้นก็จะขึ้นอยู่กับผู้สร้างระบบเป็นสำคัญ เช่น อัพเดตทุกครั้งที่มีราคาใหม่ออกมาจากผู้ให้บริการข้อมูล  (vendors) หรือ อัพเดตทุกหนึ่งอาทิตย์ เป็นต้น

Data storage ที่นิยมใช้ในระบบเทรด มีด้วยกัน 3 รูปแบบ คือ


1) Flat-file : จัดเก็บเป็น ไฟล์ เช่น CSV file
2) Document : จัะเก็บเป็นเอกสาร เช่น NoSQL database (MongoDB, CouchDB)
3) RDBMS : จัดเก็บเป็นฐานข้อมูล

การจะเลือกใช้แบบไหนก็มี ข้อดี ข้อเสีย ต่างๆ กัน เช่น ถ้าจัดเก็บแบบ flat-file ก็ง่ายต่อการจัดเก็บเพราะไม่ต้องจัดการอะไรมาก แค่ download เข้ามาเก็บไว้ แต่การจัดเก็บแบบนี้ ก็มีข้อเสียตรงการเรียกดูข้อมูลไม่สะดวก การตรวจสอบความถูกต้องได้ยาก ส่วนในทางตรงกันข้าม การจัดเก็บข้อมูลแบบ RDBMS หรือ แบบระบบฐานข้อมูล ซึ่งเป็นแบบที่พวกเรา QuantML ใช้เป็นหลัก อาจจะมีความยากในการพัฒนาโปรแกรม แต่ก็เป็นการจัดเก็บที่มีประสิทธิภาพมาก ทั้งการเรียกค้นข้อมูล การควบคุมความถูกต้อง อีกทั้งยังสามารถอัพเดตอัตโนมัติผ่านโปรแกรม Python ได้อย่างง่ายดายอีกด้วย

 

Screen Shot 2017-05-29 at 20.14.19

จากภาพประกอบ จะเห็นว่าการจัดเก็บข้อมูลแบบระบบฐานข้อมูลนั้น เขียนโปรแกรมครั้งเดียว สามารถดึงข้อมูลอัตโนมัติได้จากทุกตลาดในอนาคต ในเวลาอันรวดเร็ว และ ยิ่งไปกว่านั้นยังสามารถเขียนโปรแกรมสั่งจาก Python ให้ทำการอัพเดตอัตโนมัติทุกครั้งที่มีราคาถูกเพิ่มเข้ามาได้อย่างมีประสิทธิภาพอีกด้วย DBMS ที่เราใช้ในรูปประกอบ คือ  MySQL ทำการเขียนโปรแกรมต่อเข้ากับ Python เพื่อให้สามารถโหลดข้อจาก vendor ได้อัตโนมัติ และสามารถเรียกใช้ข้อมูลเพื่อการวิเคราะห์ได้อย่างสะดวก สำหรับการออกแบบระบบฐานข้อมูลนั้น ขึ้นอยู่กับผู้ออกแบบ และ ความต้องการใช้งานเป็นหลัก ซึ่งแต่ละระบบก็มักจะมีระบบฐานข้อมูลที่แตกต่างกันไป ในที่นี้ขอนำเสนอตัวอย่างระบบฐานข้อมูลเล็กๆ ดังรูปด้านล่าง สำหรับเป็นตัวต้นแบบสำหรับผู้สนใจนำไปพัฒนาต่อ หวังเป็นอย่างยิ่งว่าจะมีประโยชน์ และ ทำให้มองเห็นภาพรวมของระบบฐานข้อมูลได้ชัดเจนยิ่งขึ้นค่ะ

Screen Shot 2017-05-29 at 21.14.26

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s