آموزش Polymarket Bot · فصل 23 از 32
الگوهای bot برای بازارهای up-down پنجدقیقهای BTC/ETH در Polymarket: 288 انقضا در روز، execution حساس به latency، منابع edge، اینکه چرا بیشتر retail botها میبازند، و skeleton کد برای strategy.
این فصل چه چیزهایی را پوشش میدهد
سری 5 دقیقهای up/down بیتکوین در Polymarket روزی 288 بار resolve میشود و هر edge کوچکی را در تکرارهای زیاد compound میکند. با وجود حجم بالا، بیشتر retail botها اینجا میبازند چون معیار latency و edge را firmهای حرفهای تعیین میکنند. این فصل همان چیزهایی است که واقعاً دوام میآورند.
- بازارهای crypto پنجدقیقهای چیستند
- 288 انقضا در روز = تکرارهای compound شونده
- چرا retail botها اینجا میبازند
- منابع edge که دوام میآورند
- بودجه latency
- ریسک: کوچک در هر trade، بزرگ در هر روز
- کد: skeleton strategy پنجدقیقهای
بازارهای crypto پنجدقیقهای چیستند
بازارهای crypto پنجدقیقهای Polymarket سوالهای binary up/down درباره قیمت BTC (و ETH) هستند. بازارهای جدید هر 5 دقیقه باز میشوند؛ هر بازار 5 دقیقه پس از باز شدن و بر اساس closing price، از یک oracle منتشرشده resolve میشود.
این ساختار برای هر asset، روزانه 288 بازار ایجاد میکند. فرصت compound شدن هر edge بسیار بزرگ است: حتی یک edge کوچک در هر trade وقتی روزانه 100 بار یا بیشتر قابل استفاده باشد، معنادار میشود.
طرف دیگر ماجرا این است که معیارها را firmهای حرفهای تعیین میکنند. mid در همراستایی تنگ با underlying price feed حرکت میکند و bookها معمولاً روی leg سمت اشتباه thin هستند.
288 انقضا در روز = تکرارهای compound شونده
اگر edge شما در هر trade برابر 0.5c با win rate 55% باشد و بتوانید روزی 60 trade انجام دهید، expected daily PnL برابر است با 60 × 0.5c = $0.30 روی positions دهشِیَری = $3 در روز. کوچک به نظر میرسد، اما compound میشود: 252 روز معاملاتی × $3 = $750 در سال با exposure تقریباً صفر به سرمایه (positions ظرف 5 دقیقه resolve میشوند).
برای اینکه همین edge در یک binary که فقط هر فصل resolve میشود به $750 در سال برسد، به size بسیار بزرگتر در هر trade و tailهای ضرر بسیار پهنتری نیاز دارید.
بازارهای 5 دقیقهای تنها بخشی در Polymarket هستند که در آن edgeهای کوچک اما پرتکرار به درآمد سالانه معنادار تبدیل میشوند.
چرا retail botها اینجا میبازند
سه failure mode که بهطور مداوم entrants خرد را نابود میکنند.
- Latency: firmهای حرفهای سفارشها را در 50-100ms ثبت میکنند؛ retail botها 1-3 ثانیه طول میکشند. وقتی شما fire میکنید، price از قبل در new mid قرار گرفته است.
- Information asymmetry: CEX زیرین (Binance، Coinbase) trade tape را سریعتر از price feed خود Polymarket چاپ میکند. botهایی که subscription مستقیم CEX ندارند، با داده stale معامله میکنند.
- Spread tax: با cadence پنجدقیقهای، حتی spread برابر 0.5c × 60 trade = 30c در روز هزینه اجتنابناپذیر است. edge باید قبل از سودآور شدن، این هزینه را جبران کند.
Retail botها معمولاً سر به سر میشوند یا میبازند، چون نه میتوانند از pros جلو بزنند و نه از spread tax فرار کنند. strategyهایی که برای retail کار میکنند، strategyهای edge-against-pros نیستند؛ آنها strategyهای slow-decision با مزیتهای اطلاعاتی مشخص هستند.
منابع edge که دوام میآورند
آنچه در بازارهای 5 دقیقهای برای retail جواب میدهد.
- سوگیری directional مبتنی بر funding rate: funding مثبت شدید در perp futures بازگشت به میانگین را پیشبینی میکند؛ در خلاف جهت funding rate معامله کنید.
- پنجرههای open-interest-clearing: در ابتدای هر ساعت، liquidation در perp futures محتملتر است؛ حرکتهای شدید در آن پنجره را fade کنید.
- arbitrage تسویه در پنجره پایانی: در 30 ثانیه آخر یک پنجره 5 دقیقهای، قیمت تسویه increasingly knowable میشود؛ book اغلب liquidity نازکی را در probabilityهایی ارائه میدهد که با live tape همخوانی ندارند.
آنچه جواب نمیدهد: signalهای صرفاً technical (RSI، moving average)، copy کردن ساده momentum، هر چیزی که نیاز داشته باشد bot از pros سریعتر باشد.
بودجه latency
برای یک strategy پنجدقیقهای قابلاجرا، breakdown بودجه تقریباً اینگونه است:
- خواندن source سیگنال (CEX trade tape، funding rate): 100-300ms
- محاسبه تصمیم: 50ms
- ثبت FOK order: 200-500ms
- دریافت تایید fill: 200ms
جمع: 550-1050ms. این مقدار روی یک VPS با paid RPC و subscription مستقیم WebSocket از CEX قابل دستیابی است. روی laptop خانگی یا با free-tier APIها قابل دستیابی نیست.
strategyهایی که به کمتر از 500ms total نیاز دارند، در قلمرو حرفهایها هستند؛ retail نباید آنجا رقابت کند.
ریسک: کوچک در هر trade، بزرگ در هر روز
اندازهگذاری برای بازارهای 5 دقیقهای: کوچک در هر trade، با سقف روزانه.
- در هر trade: 5-15 سهم ($1-6) برای هر market. کمتر از 5، فروشهای GTC را عملاً غیرممکن میکند؛ بیشتر از 15 در entry book را جارو میکند.
- مجموع روزانه: 50-100 trade. بیشتر از این، exposure همبسته به یک quirk واحد oracle ایجاد میکند.
- kill switch سود و زیان روزانه: اگر PnL تجمعی بیش از $10 (یا 5% سرمایه تخصیصیافته) منفی شد، توقف کنید. روزهای بد در بازارهای 5 دقیقهای معمولاً به این دلیلاند که یک فرض strategy شکسته است؛ از روز جان سالم به در ببرید، debug کنید، و دوباره deploy کنید.
نامتقارن بودن بین size هر trade و تعداد روزانه عمدی است. شما breadth بازی میکنید، نه depth.
کد: skeleton strategy پنجدقیقهای
Reference: حلقه معاملاتی برای یک bot مبتنی بر funding rate در 5 دقیقه.
def five_min_loop():
while True:
wait_for_next_window_open() # blocks until xx:x0:00 or xx:x5:00
markets = find_open_5min_markets("btc")
if not markets: continue
funding = fetch_perp_funding_rate("BTCUSDT")
bias = "DOWN" if funding > 0.001 else "UP" if funding < -0.001 else None
if bias is None: continue
market = markets[0]
token = market["clobTokenIds"][0 if bias == "UP" else 1]
book = fetch_book(token)
if not book.best_ask or book.best_ask > 0.55: continue
place_fok(token, "BUY", book.best_ask + 0.01, 10)
افزودههای نسخه production: track کردن positions در سراسر window پنجدقیقهای برای زمانبندی دقیق exit، paper-trade برای 30 window قبل از live، و توقف در صورت ضررهای consecutive.





