Strategy Specification คือสัญญาระหว่างแนวคิดกับซอฟต์แวร์ ยิ่งนิยามชัด ยิ่งลดการตีความและทำให้ทดสอบได้ เอกสารที่ดีไม่ต้องยาวที่สุด แต่ต้องตอบได้ว่าระบบควรทำอะไรในกรณีปกติและกรณีผิดปกติ
บริบทและข้อมูลนำเข้า
ระบุสินทรัพย์ timeframe session timezone แหล่งข้อมูล และข้อกำหนดบัญชี อธิบาย indicator ทุกตัวด้วยสูตรและพารามิเตอร์ รวมถึงการจัดการข้อมูลหายและแท่งที่ยังไม่ปิด
เขียนวัตถุประสงค์และสิ่งที่ไม่ทำ เช่น ระบบเปิดสถานะอย่างเดียวหรือจัดการสถานะเดิมด้วย ขอบเขตที่ชัดป้องกัน feature แฝงระหว่างพัฒนา
Signal, Order และ State
ใช้ตาราง decision rule ระบุ entry, exit, invalidation และ priority เมื่อหลายเหตุการณ์เกิดพร้อมกัน กำหนด order type, price rounding, retry, timeout, partial fill และ duplicate protection
วาด state machine เช่น idle, pending, open, closing, halted พร้อม event ที่เปลี่ยนสถานะ วิธีนี้ช่วยให้ restart และ reconciliation มีพฤติกรรมที่คาดการณ์ได้
Risk, Test และ Operations
ระบุ position sizing, exposure limit, loss limit, kill switch และข้อห้าม จากนั้นสร้าง test case แบบ Given/When/Then ครอบคลุม happy path และ failure เช่น disconnect, spread สูง หรือคำสั่งถูกปฏิเสธ
กำหนด log, metric, alert, deployment, rollback และผู้อนุมัติ การส่งมอบควรยืนยันว่าโค้ดตรง specification ไม่ใช่ยืนยันกำไร เพราะตลาดและผลในอนาคตไม่สามารถรับประกันได้