Polymarket Bot Tutorial · บทที่ 21 จาก 32
กลยุทธ์บอทตลาด Yes/No แบบไบนารีของ Polymarket: สัญญาเหตุการณ์มาตรฐาน, เลเวอเรจสูงสุดแบบ 1x ที่จำกัดตายตัว, การสเกลด้วยความกว้างของพอร์ต, ข้อผิดพลาดที่พบบ่อย (ไล่ซื้อที่ 0.99), และโครงร่างโค้ด
บทนี้ครอบคลุมอะไรบ้าง
ตลาดแบบไบนารี (Yes/No) คือรากฐานของ Polymarket กลยุทธ์ส่วนใหญ่เกิดขึ้นที่นี่ บทนี้ครอบคลุมเพดานเลเวอเรจ, กับดักราคา 0.99 ที่มักทำให้นักพัฒนามือใหม่พลาด, และแพตเทิร์นแบบ breadth-not-size ที่บอทระดับโปรดักชันมักจะไปลงเอยด้วย
- ตลาดไบนารีครอบคลุมอะไรบ้าง
- เพดานเลเวอเรจ 1x (และวิธีสเกลรอบข้อจำกัดนี้)
- ข้อผิดพลาดที่พบบ่อย: ไล่ซื้อราคาที่ 0.99
- ความกว้างของพอร์ตเป็นเลเวอเรจทางอ้อม
- ความเสี่ยงต่อหนึ่งตลาดเทียบกับทั้งพอร์ต
- โค้ด: สแกนตลาดไบนารีและส่งคำสั่งซื้อที่กำหนดขนาด
ตลาดไบนารีครอบคลุมอะไรบ้าง
ตลาดไบนารีคือรากฐานของ Polymarket: คำถามแบบ yes/no เพียงข้อเดียวที่มีโทเค็นผลลัพธ์สองฝั่ง "Trump จะชนะการเลือกตั้งปี 2024 หรือไม่?" เป็นไบนารี; ส่วน "ใครจะชนะการเลือกตั้งปี 2024?" ที่มีผู้สมัคร 5 คนเป็น NegRisk (บทที่ 11)
โทเค็นผลลัพธ์สองฝั่ง (YES และ NO) ในตลาดไบนารีรวมกันได้ 1.0 ลบด้วยค่าธรรมเนียมสเปรดเล็กน้อย คุณสามารถซื้อได้ทั้งสองฝั่ง; ทั้งสองฝั่งมี order book ของตัวเอง การตั้งราคาเป็นแบบสมมาตร-ซื้อ YES ที่ 0.40 เทียบเท่ากับขาย NO ที่ 0.60 ในแง่ของ expected payoff
ตลาดที่ไม่ใช่ทัวร์นาเมนต์ส่วนใหญ่บน Polymarket เป็นแบบไบนารี: คำถามเกี่ยวกับสภาพอากาศ, ผลลัพธ์ทางการเมืองของเหตุการณ์เดี่ยว, เกมกีฬานัดเดียว, คำถาม crypto แบบ single price-target บอทแพตเทิร์นจะคล้ายกันในตลาดส่วนใหญ่เหล่านี้
เพดานเลเวอเรจ 1x (และวิธีสเกลรอบข้อจำกัดนี้)
ไบนารีบน Polymarket เป็นเลเวอเรจ 1x: คุณจ่าย $40 เพื่อซื้อ 100 shares ที่ 0.40; payout สูงสุดคือ $100 ไม่มี margin และไม่มี liquidation ประสิทธิภาพการใช้ทุนต่ำกว่า perp futures (บทที่ 24) ซึ่งมีให้ใช้ 2-25x
การสเกลรอบเพดาน 1x หมายถึงอย่างใดอย่างหนึ่ง: (1) นำทุนไปกระจายข้ามหลายตลาด-กระจายความเสี่ยงแทนการใช้เลเวอเรจ, (2) หมุนทุนผ่านตลาดที่กำลังจะปิดผล-ทุนจะถูกปล่อยคืนเมื่อแต่ละตลาดตัดสินผลและหมุนไปยังตลาดถัดไป, (3) ใช้ตลาด NegRisk ซึ่ง arb แบบ sum-to-1 อาจสร้าง synthetic leverage ได้
กรอบคิดที่ถูกต้องสำหรับกลยุทธ์ไบนารีคือ: เลเวอเรจต่ำ, breadth สูง บอทที่成熟แล้วมักมีสถานะเล็ก 50 ตำแหน่งใน 50 ตลาด ไม่ใช่ 5 ตำแหน่งใหญ่ใน 5 ตลาด
ข้อผิดพลาดที่พบบ่อย: ไล่ซื้อราคาที่ 0.99
ความล้มเหลวที่พบบ่อยที่สุดของบอทไบนารี: ซื้อฝั่งที่เป็นตัวเต็งมากและใกล้ตัดสินผลที่ราคา 0.99 โดยหวังว่าจะได้กำไร 1 เซนต์แบบง่าย ๆ เมื่อมันตัดสินว่า YES
คณิตศาสตร์คือ: ที่ราคา 0.99 คุณจ่าย 99 เซนต์เพื่อหวังได้ 1 เซนต์ ความเสี่ยงล้มเหลว 1% (1 ใน 100 ตลาด) ซึ่งแต่ละตลาดทำให้คุณเสีย 99 เซนต์ จะลบล้างกำไรจากการชนะ 1 เซนต์ที่สำเร็จถึง 99 ครั้ง อัตราส่วนความเสี่ยงต่อผลตอบแทนโหดมากในโซนสุดขั้วนี้
ความสามารถในการรับขนาดก็เป็นปัญหาเช่นกัน หนังสือคำสั่งที่ 0.99 บางมาก; การวางขนาดที่มีนัยสำคัญจะดันราคาขึ้นไปเป็น 0.995 หรือสูงกว่า ทำให้ edge ที่บางอยู่แล้วหายไปอีก
หลีกเลี่ยงตลาดที่ตั้งราคา > 0.92 เว้นแต่คุณมีกลยุทธ์เฉพาะที่ออกแบบมาสำหรับโปรไฟล์ tail-yield arb โดยตรง บอทไบนารีส่วนใหญ่ไม่ควรซื้อเหนือ 0.85 เลย
ความกว้างของพอร์ตเป็นเลเวอเรจทางอ้อม
คุณไม่สามารถใช้เลเวอเรจกับตำแหน่งรายตัวได้ แต่คุณสามารถใช้ลักษณะความแปรปรวนของพอร์ตเป็นเลเวอเรจทางอ้อมได้ โดยถือเดิมพันที่ไม่สัมพันธ์กันหลายรายการพร้อมกัน
50 ตำแหน่ง ตำแหน่งละ $20 เท่ากับ $1,000 ที่กำลังใช้งานอยู่ หากอัตราชนะคือ 55% บนเศรษฐศาสตร์ +3c/-4c ค่า PnL รายวันคาดหวังคือ (0.55 × 3 − 0.45 × 4) × 50 × $0.20 = $1.50 คาดหวัง พร้อมความผันผวนที่จำกัด ผลตอบแทนคาดหวังเท่ากัน แต่ drawdown ต่ำกว่ามาก เทียบกับการมีตำแหน่งเดียว $1,000
ข้อกำหนด: ตำแหน่งต้องไม่สัมพันธ์กันจริง ๆ NFL favorites 50 รายการในสุดสัปดาห์เดียวกันไม่ใช่เดิมพันอิสระ 50 รายการ; ส่วนใหญ่แล้วมันคือการเดิมพันเรื่องสภาพอากาศและตัวเต็งที่มีความสัมพันธ์กันข้ามหลายเกม กระจายไปตามกีฬา, ประเภทเหตุการณ์, และกรอบเวลา
ความเสี่ยงต่อหนึ่งตลาดเทียบกับทั้งพอร์ต
ต้องมีเพดานความเสี่ยงสองชั้น ทั้งคู่จำเป็น
- ต่อหนึ่งตลาด: สูงสุด $X ต่อหนึ่งตลาด ไม่ว่าจะเห็น edge แค่ไหนก็ตาม ช่วยจำกัดความเสียหายหายนะจากตลาดเดียว ค่าที่ใช้กันบ่อย: $25-100 ต่อหนึ่งตลาด
- ทั้งพอร์ต: ทุนรวมสูงสุดที่นำไปใช้ในช่วงเวลาใดเวลาหนึ่ง จำกัด drawdown รวมในวันที่แย่แบบไม่สัมพันธ์กัน ค่าที่ใช้กันบ่อย: 50-70% ของยอดใน wallet
เพดานต่อหนึ่งตลาดสำคัญกว่า เพราะมันจำกัดรัศมีการระเบิดของบั๊กเดี่ยวหรือเหตุการณ์ที่ edge หายไป เพดานพอร์ตเป็นการเช็กความสมเหตุสมผล; เมื่อมี 50+ ตำแหน่ง กฎของตัวเลขจำนวนมากมักจะช่วยให้คุณอยู่ในกรอบอยู่แล้ว แม้ไม่มีมันก็ตาม
เพดานทั้งสองควรถูกบังคับใช้ในโค้ด ไม่ใช่แค่จำไว้ในหัว บอทที่ไม่มีการบังคับใช้เพดานจะพบในที่สุดว่าตัวเองตั้งค่าลงทุน 90% ของทุนไปที่ตลาดเดียวและขาดทุนหมด
โค้ด: สแกนตลาดไบนารีและส่งคำสั่งซื้อที่กำหนดขนาด
อ้างอิง: สแกนตลาดไบนารีที่มี volume สูงสุด, กรองเฉพาะ setup ที่ใช้ได้, ส่งคำสั่ง FOK buy ตามขนาด
def scan_and_buy():
events = gamma_top_events(limit=50, active=True, closed=False)
for ev in events:
for m in ev.get("markets", []):
if m.get("negRisk"): continue # binaries only
outs = json.loads(m["outcomes"])
prices = [float(p) for p in json.loads(m["outcomePrices"])]
for i, out_name in enumerate(outs):
if not setup_qualifies(m, i, prices[i]): continue
tok = json.loads(m["clobTokenIds"])[i]
size = compute_size(m, prices[i])
if size < 5: continue
place_fok(tok, "BUY", prices[i] + 0.02, size, neg_risk=False)
def setup_qualifies(m, idx, price):
return 0.10 <= price <= 0.85 # avoid extremes
ฟังก์ชัน setup_qualifies คือจุดที่กลยุทธ์ของคุณอาศัยอยู่ ส่วน wrapper เป็นแค่ plumbing เท่านั้น





