Petch's Investing Blog

Back to Home
codingPublished 2022-02-03

Developing a Neutral Exposure Engine: Trading the Spread

หลังจากที่ผมสร้างให้ระบบสามารถเฝ้าดู 150+ Tickers ได้พร้อมกัน ก็มีอีกอย่างที่น่าสนใจอยากทำในขั้นต่อมา ก็คือการยกระดับจากการเทรดสินทรัพย์เดี่ยว (Single Asset) ไปสู่การเทรดแบบจับคู่ หรือการเทรด Spread ซึ่งเป็นกลยุทธ์ที่มักพบในกองทุนประเภท Market Neutral

หัวใจสำคัญของการเทรด Spread คือการเปิดสถานะ Long ในสินทรัพย์หนึ่ง และ Short ในอีกสินทรัพย์หนึ่งพร้อมกัน เพื่อตัดความผันผวนของตลาดภาพรวมออกไป เราไม่ได้เดิมพันว่าราคาจะขึ้นหรือลง แต่เราเดิมพันกับ "ความสัมพันธ์" (Relationship) ระหว่างสองสินทรัพย์นั้น เช่น หากเรามองว่าเหรียญ A แข็งแกร่งเกินไปเมื่อเทียบกับเหรียญ B เราจะทำกำไรจากส่วนต่างที่เกิดขึ้น โดยไม่ต้องกังวลว่าช่วงนั้น BTC จะลากตลาดไปทิศทางไหน

The Complexity of Position Sizing

ความท้าทายแรกที่ผมเจอคือการคำนวณขนาดสถานะ (Position Sizing) ให้สมดุล การใช้มูลค่าเงินที่เท่ากัน (Equal Monetary Value) อาจฟังดูง่ายแต่ในทางปฏิบัติ สินทรัพย์แต่ละตัวมีอัตราการเคลื่อนที่ (Volatility) ไม่เท่ากัน

ผมจึงเลือกใช้แนวทางในการปรับจูนดังนี้:

  • Volatility Normalization: ผมนำค่า Average True Range (ATR) มาใช้เพื่อปรับ "น้ำหนัก" ของทั้งสองฝั่งให้เท่ากันในเชิงพฤติกรรมราคา เหรียญที่วิ่งแรงกว่าจะถูกลดขนาดสถานะลง ในขณะที่เหรียญที่เคลื่อนที่ช้าจะถูกเพิ่มขนาดสถานะเพื่อให้เกิด Impact ต่อพอร์ตที่สมดุลกัน
  • The Dynamic Challenge: ปัญหาที่พบคือ Volatility ไม่ใช่ค่าคงที่ มันมีการขยายตัวและหดตัวตลอดเวลา ระบบจึงต้องมีความยืดหยุ่นพอที่จะรับมือกับการเปลี่ยนค่าเหล่านี้ในขณะที่สถานะยังเปิดอยู่

Engineering for Scale: 150C2 Problem

ในเชิงเทคนิค การเปลี่ยนจากระบบเฝ้ามอง 150 ตัว มาเป็นระบบที่ต้องคำนวณความสัมพันธ์ระหว่างคู่ (Pairs) สร้างภาระให้หน่วยความจำมหาศาล ตามหลักการจัดหมู่ (Combinations) หากเราพิจารณาคู่เงิน 150 ตัว จำนวนคู่ที่เป็นไปได้คือ 150C2 หรือประมาณ 11,175 คู่

การเขียน Code ให้จัดการข้อมูลหลักหมื่นคู่พร้อมกันโดยไม่ให้ Memory Overload หรือระบบ Delay เป็นประสบการณ์ที่สนุกและท้าทาย ผมต้องปรับปรุง Algorithm ในการ Filter คู่เงินที่มีความน่าสนใจจริงๆ ออกมาก่อนที่จะทำการคำนวณเชิงลึก

พัฒนา Feature นี้ใน binance_bot

Petch's Investing Blog

Back to Home
Petch (Jakrapat Sangskul)

Petch

Jakrapat Sangskul

Born 1991 • Songkhla

Background

Ex-PTTEP Scholarhip & Well Engineer.

MWIT Alum. Petroleum Engineering at Chula.

Focus

Full-time investor since 2011. Navigating equity markets across Thailand, US, Japan, Turkey, and Vietnam.

jakrpat5@gmail.com

+66 86 959 0430

Lifelong Learning — Dedicated to Research