מדריך בוט של Polymarket · פרק 23 מתוך 32
תבניות בוט לשווקי BTC/ETH של עלייה-ירידה ל-5 דקות ב־Polymarket: 288 תפוגות ביום, ביצוע קריטי-ל־latency, מקורות edge, למה רוב הבוטים הקמעונאיים מפסידים, ושלד קוד לאסטרטגיה.
מה מכסה הפרק הזה
סדרת ה-BTC ל-5 דקות של Polymarket מתיישבת 288 פעמים ביום, ומעצימה כל edge לאורך חזרות רבות. רוב הבוטים הקמעונאיים מפסידים כאן למרות הנפח, משום שבר ה-latency וה-edge נקבע על ידי חברות מקצועיות. זה מה ששורד.
- מהם שווקי הקריפטו ל-5 דקות
- 288 תפוגות ביום = חזרות מצטברות
- למה בוטים קמעונאיים מפסידים כאן
- מקורות edge ששורדים
- תקציב latency
- סיכון: קטן לכל עסקה, גדול לכל יום
- קוד: שלד אסטרטגיה ל-5 דקות
מהם שווקי הקריפטו ל-5 דקות
שווקי הקריפטו ל-5 דקות של Polymarket הם שאלות בינאריות של עלייה/ירידה על מחיר BTC (וגם ETH). שווקים חדשים נפתחים כל 5 דקות; כל אחד מהם מתיישב לפי מחיר הסגירה 5 דקות לאחר הפתיחה, על סמך oracle שפורסם.
זה מייצר 288 שווקים לכל נכס ביום. פוטנציאל ההצטברות של כל edge הוא עצום: אפילו edge קטן לכל עסקה הופך למשמעותי כשאפשר לנצל אותו יותר מ-100 פעמים ביום.
הצד השני: הרף נקבע על ידי חברות מקצועיות. ה-mid נע יחד בצמידות הדוקה עם פיד המחיר הבסיסי, והספרים בדרך כלל דקים בצד הלא נכון.
288 תפוגות ביום = חזרות מצטברות
אם ה-edge שלך הוא 0.5 סנט לעסקה עם שיעור הצלחה של 55% ואתה יכול לבצע 60 עסקאות ביום, ה-PnL היומי הצפוי הוא 60 × 0.5 סנט = 0.30$ על פוזיציות של 10 יחידות = 3$/יום. זה נשמע זעיר, אבל זה מצטבר: 252 ימי מסחר × 3$ = 750$ לשנה עם כמעט אפס חשיפת הון (הפוזיציות מתיישבות בתוך 5 דקות).
כדי שאותו edge יניב 750$ לשנה ב-binary שמתיישב פעם ברבעון, תצטרך גודל עסקה גדול בהרבה וזנבות הפסד רחבים בהרבה.
שווקים ל-5 דקות הם הסגמנט היחיד ב־Polymarket שבו edges קטנים אבל תכופים מצטברים להכנסה שנתית משמעותית.
למה בוטים קמעונאיים מפסידים כאן
שלושה מצבי כשל שמחסלים בעקביות כניסות קמעונאיות.
- Latency: חברות מקצועיות שולחות פקודות בתוך 50-100ms; בוטים קמעונאיים לוקחים 1-3 שניות. עד שאתה יורה, המחיר כבר נמצא ב-mid החדש.
- אי-סימטריית מידע: ה-CEX הבסיסי (Binance, Coinbase) מדפיס trade tape מהר יותר מפיד המחיר של Polymarket. בוטים בלי מנויי CEX ישירים סוחרים על נתונים מיושנים.
- מס ה-spread: בקצב של 5 דקות, אפילו spread של 0.5 סנט × 60 עסקאות = 30 סנט ליום בעלות בלתי נמנעת. ה-edge חייב לגבור על זה לפני שהוא הופך לרווחי.
בוטים קמעונאיים בדרך כלל שווים לאפס או מפסידים כי הם לא מסוגלים לעקוף את המקצוענים ולא יכולים לברוח ממס ה-spread. האסטרטגיות שעובדות לקמעונאים אינן edge-נגד-מקצוענים; הן אסטרטגיות קבלת החלטות איטית עם יתרונות מידע ספציפיים.
מקורות edge ששורדים
מה כן עובד לקמעונאים בשווקים ל-5 דקות.
- הטיה כיוונית מונעת-שיעור מימון: funding חיובי קיצוני בחוזי perp צופה חזרה לממוצע; סוחרים נגד שיעור המימון.
- חלונות סגירת open interest: בתחילת כל שעה, סביר יותר לראות liquidations בחוזי perp; דועכים מהלכים קיצוניים בחלון הזה.
- ארביטראז' התיישבות בחלון מאוחר: ב-30 השניות האחרונות של חלון 5 דקות, מחיר ההתיישבות נעשה יותר ויותר ניתן לחיזוי; הספר לעיתים קרובות מציע נזילות דקה בהסתברויות שלא תואמות את ה-tape החי.
מה לא עובד: סיגנלים טכניים טהורים (RSI, ממוצעים נעים), העתקת מומנטום פשוטה, כל דבר שדורש מהבוט להיות מהיר יותר מהמקצוענים.
תקציב latency
עבור אסטרטגיית 5 דקות ישימה, פירוט התקציב הוא בערך:
- קריאת מקור הסיגנל (trade tape של CEX, שיעור מימון): 100-300ms
- חישוב החלטה: 50ms
- שליחת פקודת FOK: 200-500ms
- קבלת אישור מילוי: 200ms
סה"כ: 550-1050ms. אפשרי ב־VPS עם RPC בתשלום ומנוי ישיר ל־WebSocket של CEX. לא אפשרי על מחשב ביתי נייד או עם APIs חינמיים.
אסטרטגיות שדורשות סה"כ < 500ms הן טריטוריה של מקצוענים; לקמעונאים אסור להתחרות שם.
סיכון: קטן לכל עסקה, גדול לכל יום
Sizing לשווקים ל-5 דקות: קטן לכל עסקה, מוגבל ביום.
- לכל עסקה: 5-15 יחידות ($1-6) לכל שוק. פחות מ-5 הופך מכירות GTC לבלתי אפשריות; יותר מ-15 מטפס על הספר בכניסה.
- סה"כ יומי: 50-100 עסקאות. יותר מזה יוצר חשיפה מתואמת לאותו מוזר oracle אחד.
- מתג כיבוי יומי ל-PnL: לעצור אם ה-PnL המצטבר יורד ביותר מ-> $10 (או 5% מההון שהוקצה). ימים רעים בשווקים ל-5 דקות נובעים בדרך כלל מהנחת אסטרטגיה שנשברה; לשרוד את היום, לדבג, לפרוס מחדש.
האסימטריה בין גודל העסקה לבין המספר היומי מכוונת. אתה משחק רוחב, לא עומק.
קוד: שלד אסטרטגיה ל-5 דקות
הפניה: לולאת המסחר עבור בוט מונע 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)
תוספות בגרסת ייצור: מעקב אחר פוזיציות לאורך חלון ה-5 דקות לתזמון יציאה מדויק, paper-trade במשך 30 חלונות לפני לייב, עצירה לאחר הפסדים רצופים.





