wxedge · ตัวติดตามกลยุทธ์ตลาด “อุณหภูมิสูงสุดของวัน” บน Polymarket — ข้อมูลจริง ไม่ใช่การเดา

กำลังเก็บข้อมูลจริง · 12 ไม้
โหมดเต็ม (หน้าเว็บสาธารณะ) — หน้านี้แสดง bin · ราคา · ความลึกของสมุด รวมถึงไม้ที่ยังไม่ settle และตัวเลขกติกาครบ · ถ้าต้องการซ่อน ตั้ง MODE=safe ใน workflow หรือรัน python3 build_monitor.py --mode safe

เป้าหมายก่อนใช้เงินจริง

ความคืบหน้า 5 ข้อ

1. หลักฐาน backtest
379 ไม้ · 93.9% ชนะ · $201,884
พิสูจน์ที่มาได้ทีละไม้ (pnl_proof 5 ชั้น ผ่านหมด)
2. หลักฐาน bid/ask จริง
วัดได้ 90 bins (ask−last median 0.0080)
ต้องมี log ตอน 16:00 local + depth จริง (log v3 เก็บแล้ว)
3. forward-test จริง ≥ 50 ไม้ · ชนะ ≥ 85%
12/50 ไม้ settled · ชนะ 25.0%
เก็บจากตลาดจริงด้วยราคาที่จ่ายจริง
4. เงินทุน ≥ min-cap + 20%
ต้องยืนยันเอง (min-cap ≈ $959 จากไม้ที่แพงสุด → เป้า ~$1,200)
กัน drawdown 15% ของแผน sizing
5. บัญชีเทรดพร้อม
ต้องยืนยันเอง (Polymarket + USDC บน Polygon + ภูมิภาคที่ใช้ได้)
เช็ค ToS/ภูมิภาคก่อนฝากเงิน

ไม้จริงที่ต้องเก็บ (เป้า 50)

settled แล้ว12 / 50
เป้า: settle แล้วนับอัตโนมัติจาก forward_resolve.py
อัตราชนะจริง25.0%
เป้า: ต้อง ≥ 85% ตอนครบ 50 ไม้
ข้อมูลดิบที่เก็บได้21148 snapshot (เมือง×รอบ)
เป้า: เป้า 200 = 33 เมือง × ~2 วันครึ่ง

สถานะ pipeline

รอบถัดไป: —

log เริ่มเก็บ:

สร้างหน้านี้:

ข้อมูลฝังในหน้า ณ เวลาที่สร้าง — กด “โหลดใหม่” เพื่อดึงล่าสุด

KPI หลัก

ไม้จริง (settled)

12
จาก log v3 · 12 แถวทั้งหมด (รวมที่รอเฉลย)

อัตราชนะจริง

25.0%
YES 0.0% · NO 42.9%

Backtest PnL (หลักฐาน)

$201,884
379 ไม้ · ชนะ 93.9% · ROI +533% · stake $100

Drawdown สูงสุด (backtest)

$200
0.53% ของเงินที่วางทั้งหมด · ไม้แพ้ติดกันสูงสุด 2

ช่องว่าง ask−last (วัดจริง)

0.0080
median จาก 90 bins · spread median 0.0160
วัดเมื่อ

Brier score (ความน่าเชื่อถือ p)

0.9477
จากไม้ settled ที่มี model_p · ยิ่งต่ำยิ่งดี (0.25 = เดาสุ่ม)

Forward-test — ผลจริงจากตลาด

ผลตามฝั่ง

ผลจริงจาก log (ถ่วงจากราคาจ่ายจริง ถือถึงเฉลย)
ฝั่งไม้ชนะอัตราชนะ
YES500.0%
NO7042.9%
แยกตามเมือง (ไม้จริง)
เมืองไม้ชนะอัตราชนะPnL
lucknow600.0%$600
wellington3266.7%+$261
dallas100.0%$100
panama-city100.0%$100
denver11100.0%+$456

ไม้ที่เก็บได้ต่อวัน

จำนวนไม้ที่เก็บได้ต่อวันแท่งแสดงจำนวนไม้ใน log ของแต่ละวัน (สูงสุด 6 ไม้/วัน)2026-09-25: 2 ไม้2026-10-10: 3 ไม้2026-10-12: 1 ไม้2026-10-13: 6 ไม้25 ก.ย. – 13 ต.ค.ล่าสุด

ความครอบคลุมของข้อมูลที่เก็บ

snapshot การแจกแจง + ราคาทุก bin (ใช้ทำ calibration/PIT)
วันเมือง×รอบ
957
801
1041
1002
953
1001
1111
999
1045
881
695
922
925
234

Backtest — หลักฐาน 379 ไม้

Equity curve ของ backtest 379 ไม้กำไรสะสมจาก 379 ไม้ เรียงตามวันที่ (stake $100/ไม้) · สิ้นสุดที่ $201,884 · drawdown สูงสุด $200$0$100,000$200,000train │ test1 ก.ค.22 ก.ย.

กำไรสะสมจากไม้ที่แนะนำทั้งหมด เรียงตามวันที่ · เส้นประ = จุดแบ่ง train/test (2026-08-15) · ยังไม่หักช่องว่าง ask — ดูแถว stress ด้านล่าง

แยกตามฝั่งและชั้นไม้

ไม้ที่แนะนำทั้งหมด (stake $100/ไม้ · ถือถึงเฉลย)
กลุ่มไม้ชนะอัตราชนะPnLสัดส่วนกำไร
รวมทั้งหมด37935693.9%+$201,884100.0%

Stress: ถ้าจ่ายแพงกว่าราคาที่บันทึก

คิดใหม่หลังหักช่องว่าง ask ที่วัดได้ (แหล่ง: reports/bidask_check.md)
สมมติฐานต้นทุนPnLเทียบฐาน
+ median ที่วัดได้ (+0.0060)+$180,218$-21,666
+ p90 ที่วัดได้ (+0.0200)+$156,467$-45,417
+ 3 ticks (0.03)+$141,455$-60,429

Train (227 ไม้)

$115,478
ชนะ 93.8% · ROI +281%

Test (152 ไม้ · ไม่เคยเห็นตอนตั้งกติกา)

$86,405
ชนะ 94.1% · ROI +284%

ป้ายกำกับสำคัญ

ตัวเลข backtest ใช้ “ราคาซื้อขายล่าสุด” จากประวัติตลาด · ราคาที่จ่ายจริงคือ ask ซึ่งแพงกว่า → ดู stress · สิ่งที่จะยืนยันของจริงคือ forward-test ด้านบน

โมเดล & จักรวาลเมือง

แหล่งพยากรณ์

11
รวมแบบ median_after_per_model_bias (หัก bias ต่อโมเดลก่อน)
ecmwf_ifs025, gfs_seamless, icon_seamless, gem_seamless, meteofrance_seamless, jma_seamless, ukmo_seamless, ecmwf_aifs025_single, best_match, ncep_nbm_conus, ncep_hrrr_conus

ความแม่นที่วัดได้

σ 1.219°C
MAE 0.856°C · σ 0.996°F · MAE 0.773°F
ใช้ป้อนการแจกแจงความน่าจะเป็นต่อ bin

จักรวาลที่ใช้จริง

33 เมือง
เกณฑ์: obs ตกใน bin ที่ตลาดตัดสิน ≥ 90% (จากข้อมูลจริง · อัปเดต )

agreement รายเมือง (ยิ่งสูง = obs ของเราตรงกับแหล่งตัดสินของตลาด)

  • amsterdam · 93%
  • atlanta · 96%
  • austin · 100%
  • buenos-aires · 100%
  • busan · 99%
  • cape-town · 98%
  • chengdu · 100%
  • chicago · 96%
  • chongqing · 100%
  • dallas · 100%
  • denver · 99%
  • houston · 100%
  • istanbul · 90%
  • jeddah · 100%
  • kuala-lumpur · 90%
  • los-angeles · 99%
  • lucknow · 92%
  • madrid · 92%
  • manila · 99%
  • mexico-city · 93%
  • miami · 98%
  • milan · 93%
  • nyc · 98%
  • panama-city · 95%
  • qingdao · 99%
  • san-francisco · 99%
  • sao-paulo · 100%
  • seattle · 99%
  • shanghai · 90%
  • tel-aviv · 93%
  • toronto · 98%
  • wellington · 94%
  • wuhan · 100%
เมืองที่ตัดออก (17) — obs ของเราไม่ตรงกับแหล่งตัดสินของตลาด
  • ankara · 86%
  • beijing · 84%
  • guangzhou · 79%
  • helsinki · 83%
  • hong-kong · 51%
  • jinan · 67%
  • karachi · 86%
  • london · 87%
  • moscow · 83%
  • munich · 81%
  • paris · 83%
  • seoul · 83%
  • shenzhen · 52%
  • singapore · 86%
  • taipei · 88%
  • tokyo · 84%
  • warsaw · 89%

ห้ามเทรดเมืองเหล่านี้ต่อให้โมเดลแม่น — ต่อให้ทายถูกลม ก็แพ้ตอนตัดสิน (เช่น hong-kong 51%)

Bias ต่อโมเดล (°C / °F) — หักออกก่อนรวม
โมเดลbias
best_match|C-0.328
best_match|F0.097
ecmwf_aifs025_single|C-1.082
ecmwf_aifs025_single|F-1.059
ecmwf_ifs025|C-0.428
ecmwf_ifs025|F0.156
gem_seamless|C-0.432
gem_seamless|F-0.202
gfs_seamless|C-0.241
gfs_seamless|F0.097
icon_seamless|C-0.450
icon_seamless|F-0.177
jma_seamless|C-1.857
jma_seamless|F-1.485
meteofrance_seamless|C-0.542
meteofrance_seamless|F-0.434
ncep_hrrr_conus|C-0.024
ncep_hrrr_conus|F0.097
ncep_nbm_conus|C0.393
ncep_nbm_conus|F-0.533
ukmo_seamless|C-0.291
ukmo_seamless|F0.091

กติกาที่ล็อกไว้

จังหวะเข้าไม้

  • เข้าเวลา local 16:00 (ช่วง 15:00–17:00 · ช่วงสายช่วยได้ 15:00 / 17:00)
  • โมเดลต้อง p ≥ 0.9 (โหมดคม p ≥ 0.97)
  • ราคา YES: 0.02–0.1 (ไม้หลัก) / 0.02–0.25 (ไม้รอง)
  • edge ≥ 0.15 · spread ≤ 0.04
  • ฝั่ง NO: YES bid ≥ 0.5 และ bid − p ≥ 0.3 (bin ที่พิสูจน์ว่าเป็นไปไม่ได้)
  • bucket ที่ซื้อ = bin ที่มี max-so-far อยู่ข้างใน (บัคเก็ตปัจจุบัน = bin ที่จะชนะถ้าวันจบเดี๋ยวนี้) — 100% ของไม้ใน backtest · ไม่ซื้อ bin สูงกว่า (แพ้เพราะ “ร้อนต่อ”) ไม่ซื้อ bin ต่ำกว่า
  • รอบเสริมที่ทดสอบแล้วดีกว่า: ชั้น ≤0.10 เก็บได้ตั้งแต่ 14:00 (hit 83%) + รอบหลัก 16:00–17:00 → 259 ไม้ · 88.0% · ROI +906% (vs รอบเดียว 165 ไม้ · 87.9% · +817%)

ขนาดไม้ & ความเสี่ยง

  • ไม้ละ 1.00% ของพอร์ต (ช่วงทดลองใช้ 0.25–0.5%)
  • สูงสุด 6 ไม้/วัน · 5% ของพอร์ต/วัน
  • หยุดเมื่อ drawdown 15%
  • ทางออก: hold_to_resolution · stop เสริม -25%

ต้นทุน & เผื่อไว้

  • tick ขั้นต่ำ 0.01 · ค่าธรรมเนียมสมมติ 0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0%
  • ไม้ที่ราคา < 0.02 ห้ามซื้อ (ทดสอบแล้วชนะแค่ 6.0%)
  • เทียบ ask จริงทุกครั้งก่อนกดซื้อ
ระบบ ML (ทดสอบแล้ว): ML top-1 46.6% vs ours 44.5% (+2.1pts, Brier .672 vs .715) — ใช้เป็นตัวช่วยยืนยันได้
ML แพ้: 16:00 max 85.8% vs 86.2% · เงิน 16:00 80.0% vs 85.5% (ROI +517% vs +561%) · 14:00 67.7% vs 84.6%
ไม่แทนสูตรเราในเส้นเงิน · ใช้ ML ช่วยเฉพาะ 'เลือก bin' ตอน day-ahead
ทดสอบแล้ว “ไม่ใช้” (กันหลงทางซ้ำ)
  • laddering — no effect: legs/basket 1.00, worst -34.6%
  • regional_models — no gain: EU -0.7..-5.3 pts, Asia -4.3..0.0
  • ensemble_member_counting — worse: 71.4% vs 86.9% intraday
  • price_below_002 — trap: 6.0% win

รอบงานอัตโนมัติ

ตารางที่ตั้งไว้บน GitHub Actions (UTC) — ทุกอย่าง commit กลับเข้า repo เอง
เวลาทำอะไรได้อะไร
ทุก 30 นาที (:00, :30 UTC)เช็คว่ามีเมืองถึงเวลาตัดสินใจไหม → สแกนเฉพาะเมืองนั้นbid/ask + depth + obs + σ + snapshot
ทุกวัน 03:20 UTCอัปเดตจักรวาล · วัดช่องว่าง bid/ask · เติมเฉลยhit rate/EV/Brier จริง + รายงาน
ทุกครั้งที่ pushรันชุดทดสอบ 20 ข้อกันโค้ดพังเงียบ ๆ

นาที CI ที่ใช้ ~1,400–1,700/เดือน — อยู่ในโควตาฟรีของ repo ส่วนตัว (2,000 นาที)