פיתוח מערכת בקטסטינג לאסטרטגיות ארביטראז' כפתרון מלא

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

שירותי פיתוח בלוקצ'יין

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

בקטסטינג של אסטרטגיות ארביטראז': היכן החישוב מתבדל מהמציאות

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

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

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

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

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

כאשר נתונים היסטוריים נאספים ידנית — באמצעות ייצוא מבורסות, עם אזורי זמן ופורמטים שונים — בדיקת השערה אחת נמשכת שבועות. גרוע מכך, התוצאה אינה ניתנת לשחזור: ריצה חוזרת על אותה מדגם לכאורה מתבדלת מהקודמת ב-15–20%, ולא ברור אם האסטרטגיה השתנתה או הנתונים.

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

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

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

מצבי בדיקת השערות: השוואת גישות ומגבלות

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

אפשרות מתי מתאימה מה לא תראה
בדיקה על נתונים היסטוריים סינון ראשוני של השערות, חיפוש חוקיות, הערכת רגישות לעמלות ולהשהיה תור הזמנות והשפעת ההזמנה שלך על ספר הפקודות: חלק מההזדמנויות בהיסטוריה נראות זמינות, אם כי בפועל הן כבר לא היו
בדיקה בזמן אמת התנהגות הלוגיקה ותזמונים על זרם ציטוטים חי אין ביצוע: הזמנות לא נשלחות לשוק, לכן החלקה וסירובים נשארים מחוץ לתמונה
סביבת בדיקה ללא כסף הרצה של החיבור לפלטפורמות, מפתחות גישה, טיפול בקרעי חיבור וביצועים חלקיים כללי הביצוע נקבעים על ידי הסביבה, ולא על ידי הפלטפורמה עצמה — הפער עם מסחר חי נשמר
חיבור חלקי בדיקה סופית על חלק קטן מההון תחת מגבלות קשיחות קנה מידה: בהיקף קטן האסטרטגיה לא נתקלת בנזילות ובמגבלות של הפלטפורמות

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

שלבי הטמעה: מניתוח נתונים ועד מסירת המתקן

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

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

ערכת אספקה: תצורות, סכמות ותקנות

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

  • תצורות סביבה — קבצים עם ניהול גרסאות הכוללים פרמטרים של חיבורים, מגבלות בקשות, פסקי זמן ומתג בין סביבת בדיקה לסביבת עבודה.
  • סכמות אינטגרציה — מסלול נתוני השוק מהמקור ועד למאגר, נקודות איסוף של ספרי פקודות ועסקאות, כללי נרמול ונקודות תורפה שבהן אפשריים קרעים ברצפים.
  • מדיניות גישה — תפקידי אנליסט, מפעיל ופריסה, הוצאת מפתחות מחוץ למאגר, רוטציה ואיסור עריכות בסביבת העבודה.
  • תקנות תפעול — סדר הכנת נתונים היסטוריים, הפעלת ריצה, שחזור תוצאה והתחשבנות בעמלות עם החלקה.
  • תיאור דוחות — הרכב המדדים (תשואה, ירידה, מחזור, שיעור אותות שבוצעו), פורמט ייצוא ופרשנות מדדים.
  • מרשם מגבלות ידועות — היכן המודל מפשט את המציאות: עומק היסטוריה, השהיות, נזילות דקה, ביצועים חלקיים.
  • הוראות פריסה וחזרה לאחור — הקמת סביבה מאפס וחזרה לתצורה קודמת.

בודקים את הערכה למעשה בעת הקבלה: פורסים את הסביבה על מכונה נקייה בקפדנות לפי ההוראות ומריצים שוב את ריצת האמת מידה. פער במדדים מעיד שהתיעוד אינו שלם — ומתקנים זאת לפני החתימה, ולא אחריה.

מקרה בוחן: כיצד צומצם הפער בין המודל לעסקאות אמיתיות

היכן אבדה הדיוק

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

מה נבנה מחדש

נבנה צינור אחוד: היסטוריית עסקאות וספרי פקודות נטענים באצוות, ואז מורצים באותו סדר כמו בזמן אמת, תוך התחשבות בעמלות, השהיית ביצוע ועומק המאגר. הריצה הפכה ניתנת לשחזור — לפי נקודת בקרה מהיומן ניתן לחזור עליה ולקבל את אותם מספרים. ארביטראז' בין מאגרים ב-Uniswap לבורסה מרוכזת נחשב כתרחיש נפרד עם הנחות משלו.

מה התקבל

הפער בין התוצאה המחושבת לזו שבפועל הצטמצם מ-18–20% ל-4–6%. בדיקת השערה אורכת 20–30 דקות במקום שניים-שלושה ימים, מספר הפעולות הידניות בהכנת הנתונים ירד לחמש בערך במקום ארבעים. הדוח נוצר אוטומטית מיומן הריצה.

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

במה שונה בדיקה על היסטוריה מבדיקה בזמן אמת?

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

ההיסטוריה כמעט תמיד מנפחת את הציפיות. הסיבה העיקרית — אימון יתר של המודל: כאשר פרמטרי כניסה ויציאה רבים והקטע בודד, ההתאמה לוכדת את הרעש של שבוע מסוים במקום את המרווח, ובקטע הבא התוצאה מתאפסת.

מקור אופטימיות שני — תנאי ריצה אידיאליים: ביצוע מיידי במחיר הטוב ביותר, נפח מלא והיעדר משתתפים אחרים שסוגרים את אותה הזדמנות.

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

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

שלב מעבר — סביבת בדיקה ללא כסף: אותו זרם חי ואותו קוד החלטות, אך הזמנות אינן נשלחות לשוק אלא נרשמות ביומן עם מחיר מילוי מחושב. השוואה בין תוצאה חיה להיסטורית מראה איזה חלק מההזדמנות נאכל על ידי השהיות, עמלות והחלקה.

אם הפער גדול פי כמה, הבעיה אינה בשוק אלא במודל: מפשטים אותו, מצמצמים את מספר הפרמטרים ובודקים אותו על כמה קטעים בלתי תלויים.

ספקות טכניים: נתונים, השהיות, יכולת שחזור

ספקות לגבי בקטסטינג של אסטרטגיות ארביטראז' מצטמצמים לשאלה אחת: האם החישוב יתאים למסחר אמיתי. חישוב על היסטוריה אינו מבטיח רווח — הוא מראה באילו תנאים האסטרטגיה עובדת והיכן היא נשברת. להלן השאלות הנפוצות ביותר.

כיצד מאחדים נתונים ממקורות שונים?

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

כיצד לדעת שהמודל אינו מאומן יתר על המידה?

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

כיצד נלקחות בחשבון השהיות ציטוטים?

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

האם החישוב יהיה ניתן לשחזור?

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

האם ניתן לבדוק אסטרטגיה לפני מסחר ומה קורה לאחר המסירה?

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

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

כדי שהבקטסט יענה על השאלה 'האם האסטרטגיה תעבוד', ולא יתאים את העקומה להיסטוריה, נדרשים בקלט נתונים ראשוניים קונקרטיים.

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

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

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

תארו את המשימה בגדול — נחזור עם הערכה ותוכנית עבודה, לוחות זמנים וגבולות של סביבת הפיילוט.