3 בנובמבר 2026 · ביצוע

ניהלנו עסקת בסיס במסחר מדומה. רגל אחת התמלאה.

ניהלנו עסקת בסיס במסחר מדומה. רגל אחת התמלאה.

הפונקציה נקראה enter_pack. זאת הייתה אמורה להיות האזהרה. סוכן מחקר כתב עסקת קאש-אנד-קרי על BTC: כשהפרפטואוול נסחר ביותר משמונה נקודות בסיס מעל הספוט, לקנות ספוט, לשורט את הפרפ, לשבת בשקט. המימון והבסיס יעשו את השאר. הבקטסט מילא את שתי הרגליים באותה מילישנייה, ב-mid, ועוד טיק של נימוס. עקומת ההון הייתה גרם מדרגות. אף אחד לא היה קורא לזה מרגש. זו הייתה נקודת המכירה.

העלינו אותו למסחר מדומה ביום שני.

יום שני: החבילה שתמיד התמלאה

הסיגנל הראשון נחת ב-11:17 UTC. הבסיס על המסך היה 9.4 bps, הפרפ יקר. בבקטסט, enter_pack החזיר שני מילויים ושייר של אפס. במסחר מדומה הוא החזיר מילוי ספוט של 0.40 BTC ב-ask, ושורט יושב על הפרפ שלא נסחר.

הספוט שילם עמלת taker של 4 bp ומרווח של בערך 1 bp. מחיר הפרפ שרצינו עדיין היה בספר, ואז כבר לא. עשרים שניות אחר כך הבסיס המצוטט היה 5 bps, כי הרגע הרמנו את הספוט. ארבעים שניות אחר כך הפרפ התמלא, אחרי התנועה. היינו ארוזים. היינו ארוזים בבסיס שכבר לא כיסה את הכניסה והיציאה.

הבקטסט היה רושם "+9.4 bps קארי, שייר 0." בבלוטר היו 4 bps של עלות taker בספוט, לונג לא מגודר של 40 שניות, ופער כניסה של בערך 5. היה לי מדגם של אחד, ועדיין יותר מדי ביטחון בגרם המדרגות.

יום שלישי: פתחנו את הפונקציה

enter_pack לקחה רשימת רגליים ו-mid יעד. היא עברה בלולאה, מילאה כל רגל ב-mid * (1 ± slip), וכתבה שורת תיק אחת. לא הייתה חותמת זמן שנייה. לא היה ענף שבו רגל שתיים לא קיימת. בדיקת היחידה טענה residual == 0.

זו בדיקה שגורמת לך להרגיש מבוגר. היא לעולם לא תיכשל.

פיצלנו את החבילה לשתי פקודות עם מצב משלהן: הוגש, חלקי, מולא, בוטל. Incomplete הפך לאובייקט ממעלה ראשונה. לשיחזור ההיסטורי עדיין לא היה ספר אמיתי, אז רימינו. לעכב את המילוי השני בהגרלה מזמן ההמתנה של יום שני (ממוצע 26 שניות, זנב שלא אהבתי), ולהסיט את המחיר לפי מה שהספוט עשה בחלון הזה. גס, אבל לגרם המדרגות צמחו מגרעות לפני הצהריים: חבילות שנכנסו ב-3 bps, חבילות שמעולם לא הפכו לחבילות.

יום רביעי: שלוש שניות, ואז לזרוק

אם הרגל השנייה לא בפנים תוך שלוש שניות, לשטח את הראשונה. היינו צריכים להתחיל משם. זה נשמע שמרני עד שמתמחרים את הביטול. שיטוח אומר שחצית את הספוט כדי להיכנס ואתה חוצה אותו כדי לצאת. שתי עמלות taker, שני מרווחים, בלי קארי, בלי מימון. בשיחזור שנכתב מחדש הביטולים האלה לא היו נדירים. הם התקבצו בברים שבהם הבסיס נראה הכי "אמיתי", שבדרך כלל הם הברים שבהם משהו כבר זורם דרך הספוט.

עד ליל רביעי היו לנו שבעה עשר סיגנלים במסחר מדומה להתווכח איתם.

17סיגנלים במסחר מדומה בארבעה ימים
7חבילות עם שתי רגליים מלאות
18 bpsתנועה מאוחרת נגד לונג שנשאר
בקטסט, יום שני בבוקרמסחר מדומה, עד יום רביעי
כניסהשתי הרגליים ב-mid, חותמת זמן אחתספוט ב-ask; פרפ 5–40 שניות אחר כך, או אף פעם
שיירתמיד 0לא מגודר ב-10 מתוך 17 סיגנלים
עמלות בעסקה פעילהשני takersשני takers, או ארבעה אם מבטלים
מנוע PnLבסיס + מימוןמה שהספוט עשה בזמן שהמתנו
חבילה שלמה כששתי הפקודות מולאו, אחרת זו פוזיציה כיוונית שלא כיילתם לה גודל. סמנו את השייר מול הספר החי כל עוד הוא קיים. אם אי אפשר לסמן אותו, אי אפשר להריץ את האסטרטגיה.

לעמית עדיין יש מחברת שמתייחסת לחבילה כמוצר רשום, BTC_CARRY, עם "מס ביצוע" שטוח של 2 bp. אהבתי את המחברת הזאת. היא ייצרה את אותו גרם מדרגות שהסוכן ייצר. מס הוא ממוצע. יתומים הם התפלגות. ממוצעים לא נדרסים בשעה דלילה; 0.40 BTC של ספוט שנשאר כן.

יום חמישי: השייר, ואז קפה

שלוש שניות ביטלו כמעט הכול ברגע שהמתנו גם בתור. הרפינו את המסחר המדומה לחמש עשרה. ב-02:11 UTC ביום חמישי, הספוט התמלא והפרפ לא. עוד הייתי בשלב האבל של "הוא יישב, הוא ירים" כשהלכתי להכין קפה.

02:11:08 מולא BTCUSDT 0.40 buy
02:11:08 הוגש BTCUSDT-PERP 0.40 sell, post-only
02:11:41 עדיין פעיל
02:26:00 סימון שייר −18.1 bps

BTC ירד ב-18 bps בחלון שקט. השייר היה כל העסקה. המימון, כשהודפס, זיכה פרפ שלא היה לנו. הספוט פשוט ישב שם בתור לונג. מסלול הלילה של הבקטסט המקורי מעולם לא הכיל פוזיציה חד-רגלית, ולכן מעולם לא שאל את השאלה שאנחנו שואלים על כל ספר אחר: מה הבר הגרוע ביותר שהשייר הזה יכול להדפיס, ואיפה הסטופ לפוזיציה שלא התכוונו להחזיק?

גם שבע החבילות המלאות לא היו גיבורות. עד שהרגל השנייה הודפסה, ההרמה שלנו בספוט כבר לחצה על האינדקס, ובסיס הכניסה היה גרוע ב-3–5 bps מהצילום שהפעיל את הסיגנל. סף שמונה ה-bps היה מספר על מסך.

מה שהיינו מדלגים עליו בפעם הבאה

לא היינו משחררים מולטי-לג כפונקציית מילוי אחת. אותו כלל לקארי פרפ-ספוט, לקלנדר, או לקול ורטיקל שסוכן מגיש כשני לימיטים ואז חוגג כששניהם "מתמלאים" ב-mid.

  1. מצב פקודה לכל רגל, כולל חלקיים. להתייחס לחבילה כהורה של שני טיקטים.
  2. טיימר מקסימום-יתום שבאמת יורה, ומסלול שיטוח שמשלם שני מרווחים בדרך החוצה.
  3. סימון לפי הספר על השייר, עם סטופ בגודל של השייר. הנטו הארוז הוא הנושיונל הלא נכון.
  4. בלי לזכות קארי, בלי לצבור מימון, עד ששתי הרגליים בפנים. Incomplete הוא Incomplete.
  5. לסרב ל-mid-on-mid כברירת מחדל לכל דבר עם שני טיקטים. אם חייבים לנחש, לנחש גרוע יותר ברגל הדקה ומאוחר יותר במילוי השני.

ולא היינו מכניסים את test_pack_is_atomic לרפו. Atomic הוא תכונה של מנוע התאמה, לא של פונקציית עזר. ספוט BTC ופרפטואוול BTC הם שני ספרים שלפעמים מתחרזים. מסחר מדומה הוא המקום שבו הם מפסיקים להתחרז, וזו הסיבה היחידה שגרם המדרגות היה אי פעם מעניין.

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