מדריך Bot של Polymarket · פרק 20 מתוך 32

עקבו אחר ארנקים של לווייתני Polymarket ובצעו copy-trade לביצועים המובילים בצורה פרוגרמטית: זהו ארנקים רווחיים באמצעות leaderboard וניתוח on-chain, ושכפלו את העסקאות שלהם עם כללי גודל ותזמון.

על מה הפרק הזה עוסק

להעתיק ארנקים מנצחים ב־Polymarket זו מחשבה פופולרית, אבל הלווייתנים האמיתיים ב־Polymarket עושים בעיקר arbitrage בסוף חלון הזמן על שווקים שכבר הוכרעו, לא הימורים כיווניים. הפרק הזה מציג את המחקר הכנה שלנו מניתוח on-chain: אילו ארנקים באמת כדאי להעתיק, למה רובם לא שווים העתקה, ומהו מתמטיקת sizing של פוזיציה.

  • זיהוי ארנקים רווחיים
  • זיהוי עסקאות on-chain
  • קביעת גודל פוזיציה ביחס ללווייתן
  • Latency: כמה איחור זה כבר מאוחר מדי
  • פילטרים: לעקוב רק אחרי ארנקים עם edge מוכח
  • קוד: זיהוי אירוע קנייה של לווייתן, וביצוע copy בגודל מתאים

זיהוי ארנקים רווחיים

ההנחה מאחורי העתקת לווייתנים היא שחלק מהארנקים רווחיים באופן עקבי, והעתקת הכניסות שלהם תתפוס חלק מה־edge שלהם. ניתוח on-chain של ארנקי Polymarket המובילים ב־2025-26 הניב תוצאה מפוכחת: רוב הלווייתנים הנראים לעין עושים arbitrage בסוף חלון הזמן בשווקים שהוכרעו, לא מסחר כיווני.

הפרופיל שמדדנו בשלושה ארנקי לווייתן מועמדים:

  • "hhhhhh6" (98.5% win rate, $n M volume) - 88% מהכניסות במחירים ≥0.95, חציון זמן כניסה 226 שניות מתוך חלון של 300 שניות. arbitrage טהור של tail-yield, לא כיווני.
  • "anonymous" (20% win rate) - מהמר כפייתי. העתקה שלו מפסידה כסף.
  • "Jkim123" (53.5% win rate) - הטלת מטבע. לא אות ששווה להעתיק.

0% מהעסקאות של הלווייתנים האלה התרחשו ב־120 השניות הראשונות של כל חלון של 5 דקות. אות חזוי (אם בכלל) היה מגיע מכניסות גדולות בתחילת החלון - אבל הארנקים האלה אינם אלה שנמצאים בראש ה־leaderboard, כי זה קשה.

זיהוי עסקאות on-chain

זיהוי העסקאות של ארנק יעד דורש או polling של ה־data-api של Polymarket או הרשמה לאירועי העברת CTF on-chain. האפשרות של data-api פשוטה יותר.

def watch_wallet(wallet_addr, last_seen_ts=0):
    while True:
        url = f"https://data-api.polymarket.com/activity?user={wallet_addr}&limit=100"
        events = requests.get(url).json()
        for ev in events:
            ts = int(ev.get("timestamp", 0))
            if ts <= last_seen_ts: continue
            if ev["type"] == "TRADE":
                process_whale_trade(ev)
            last_seen_ts = max(last_seen_ts, ts)
        time.sleep(5)

Polling כל חמש שניות הוא הרצפה הפרקטית עבור ה־data-api. פחות מזה תיתקלו ב־rate limits. לצורך זיהוי בתת-שנייה, הירשמו לאירועי ERC-1155 TransferSingle on-chain מתוך חוזה ה־CTF, מסוננים לפי כתובת ה־proxy של הלווייתן.

קביעת גודל פוזיציה ביחס ללווייתן

אם אתם קובעים את גודל ההעתקה שלכם כחלק קבוע מהעסקה של הלווייתן, אתם יורשים את פרופיל הסיכון שלו. שתי חלופות מעשיות.

  • מבוסס תקרה: קבעו לכל העתקה סכום דולרי קבוע ($10-50) בלי קשר לגודל העסקה של הלווייתן. צבירה איטית, אבל הפסד מוגבל לכל עסקה.
  • ממושקל לפי win rate: קבעו את גודל ההעתקה כפונקציה של win rate עדכני של הלווייתן. מעל 60% → העתקה בגודל מלא; בין 40-60% → חצי גודל; מתחת ל־40% → דילוג.

הגישה המבוססת על תקרה היא הפריסה הראשונה והבטוחה יותר. עברו לגישה הממושקלת לפי win rate רק אחרי שמדדתם את win rate האמיתי של הלווייתן על ההעתקות שלכן/ם (שבדרך כלל נמוך יותר מהמספר בכותרת, כי אתם מגיעים מאוחר).

Latency: כמה איחור זה כבר מאוחר מדי

העסקה של הלווייתן גלויה לציבור בתוך 1-2 שניות מרגע הביצוע. כדי להעתיק אותה צריך latency מהירה יותר מזה בצד הקריאה, ועוד latency משלכם להצבת ההזמנה.

End-to-end עבור bot copy טיפוסי: polling של 5-10 שניות + הצבת הזמנה של 200ms = 5-15 שניות בסך הכול. עד שההעתקה שלכם מופעלת, האות של הלווייתן כבר מגולם במחיר.

עבור 99% מההעתקות, זה מאוחר מדי בשווקים הצרים של Polymarket. הכניסה של הלווייתן הזיזה את ה־mid ב־1-2 סנט; אתם משלמים פרמיה של 1-2 סנט ביחס למחיר שבו הוא נכנס. אם ה־edge שלו היה 3c, חצי ממנו כבר נעלם עד שהגעתם.

Bot-ים של copy שעובדים עושים אחד משני דברים: (a) מכוונים לשווקים איטיים שבהם latency של 30 שניות לא משנה, או (b) משתמשים בהרשמה לאירועי on-chain כדי להגיב בטווחי זמן של תת-שנייה.

פילטרים: עקבו רק אחרי ארנקים עם edge מוכח

שלושה פילטרים לפני שמוסיפים ארנק כלשהו לרשימת ההעתקה שלכם.

  • 30+ עסקאות סגורות בהיסטוריה של הארנק. דגימות קטנות יותר הן רעש.
  • win rate לכל החיים > 60%, או ערך צפוי חיובי לכל עסקה על בסיס מחירי הכניסה. כל תנאי מספיק; שניהם עדיפים.
  • הדפוס הוא לא arbitrage בסוף חלון. בדקו את חציון השניות עד להכרעה בזמן הכניסה; אם הוא קרוב ל־0, הארנק עושה tail-yield arb שאי אפשר לשחזר.

רוב ארנקי המועמדים נופלים באחד משלושת אלה. המאגר של ארנקים שאפשר באמת להעתיק קטן. תחזוקת הרשימה דורשת בדיקה תקופתית מחדש - ארנקים שהיו רווחיים בחודש שעבר אולי לא יהיו כאלה החודש.

קוד: זיהוי אירוע קנייה של לווייתן, וביצוע copy בגודל מתאים

Reference: זיהוי אירוע CTF TransferSingle עבור לווייתן במעקב, והפעלת קניית copy בגודל מתאים.

from web3 import Web3
w3 = Web3(Web3.WebsocketProvider(POLYGON_WSS))
ctf = w3.eth.contract(address=CTF_ADDR, abi=CTF_ABI)
WHALES = {"0xabc...": {"fraction": 0.05, "cap": 50}}

def on_transfer(event):
    to = event.args["to"].lower()
    if to not in WHALES: return
    cfg = WHALES[to]
    token_id = event.args.id
    whale_size = event.args.value / 1e6
    copy_size = min(cfg["cap"], whale_size * cfg["fraction"])
    if copy_size < 5: return  # not worth fees
    book = fetch_book(str(token_id))
    if book.best_ask:
        place_fok(str(token_id), "BUY", book.best_ask + 0.01, copy_size)

# subscribe to ERC-1155 TransferSingle events from CTF
filt = ctf.events.TransferSingle.create_filter(fromBlock="latest")
while True:
    for ev in filt.get_new_entries(): on_transfer(ev)
    time.sleep(0.5)

הבחינו בין קנייה למכירה על ידי בדיקה של from (כתובת אפס = mint = הלווייתן קנה) לעומת to (כתובת אפס = burn = נמכר).

שאלות נפוצות

איך אני מוצא ארנקי Polymarket רווחיים להעתקה?
ה־leaderboard של Polymarkets מציג ארנקים מובילים לפי PnL על פני כמה חלונות זמן (שבוע, חודש, כל הזמנים). גם כלי ניתוח on-chain עצמאיים (DeFiLlama, דשבורדים של Dune) מדרגים ארנקי Polymarket. בחרו ארנקים עם רווחיות מוכחת לאורך חודשים, לא שבועות - רצפים חמים מתהפכים.
איך מזהים עסקת לווייתן בזמן אמת?
הירשמו ללוגים של עסקאות Polygon עבור כתובת הארנק (web3.py / ethers eth_subscribe), וסננו קריאות matchOrder בחוזי ה־exchange של Polymarket. פענחו את האירוע כדי לקבל את השוק, הצד והגודל. Latency: 2-10 שניות מאישור on-chain ועד שה־bot שלכם מגיב.
האם אפשר להעתיק עסקה של לווייתן בדיוק?
לא בדיוק - עד שאתם מזהים ומגישים, המחיר לעיתים קרובות כבר זז. ההעתקה הריאלית היא "scale-in": לקחת חלק מהפוזיציה של הלווייתן במשך כמה דקות אחרי העסקה שלו, ולקבל את ההידרדרות במחיר כעלות של ההעתקה. sizing: 1-5% מגודל הפוזיציה שלו לכל העתקה.
מה אם הלווייתן טועה הפעם?
אתם מפסידים. copy trading יורש את כל הסיכון של האסטרטגיה הבסיסית בתוספת הפסד בגלל latency. ההגנה היא להעתיק כמה לווייתנים ולראות בכל אחד מהם חלק קטן מהפורטפוליו שלכם - אם ל־5 לווייתנים יש כל אחד win rate של 60% באופן בלתי תלוי, הפורטפוליו צובר. אם אתם מעתיקים לווייתן אחד עם win rate של 60% ומתרכזים, השונות הורגת אתכם.
האם copy trading אסור ב־Polymarket?
לא. התנאים של Polymarket מאפשרים צפייה ב־leaderboards ציבוריים ובעסקאות. מה שאסור הוא multi-accounting (הפעלה של כמה ארנקים על ידי אותו אדם כדי לעקוף מגבלות). copy-trading של ארנקים של אחרים מהארנק היחיד שלכם הוא בסדר.
איך קובעים גודל ביחס ללווייתן?
שיטת sizing לפי חלק מהבנק: לעולם לא להעתיק עסקה בודדת ביותר מ־2-5% מהבנק הכולל שלכם, בלי קשר לכמה הלווייתן סחר. התייחסו לאות של הלווייתן כאחד מני רבים, לא כאל דבר בטוח. לווייתנים עם bankroll גדול פי 10 משלכם עדיין מפסידים - ה־drawdown היחסי שלכם גרוע בהרבה אם אתם מקבעים גודל אגרסיבי.