Algorithmic Trading พื้นฐาน — เมื่อ Algorithm เทรดแทนคน
Algo Trading คืออะไร?
Algorithmic Trading (Algo Trading) คือการใช้ โปรแกรมคอมพิวเตอร์ ตัดสินใจซื้อขายสินทรัพย์แทนคน โดยอิงจากกฎและเงื่อนไขที่กำหนดไว้ล่วงหน้า
ทำไมต้องใช้ algorithm?
- เร็วกว่าคน — ส่งคำสั่งได้ใน milliseconds
- ไม่มีอารมณ์ — ไม่ FOMO, ไม่กลัว, ไม่โลภ
- ทำงาน 24/7 — ไม่ต้องนอน (สำคัญมากสำหรับ crypto)
- Backtest ได้ — ทดสอบ strategy กับข้อมูลในอดีต ก่อนใช้เงินจริง
- Consistent — ทำตาม rule เดิมทุกครั้ง ไม่มี "วันนี้ขอเปลี่ยนใจ"
องค์ประกอบหลักของ Trading System
1. Data Feed (ข้อมูลราคา)
รับข้อมูลราคา real-time จาก Exchange ผ่าน API
- REST API — ดึงข้อมูลเป็นครั้งๆ (polling)
- WebSocket — ข้อมูล real-time แบบ stream (แนะนำ)
- FIX Protocol — มาตรฐานสำหรับ institutional trading (เร็วที่สุด)
ข้อมูลที่ต้องการ: Order Book (bid/ask), Trade History, Candlestick/OHLCV, Ticker
2. Strategy Logic (สมองของ bot)
ตัดสินใจว่า เมื่อไหร่ซื้อ เมื่อไหร่ขาย จากข้อมูลที่ได้รับ
ทุก strategy ต้องตอบ 4 คำถาม:
- Entry: เข้าเมื่อไหร่?
- Exit: ออกเมื่อไหร่?
- Position size: ซื้อเท่าไหร่?
- Risk: ยอมขาดทุนเท่าไหร่?
3. Execution (ส่งคำสั่ง)
ส่งคำสั่งซื้อขายไปยัง Exchange
- Market Order — ซื้อ/ขายทันทีที่ราคาตลาด (เร็ว แต่ slippage)
- Limit Order — ตั้งราคาที่ต้องการ (ไม่ slippage แต่อาจไม่ match)
- Stop Order — trigger เมื่อราคาถึงจุดที่กำหนด
4. Risk Management (จัดการความเสี่ยง)
- Position sizing — ไม่เกิน X% ของ portfolio ต่อ trade
- Stop loss — ตัดขาดทุนอัตโนมัติ
- Max drawdown — หยุดเทรดถ้าขาดทุนสะสมเกินกำหนด
- Rate limiting — จำกัดจำนวน trade ต่อช่วงเวลา
ประเภท Strategy ที่นิยม
Trend Following
แนวคิด: "The trend is your friend" — ตามแนวโน้มราคา
Moving Average Crossover:
- ใช้ MA 2 เส้น (เช่น MA20 กับ MA50)
- ซื้อ เมื่อ MA สั้นตัดขึ้นเหนือ MA ยาว (Golden Cross)
- ขาย เมื่อ MA สั้นตัดลงใต้ MA ยาว (Death Cross)
Breakout:
- ดู Support/Resistance
- ซื้อ เมื่อราคาทะลุ Resistance + Volume สูง
- ขาย เมื่อราคาทะลุ Support
ข้อดี: ทำกำไรได้มากเมื่อ trend ชัดเจน
ข้อเสีย: ขาดทุนในตลาด sideway (ไม่มี trend) เพราะ false signals เยอะ
Mean Reversion
แนวคิด: ราคาจะกลับสู่ค่าเฉลี่ย — ถ้าไกลจากค่าเฉลี่ยมากจะดีดกลับ
RSI Strategy:
- ซื้อ เมื่อ RSI < 30 (oversold — ราคาลงมากเกินไป)
- ขาย เมื่อ RSI > 70 (overbought — ราคาขึ้นมากเกินไป)
Bollinger Bands:
- ซื้อ เมื่อราคาแตะ Lower Band
- ขาย เมื่อราคาแตะ Upper Band
ข้อดี: ทำงานดีในตลาด sideway
ข้อเสีย: ขาดทุนหนักเมื่อ trend แรง (ราคาไม่กลับมา)
Market Making
แนวคิด: วาง order ทั้ง bid (ซื้อ) และ ask (ขาย) พร้อมกัน ทำกำไรจาก spread
- วาง Buy ที่ 99,900
- วาง Sell ที่ 100,100
- ถ้า match ทั้งคู่ → กำไร 200
ข้อดี: กำไรสม่ำเสมอ ไม่ต้องพึ่ง trend
ข้อเสีย:
- ต้องการ inventory management — ถ้าราคาวิ่งทางเดียว จะติด position
- ต้อง เร็วมาก — แข่งกับ market maker คนอื่น
- ต้อง volume สูง — กำไรต่อ trade น้อย ต้องทำเยอะ
Grid Trading
แนวคิด: วาง Buy/Sell orders เป็น grid ตามช่วงราคา
- กำหนดช่วงราคา เช่น 90,000 - 110,000
- วาง Buy ทุกๆ 1,000 (90K, 91K, 92K, ...)
- วาง Sell ทุกๆ 1,000 (101K, 102K, 103K, ...)
- ราคาวิ่งขึ้นลง → match orders → ทำกำไรจากทุก grid
ข้อดี: ทำงานดีในตลาด sideway, ตั้งแล้วลืมได้
ข้อเสีย: ขาดทุนถ้าราคาหลุดออกจาก grid range
VWAP / TWAP
แนวคิด: แบ่ง order ใหญ่เป็นชิ้นเล็กๆ เพื่อ ลด market impact
- VWAP (Volume-Weighted Average Price) — ซื้อ/ขายตาม proportion ของ volume
- TWAP (Time-Weighted Average Price) — ซื้อ/ขายเท่าๆ กันตามเวลา
ใช้โดย institutional traders ที่ต้องซื้อขาย จำนวนมาก โดยไม่อยากดันราคา
เครื่องมือ / Tech Stack
ภาษาที่นิยม
Python:
- ดีที่สุดสำหรับ prototyping + backtesting
- Library:
ccxt(Exchange API),pandas(data),backtrader(backtesting),ta-lib(indicators) - ไม่เร็วพอสำหรับ HFT แต่เพียงพอสำหรับ strategy ทั่วไป
Go:
- ดีสำหรับ production bot — เร็ว, concurrent, deploy ง่าย
- เหมาะกับ bot ที่ต้องจัดการ หลาย connection พร้อมกัน
- ใช้ goroutines สำหรับ parallel data processing
Rust:
- เร็วที่สุด — เหมาะกับ HFT (High-Frequency Trading)
- Memory safety ไม่ต้องกังวล memory leak ในระบบที่ run 24/7
- ยากกว่า Go/Python แต่ performance คุ้ม
Exchange APIs
Exchange หลักๆ ที่มี API ดี:
- Binance — API ครบ, volume สูง, documentation ดี
- Bybit — API เร็ว, Futures ดี
- OKX — API หลากหลาย
- Coinbase — เหมาะตลาด US
Backtesting
ทดสอบ strategy กับ historical data ก่อนใช้เงินจริง
สิ่งที่ต้องระวัง:
- Overfitting — strategy ทำงานดีกับ historical data แต่ fail ใน live
- Survivorship bias — ทดสอบแค่เหรียญที่ยังอยู่ ลืมเหรียญที่ตายไปแล้ว
- Slippage + Fee — ต้องรวมค่า fee และ slippage ใน backtest ด้วย
Latency & Infrastructure
ทำไมความเร็วสำคัญ
ในตลาด crypto ที่เปิด 24/7 โอกาส arbitrage อยู่ มิลลิวินาที
- Co-location — วางเซิร์ฟเวอร์ใกล้ Exchange (ลด network latency)
- WebSocket — ดีกว่า REST polling (ลด latency 100ms+)
- Connection pooling — reuse connection ไม่ต้อง handshake ใหม่ทุกครั้ง
Infrastructure ที่แนะนำ
เริ่มต้น: VPS (DigitalOcean, AWS) ใกล้ Exchange datacenter
จริงจัง:
- Dedicated server
- Multiple Exchange connections
- Monitoring + alerting
- Automatic failover
ข้อดี vs ข้อเสียของ Algo Trading
ข้อดี
- ไม่มีอารมณ์ ทำตาม rule 100%
- เร็วกว่าคนหลายเท่า
- ทำงาน 24/7
- Backtest ได้ก่อนใช้เงินจริง
- Scale ได้ — เทรดหลาย pair/Exchange พร้อมกัน
ข้อเสีย
- Bug = เสียเงิน — code ผิด 1 บรรทัดอาจขาดทุนหนัก
- Infrastructure cost — เซิร์ฟเวอร์, API, monitoring
- Strategy decay — strategy ที่เคยดีอาจ stop working เมื่อตลาดเปลี่ยน
- Black swan — เหตุการณ์ที่ไม่คาดคิดที่ algorithm ไม่ได้เตรียมรับมือ
- Competitive — แข่งกับ bot ของคนอื่นที่อาจเร็วกว่า
สิ่งที่มือใหม่ต้องระวัง
1. เริ่มจาก Paper Trading
ทดสอบด้วย เงินปลอม ก่อนเสมอ หลาย Exchange มี testnet/sandbox
2. เริ่มจาก Strategy ง่ายๆ
Moving Average Crossover หรือ RSI strategy เพียงพอสำหรับเริ่มต้น อย่าเริ่มจาก Machine Learning
3. อย่า Overfit Backtest
ถ้า backtest สวยเกิน (win rate 90%+) → น่าสงสัย อาจ overfit กับ historical data
4. รวมค่า Fee เสมอ
Strategy ที่กำไร 0.1% ต่อ trade แต่ค่า fee 0.1% → ไม่กำไร
5. มี Kill Switch
ปุ่มปิด bot ฉุกเฉิน + auto-stop เมื่อขาดทุนเกินกำหนด ต้องมีเสมอ
6. Monitor ตลอด
แม้ bot จะ auto แต่ต้อง ตรวจสอบสม่ำเสมอ — Exchange อาจ down, API เปลี่ยน, market condition เปลี่ยน
เส้นทางการเรียนรู้
ขั้นที่ 1: เข้าใจ market basics (order types, candlestick, indicators)
ขั้นที่ 2: เขียน script ดึงข้อมูลราคาจาก Exchange API
ขั้นที่ 3: Backtest strategy ง่ายๆ (MA Crossover) กับ historical data
ขั้นที่ 4: Paper trade — รัน bot กับตลาดจริง แต่ไม่ใช้เงินจริง
ขั้นที่ 5: Live trade — เริ่มด้วยเงินน้อยๆ แล้วค่อยเพิ่ม
ขั้นที่ 6: ปรับปรุง — วิเคราะห์ผลลัพธ์, ปรับ parameter, เพิ่ม strategy
สรุป
Algo Trading ไม่ใช่ "เครื่องพิมพ์เงิน" — มันเป็นเครื่องมือที่ช่วยให้เทรด อย่างมีระบบ ไม่ใช้อารมณ์ สิ่งสำคัญที่สุดคือ strategy ที่ดี + risk management ที่เข้มงวด + infrastructure ที่เสถียร ไม่ใช่ code ที่เร็วที่สุด