פיתוח אלגוריתם ארביטראז' סטטיסטי בשווקי קריפטו

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

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

שאלות נפוצות

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

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1376
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1350
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    798
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1093
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1035
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1132

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

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

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

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

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

אפקט מדיד: השהיה, החלקה, זמן השבתה

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

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

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

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

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

מצבי מערך הארביטראז': השוואת גישות

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

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

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

שלבי פיתוח, בדיקה ומסירה של הפתרון

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

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

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

תצורה, תיעוד ונהלים: הרכב המסירה

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

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

מקרה בוחן: צמצום החלקה וכניסות שווא

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

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

מה שינינו

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

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

תוצאת היישום

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

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

מה לעשות אם בבורסה כבר פועל רובוט מסחר

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

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

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

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

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

שאלות טכניות שנשאלות לפני ההתחלה

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

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

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

מי מקבל גישה למפתחות ולכספים בחשבון?

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

איך אתם לא מתאימים את המודל להיסטוריה?

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

מה קורה כשהמסחר בבורסה מושהה?

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

איך יודעים שהתוצאות אמיתיות ולא יפות על הנייר?

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

נדון במשימה: הערכה, תוכנית וסדר עבודה

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

מה יידרש מכם בשלב הקלט:

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

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

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