בקטסט יכול לתזמן נכון כל נר ובכל זאת להשתמש במידע מהעתיד. זה קורה כשהאסטרטגיה נבדקת לאורך שנים של היסטוריה על הנכסים ששרדו עד היום, כאילו ידעה אילו שווקים יישארו נזילים, רשומים ושווים הכללה.
בניית היקום היא חלק מהאסטרטגיה. אם המערכת החיה יכלה לבחור רק מתוך הנכסים שהיו זמינים בכל מועד החלטה, הבקטסט צריך לפעול לפי אותו גבול. שלוש דרכי קיצור מוחקות אותו שוב ושוב.
טעות ראשונה: בדיקת הרשימה של היום לאורך כל ההיסטוריה
נניח שאתם מסננים היום את 50 שווקי החוזים התמידיים הגדולים ביותר בקריפטו, ואז בודקים אותם מ־2021. הרשימה אינה כוללת חוזים שנעלמו, איבדו נזילות או הוסרו מהמסחר. היא גם נותנת לתאריכים מוקדמים גישה לשווקים שאולי עדיין לא היו קיימים.
קל לפספס את הנזק: האסטרטגיה נראית יציבה יותר כי הנכסים שנכשלו נעלמו מהמדגם שלה. כלל מומנטום, למשל, עשוי להיראות מצוין על פני 50 השווקים של היום, בעוד שהגרסה ההיסטורית הייתה מקצה שוב ושוב לנכסים שבהמשך קרסו או איבדו את רישומם בזירה. בדקתם תיק שנבחר מתוך ידיעת התוצאה.
בנו רישום חברות ביקום עם תאריכים. לכל נכס, תעדו מתי נעשה כשיר, מתי חדל להיות כשיר ומדוע. בכל איזון מחדש, החילו את הכללים באמצעות מידע שהיה זמין באותו מועד בלבד. שוק צריך להיכלל לאחר הרישום בפועל שלו ולאחר כל תקופת חימום נדרשת. אם הוא מוסר מהמסחר, צריך להגדיר כיצד מטפלים ביציאה הסופית מהפוזיציה או בסילוק שלה; מחיקת השורות שלו אינה כלל יציאה.
טעות שנייה: דירוג לפי נתון שנמדד אחרי מועד ההחלטה
גם יקום היסטורי עלול לדלוף מידע אם כלל החברות בו משתמש בחלון נתונים שמסתיים בעתיד. “לסחור ב־20 המניות הנזילות ביותר בכל חודש” נשמע הגיוני, עד שמדרגים את הנזילות לפי החודש המלא שבו האסטרטגיה אמורה לסחור.
דמיינו איזון מחדש ביום המסחר הראשון. דירוג לפי מחזור המסחר הדולרי הממוצע של אותו חודש משתמש בחשאי בשלושת השבועות הבאים כדי להחליט מה עמד בתנאים ביום הראשון. הנזק מתבטא לעיתים קרובות בקיבולת טובה באופן חריג: האסטרטגיה נמנעת מנכסים שהפכו ללא נזילים בהמשך החודש, אף שלא יכלה לדעת זאת בכניסה.
קבעו את מועד החיתוך למדידה לפני מועד הבחירה. באיזון חודשי מחדש במפגש הראשון, אפשר לדרג לפי 20 המפגשים שהושלמו קודם לכן, עד למפגש הקודם. לאחר מכן הגדירו במפורש את עיכוב הביצוע: אם הדירוג מבוסס על מחיר הסגירה של אתמול, האם אפשר לשלוח את הפקודה בפתיחה של היום במסגרת תהליך העבודה שהנחתם?
| כלל בחירה | גרסה לנקודת זמן | דליפה נפוצה |
|---|---|---|
| 20 המובילות לפי מחזור מסחר דולרי | דרגו מפגשים שהסתיימו לפני האיזון מחדש | הכללת יום האיזון מחדש או החודש שבו הוא חל |
| רישום בזירה | השתמשו במועדי הרישום וההסרה שנכנסו לתוקף | שימוש בנקודת קצה של סמלים נוכחיים עבור תאריכים קודמים |
| היסטוריה מינימלית | ספרו תצפיות שהיו זמינות במועד הבחירה | דרישה לשרוד בעתיד כדי לעבור את הסינון |
טעות שלישית: התייחסות להיסטוריה חסרה כהוכחה לכך שנכס לא היה כשיר
הארכיון של ספק נתונים אינו בהכרח תיעוד מלא של השוק ההיסטורי. סמל חסר עשוי להעיד שהנכס מעולם לא היה קיים, שהזירה שינתה את מוסכמת השמות שלה, שהספק לא שמר נתונים על מכשירים שהוסרו מהמסחר, או שפשוט יש פער בפיד. לכל אחד מהמקרים האלה יש השלכות שונות.
הנזק הוא יקום מסודר עם חורים שאין להם הסבר. חוקרים דורשים לעיתים קרובות חלון הסתכלות לאחור מלא, ואז משמיטים בשקט כל נכס שאין עבורו חלון כזה. זה עשוי להיות כלל חימום הגיוני, אבל הוא גם משמיט נכסים שנרשמו לאחרונה, מעצם הגדרתו. גרוע מכך, אם ההיסטוריה החסרה מרוכזת בשווקים שנכשלו, “נתונים מלאים בלבד” הופך למסנן הישרדות נוסף.
שמרו את הכשירות, זמינות הנתונים ותקופת החימום של האסטרטגיה כעובדות נפרדות. תעדו בכל תאריך מדוע נכס הושמט. השאירו את החוסרים בפנקס המחקר במקום להמיר אותם למחיקה שקטה. אם המקור אינו מאפשר לקבוע אם שוק היה רשום או ניתן למסחר, ציינו זאת ומדדו עד כמה התוצאה תלויה באי־הוודאות הזאת.
הפכו את היקום לניתן לשחזור
בדיקה מועילה מתחילה באיזון היסטורי אחד מחדש. שחזרו את רשימת המועמדים מתוך רישומים מתוארכים ונתונים שהיו זמינים במועד החיתוך. חשבו מחדש את נתוני הדירוג תוך שימוש בתצפיות שהושלמו בלבד. לאחר מכן השוו בין החברות שהתקבלה לבין הרשימה שבה הבקטסט שלכם השתמש בפועל.
שמרו לצד הריצה את הכלל, מועד החיתוך, החלטות החברות והגרסה של המקור. אם אינכם יכולים להסביר מדוע נכס אחד נכלל ואחר נשאר בחוץ בתאריך מסוים, עדיין אינכם יכולים לדעת אם האסטרטגיה גילתה יתרון או ירשה מדגם שעוצב לפי העתיד.
טעויות בבניית יקום כמעט אף פעם אינן מתבטאות במחירים בלתי אפשריים. הן מתגלות באסטרטגיה שנמנעה, במקרה נוח, מהשווקים שהפסיקו להיות נוחים.
← כל הפוסטים


