בקטסטינג של funding rate: איפה האסטרטגיה נשברת על ההיסטוריה
לחוזים פרפטואליים אין תאריך פקיעה, ולכן המחיר נשמר צמוד לספוט באמצעות מנגנון ריבית המימון: כל כמה שעות צד אחד משלם לשני. בבקטסטינג של funding rate לרוב פשוט לא מחשבים אותו — המנוע סוגר את העסקה לפי mark price וזהו.
הפער בין הבדיקה למסחר מצטבר בדיוק כאן: אסטרטגיה שמחזיקה פוזיציות ימים ושבועות משלמת בחשבון האמיתי על הנשיאה בכל מרווח חישוב.
מחיר הטעות תלוי במצב השוק. במגמה יציבה הריבית נשארת חד-כיוונית, והתשלומים המצטברים גוזלים נתח ניכר מהרווח — כשמחזיקים חודשים זה כבר לא תיקון בספרה השלישית, אלא ההבדל בין רווח להפסד.
בדשדוש ההפך: הריבית עשויה להיות גדולה מתנועת המחיר עצמה, והאסטרטגיה מחזירה על הנשיאה את כל מה שהרוויחה מהתנודה.
חישוב נכון של ריבית המימון נשען על הנתונים ההיסטוריים של הבורסה, ולא על הערך הנוכחי. יש צורך בריביות בכל רגע קיבוע, בהיסטוריית שינויי הנוסחה והמגבלות, בתקופות של שינוי מרווח החישוב ובאיפוס הריבית.
פוזיציה משלמת רק אם היא פתוחה ברגע הקיבוע — הבדיקה משחזרת זאת לפי חותמות הזמן של העסקאות, ולא מצבירה ריבית ביחס לזמן ההחזקה.
בדיקת האסטרטגיה על מודל כזה מראה מיד איזה חלק מהצמיחה צויר על ידי הנשיאה. לכן מוסיפים לבדיקה עמלות, ספרד וביצוע לפי mark price, ואת ההיסטוריה לוקחים מאותה בורסה ומאותו מכשיר שבהם מתוכנן המסחר — אחרת גם הריביות וגם כללי הנזילות אינם מתאימים. להלן כיצד אנו בונים מעגל כזה, כדי שהבדיקה והחשבון האמיתי יחשבו את אותו הדבר.
מה נותן חישוב ריבית המימון בחישוב התשואה
ריבית המימון אינה עמלה חד-פעמית בכניסה, אלא תזרים מזומנים תקופתי: כל עוד הפוזיציה פתוחה, היא מקבלת או משלמת אותו ברגעי חישוב קבועים. אם התזרים הזה לא מוטמע במודל ביצוע הפקודות, הבקטסט מחשב רק את תנועת המחיר ומפריז בתוצאה בכל שוק שסימן הריבית בו יציב.
מנגנון החיוב שונה מפלטפורמה לפלטפורמה — ב-Binance הוא נקשר לסטייה של מחיר הסימון מהאינדקס, ולכן במנוע מחשבים את הריבית כרכיב נפרד בתזרים, ולא כאחוז מהעסקה.
השכבה השנייה — דיסקרטיזציה. אם הפוזיציה נפתחת בתוך מרווח החיוב, הריבית מחויבת ביחס לזמן ההחזקה ובסימן שתלוי בכיוון ובגידור. בלי זה עקומת התשואה של האסטרטגיה נבנית לפי מחירי הסגירה של הנרות והופכת למדרגה: בתוך המרווח שטוח, בגבול — מדרגה. בהחזקות קצרות שגיאה כזו מכסה את תוצאת המסחר עצמה.
על העקומה זה נראה כשינוי צורה: במגמה עם ריבית חיובית פוזיציית לונג מחזירה חלק מהרווח, והעלייה נעשית אחידה יותר, ואילו בדשדוש נעלם הגידול החלק, שבחישוב נאיבי אינו מגובה בדבר.
לכן עמידות למצבי שוק נבדקת בהרצות נפרדות — דשדוש, מגמה, תנודתיות — ובודקים איזה חלק מהתוצאה בא מהמחיר ואיזה מהעברת הסיכון.
נעלם סוג כשל מסוים: אסטרטגיות שהתשואה החיובית שלהן נשענה רק על הרצה ללא ריבית מסוננות בשלב הבדיקה, ולא בשינוי הסימן הראשון שלה במסחר האמיתי.
דרכים למידול הריבית: השוואת גישות
הדרך לשחזר את ריבית המימון בהיסטוריה היא לא פרט שולי במתודולוגיה, אלא חלק ממנה: מכשיר פרפטואלי מחייב אותה בין לונגים לשורטים כמה פעמים ביממה, ובאופק ארוך היא מסוגלת לתת יותר מהאות המסחרי עצמו.
אם הריבית ממודלת לא נכון, הבקטסט יראה רווח במקום שבו לא היה, או יגרע אותו מאסטרטגיה שפועלת במציאות. להלן הגישות שביניהן אנו בוחרים בעת בניית המערכת, עם תנאי ההתאמה והגבולות של כל אחת.
| גישה | מתי מתאימה | מגבלות |
|---|---|---|
| ריביות בפועל של הפלטפורמה | בדיקת אסטרטגיה על העבר, אופקים קצרים ובינוניים, התאמה לתוצאות אמיתיות | תלויה בשלמות הארכיון: הפסקות, שינוי כללי חישוב, היעדר היסטוריה למכשירים שיצאו משימוש |
| קבוע: ממוצע לתקופה | הערכה מהירה, השוואת אסטרטגיות זו לזו, ניתוח רגישות | מחליק את הקפיצות — הפער מהמציאות גדל עם משך החזקת הפוזיציה |
| תחזית לפי רכיבים: פרמיה לספוט, עומק ספר הפקודות, מגבלות | תקופות עתידיות שאין בהיסטוריה, אופקים ארוכים | השגיאה מצטברת, נדרשים כיול שוטף ובקרת איכות של נתוני הקלט |
| מודל סדרת זמן, ממוצע נע | מצבים יציבים, בדיקות עומס | לא תופס שינוי מצב וקפיצות קיצוניות, בחלון ארוך האקסטרפולציה סוטה |
בפועל משלבים בין הגישות: קו הבסיס מחושב על ריביות בפועל, תקופות עתידיות — לפי תחזית, ועמידות האסטרטגיה נבדקת ברשת עומס שבה הריבית מוכפלת ומחליפה סימן.
משימה נפרדת היא מקור החישוב ההיסטורי: אנו שומרים חתכי ריביות משלנו, כדי שהתוצאות לא יהיו תלויות בכמה זמן הפלטפורמה מחזיקה את הארכיון ובאיזו תדירות היא משנה את כללי החיוב.
אם על אותן עסקאות המערכת מציגה פער מול התוצאה בפועל, הסיבה היא בדרך כלל כאן — במקור ובאופן המידול, ולא בלוגיקת האות.
שלבי הרכבת מערכת בקטסטינג לאסטרטגיה שלכם
ביקורת נתונים כמעט תמיד משנה את הגדרת המשימה: מתגלים פערים במעבר בין חוזים, כפילויות של נרות ופערים בין מחיר האינדקס למחיר העסקה האחרונה. לכן לפני הקוד מקבעים הסכם חישוב: אילו אירועים נכנסים למודל וכיצד מחויב ה-funding.
- ביקורת נתונים. מרכזים את היסטוריית העסקאות, הנרות והחיובים, מחפשים חוסרים, היסטי חותמות זמן, שינויים במפרטי החוזים. בפלט — מפת התאמה: היכן אפשר לחשב, והיכן נדרש שחזור.
- תרשים החישוב. מנסחים את הכללים: רגע חיוב ה-funding, הצמדה למחיר האינדקס, התחשבות במינוף, בעמלות ובהחלקה. התרשים המסוכם הופך לאמת מידה להתאמה.
- הגדרת צינור החישוב. זרימת הפקודות והביצועים עוברת בנפרד מזרימת החיובים, והתוצאות נאספות בנקודה אחת. ההרצה דטרמיניסטית — חזרה על אותם נתונים נותנת את אותם מספרים.
- בדיקה על ההיסטוריה. משווים את החיובים המודליים לתפוקות בפועל ומריצים מקרי קצה: ריבית שלילית, החזקת פוזיציה דרך רגע החיוב, עצירת מסחר.
- בדיקת עומס. מחשבים את האסטרטגיה על קטעי מגמה וקטעי דשדוש: רואים היכן התוצאה נשענת על אירועים נדירים והיכן — על יתרון יציב.
- מסירת המערכת. מוסרים קונפיגורציות, תרשים חישוב, תקנון עדכון נתונים והרצה בצד שלכם; אסטרטגיה חדשה מתווספת בלי לשכתב את הליבה.
מה מוסרים לידיים: ארטיפקטים ותקנונים
חישוב עם ריבית מימון נשען על הנחות: מתי בדיוק נגבה התשלום, כיצד נלקחים בחשבון אזורי הזמן של הבורסות, כיצד מעוגלת הריבית, ומאיפה נלקחת ההיסטוריה. כל עוד ההסכמות האלה חיות בהתכתבות, תוצאת ההרצה אינה משוחזרת, והשוואת אסטרטגיות הופכת לוויכוח על מספרים. לכן איננו מוסרים רק קוד — אנו מעבירים מערכת תיאורים שלפיה המהנדס שלכם מריץ חישוב בלי מעורבותנו.
- קונפיגורציות חישוב — תקופות מימון לכל מכשיר, כללי עיגול, התחשבות בעמלות ובהחלקה; מופרדות לקבצים ולא מוטבעות בקוד.
- תרשימי זרימת נתונים — המסלול מטעינת היסטוריית הריביות והמחירים ועד לנרמול ולכתיבה למאגר, עם סימון קטעים שבהם ייתכנו חוסרים.
- דוח בדיקה — התאמת הריבית המחושבת לתפוקות הבורסה בקטעי ייחוס: היכן התאים, היכן סטה ומדוע.
- תקנון הרצות — על איזה חלון ובאיזו תדירות להריץ בדיקות, איזה פער נחשב תקין, ובאיזה מצב עוצרים את ההרצה.
- הוראות תמיכה — חיבור מכשיר או בורסה חדשים, החלפת מקור נתונים, תיקון כללי חישוב.
- יומן הנחות ומילון מדדים — הגדרות חד-משמעיות של תשואה, ירידה מקסימלית וזמן החזקה ממוצע, כדי שדוחות ייקראו באותה צורה.
כל סעיף נמסר עם הסבר והרצת ניסיון בצד שלכם — אתם משתכנעים שהמערכת עצמאית דיה, לפני סגירת העבודה.
מקרה בוחן: כיצד צמצמנו את הפער בין הבדיקה למסחר האמיתי
לפני: פער של 18% בין הבדיקה לחשבון
לקוח ניהל אסטרטגיה ניטרלית לשוק באמצעות Binance: ספוט מול שורט בחוזים פרפטואליים, וההכנסה — תשלומי ריבית המימון כל שמונה שעות. על ההיסטוריה העקומה נראתה חלקה, אבל בחשבון החי בפועל התוצאה סטתה מהחישוב ב-18% בחודש, ובימים שבהם התחלף סימן הריבית — יותר מפי שניים.
הסיבות התבררו שגרתיות: הריבית בבקטסט חויבה כקבוע ממוצע, פוזיציות שנפתחו ונסגרו בתוך חלון התשלום כלל לא קיבלו חיוב, וההחלקה בזמן איזון מחדש לא מודלה.
אחרי: 4% ותוצאה נשמרת בעת שינוי מצב
בקטסטינג עם התחשבות ב-funding rate נכתב מחדש כמודל אירועי: כל תשלום מחושב לפי הריבית בפועל ברגע החישוב, עם מגבלות של גודל פקודה מינימלי וצעד מחיר. הוספנו ביצוע לפי היסטוריית ספר הפקודות ולוח עמלות לפי רמת הנפח — הבדיקה הפסיקה «לראות» עסקאות שהבורסה לא הייתה מאשרת.
בנפרד הרצנו תרחישים של היפוך מגמה וריבית שלילית, כדי שעמידות האסטרטגיה תיבדק לא על מצב שוק אחד בלבד.
הפער הצטמצם מ-18% ל-4% בחודש, והחיובים שהוחמצו — מ-6 מתוך 90 חלונות לאפס. בתרחיש עומס עם החלפת סימן הריבית ירידת השווי גדלה לא יותר מחמישית, והאסטרטגיה נשארה ברווח. ההחלטה על הגדלת המינוף מתקבלת כעת לפי תוצאות הבדיקה, ולא לפי אינטואיציה.
במה שונה חישוב הריבית בפועל מהתחזית שלה
ריבית התחזית היא נקודת ייחוס שהבורסה מחשבת מחדש לפי הפרמיה של מחיר הסימון לאינדקס הספוט בתוך חלון החישוב. הריבית בפועל היא זו שנגבתה ברגע החישוב. נוח לשאוב את התחזית מהנרות, אבל עד הקיבוע היא עשויה להחליף סימן, והבקטסט יציג תשואה שלא הייתה.
מצב החישוב קובע מה בדיוק נכנס למודל: המרווח (שעה, ארבע, שמונה), רגע הקיבוע וגבולות חלון ממוצע הפרמיה. אם לוקחים את הריבית מהנר ולא מיומן החישובים, אתם ממצעים על פני החלון ומזיזים את חותם הזמן של האירוע — פוזיציה שעוברת עשרות חישובים צוברת את ההיסט הזה.
בחירת המקור היא ההסתעפות השנייה. יומן החישובים של פלטפורמה מסוימת נותן בדיוק את האירועים שנגעו לפוזיציה שלכם. אגרגטור צד שלישי נוח יותר, אבל יש לו סט אחר של זוגות מסחר, השהיית פרסום משלו ועיגול משלו. ריביות של פלטפורמות שונות אינן חלופיות: להעביר אותן לפוזיציה זרה פירושו לחשב סיכון של מישהו אחר.
רגישות התוצאה אינה לינארית. באסטרטגיות מגמה עם החזקה קצרה הריבית טובעת בתנועת המחיר. במקום שבו היא עצמה מקור ההכנסה — ארביטראז' ניטרלי, גידור חוזים פרפטואליים — החלפת העובדה בתחזית הופכת את סימן העקומה הסופית.
מסקנה מעשית: ספרו לפי העובדה, מיומן החישובים של אותה פלטפורמה שבה בוצעו העסקאות בפועל, ואת התחזית השאירו לתרחישי «מה יקרה אם». אז המדד של האסטרטגיה עונה על שאלה על העבר, ולא על הנחה.
ספקות טכניים ומגבלות הגישה
נכונות תוצאות הבקטסטינג עם התחשבות ב-funding rate נשענת על ארבעה דברים: שלמות ההיסטוריה, התאמה לביצוע אמיתי, ניהול גרסאות של כללי הבורסה ומהירות ההרצה. להלן ספקות הנדסיים אופייניים שאנו מבררים לפני תחילת העבודה.
מה אם בהיסטוריה חסרים נרות או תשלומי ריבית?
חוסר מסומן במפורש, ולא ממולא באפס: ריבית אפס הופכת את הפוזיציה לרווחית בטעות. את המרווחים החסרים אנו משחזרים ממקור שני או משאירים כאזור אי-ודאות, וקטעים כאלה מוצאים מהסטטיסטיקה הסופית.
עד כמה התוצאה תתאים למסחר אמיתי?
ההרצה מתבצעת לפי מודל ביצוע: השהיית שליחת הפקודה, עמלה, ספרד, החלקה על פני נפח ונזילות ברגע תשלום הריבית. את המודל מכיילים לפי עסקאות בפועל בגודל פוזיציה קטן, ומשווים את הפער לפי שיעור העסקאות הרווחיות — המדדים של התחזית והמציאות צריכים להתכנס.
מה עושים אם הבורסה שינתה את כללי חישוב הריבית?
את הכללים שומרים בגרסאות: לכל תקופה לוח תשלומים ונוסחה משלה. את ההיסטוריה איננו משכתבים לפי הכללים הנוכחיים — אחרת תוצאות העבר מפסיקות להיות משוחזרות ואין עוד אפשרות להשוות אסטרטגיות זו לזו.
כמה מהר מורצת היסטוריה של שנים רבות?
מחשבים באופן מצטבר: מחשבים מחדש רק את הקטע שנפגע, ואת השאר לוקחים מחישוב קודם. הרצה על מדגם ארוך נכנסת בדקות, ולכן הפרמטרים נסרקים בסדרה ולא אחד-אחד — והתוצאה מספיקה לעבור בדיקת עמידות.
נדון במשימה ונחזור עם הערכה ותוכנית
כדי לחזור עם הערכה ותוכנית עבודה, ולא עם שאלות הבהרה, אנחנו צריכים פנייה אחת מסודרת מצדכם. ככל שנתוני המוצא קונקרטיים יותר, כך לוחות הזמנים מדויקים יותר וההנחות בתוך החישוב מעטות יותר.
- פלטפורמות ומכשירים: היכן סוחרים, פרפטואלים או ספוט, אילו זוגות ובאיזו כמות.
- היסטוריית נתונים: טווח התאריכים, תדירות הנרות, כיצד לנהוג בחוסרים ובקרעים בסדרת ריביות ה-funding.
- לוגיקת האסטרטגיה: כללי כניסה ויציאה, גודל הפוזיציה, מינוף, התנהלות עם מרג'ין וסטופים מגנים.
- התחשבות ב-funding rate: לוח החיובים של הפלטפורמה, סימן הריבית, רגע הגבייה ביחס לסגירת הנר.
- מודל עלויות: עמלות הפלטפורמה על עסקאות אגרסיביות ופסיביות, החלקה, השהיית ביצוע הפקודה.
- דרישות לדוח: אילו מדדים חשובים, האם נדרשת חלוקה לפי תקופות, פלט לקובץ או גרפים אינטראקטיביים.
- מגבלות החישוב: מה אנו מחשיבים כבלתי קביל — הצצה קדימה בנתונים, התאמת פרמטרים להיסטוריה, תיקונים ידניים של הסדרה.
- תשתית: היכן מריצים את החישובים, האם נדרשים חיבורים לשירותים שלכם, האם יש דרישות לאחסון נתונים.
עם הסט הזה אנו מרכיבים הערכה ותוכנית עבודה: שלבים, לוחות זמנים, מה ובאיזה שלב תראו. נדון במשימה ובפורמט העבודה בנפרד — איטרציות עם תוצאות ביניים, גישה למאגר הקוד או מסירת מעגל מוכן לצוות שלכם. תארו הכול בצורה חופשית, גם אם חלק מהסעיפים עדיין לא מוגדרים: את החסר נשלים בשאלות בשיחת וידאו.







