בדיקה היסטורית


בדיקה היסטורית היא שיטת מחקר שמריצה כללי אסטרטגיה על נתוני מחיר מהעבר כדי להעריך איך הם היו מתפקדים, ותוצאותיה כמעט תמיד אופטימיות מהמציאות.
בקצרה
בדיקה היסטורית (Backtesting) היא הרצה של כללי מסחר או השקעה על נתוני שוק מהעבר, כדי לראות איזו תשואה הם היו מפיקים. התוצאה מוטה כלפי מעלה כמעט תמיד: התאמת יתר, הטיית שורדים, הצצה לעתיד והתעלמות מעלויות וממס מנפחות אותה. בדיקה טובה היא ראיה חלשה, לא הוכחה.
מה זו בדיקה היסטורית ואיך היא עובדת?
בדיקה היסטורית היא
הרצה של כללי החלטה מוגדרים מראש על סדרת נתוני מחיר מהעבר, כדי לחשב איזו תשואה, תנודתיות ועומק ירידה הם היו מייצרים
. הכללים חייבים להיות מכניים לחלוטין: מתי נכנסים, מתי יוצאים, כמה מקצים לכל פוזיציה ומה קורה כשמתקבל אות סותר. אם החוקר צריך שיקול דעת אנושי כדי להריץ את הכללים, אין בדיקה היסטורית, יש סיפור על העבר.
הבעיה המבנית של השיטה מוכרת בספרות המימון כבר עשרות שנים ומכונה data snooping: אותה סדרת נתונים היסטורית משמשת גם לחיפוש הכלל וגם לבחינתו, ולכן מבחני המובהקות הרגילים מפסיקים להיות תקפים. ככל שיותר חוקרים מריצים יותר וריאציות על אותם נתונים, כך גדל הסיכוי שהתוצאה הטובה ביותר תהיה מקריות ולא תופעה.
1למה כמעט כל בדיקה היסטורית יוצאת אופטימית מדי?
מפני שכל טעות אפשרית בתכנון הבדיקה דוחפת את התוצאה לאותו כיוון, כלפי מעלה. אלה חמישה כשלי היסוד:
התאמת יתר (Overfitting): כיוונון הפרמטרים עד שהם מתארים במדויק את הרעש הספציפי של סדרת הנתונים שנבדקה. ככל שמוסיפים דרגות חופש, ממוצע נע שאורכו 47 ימים במקום 50, פילטר נפח, חריגה לחודשי קיץ, הביצועים בתוך המדגם משתפרים גם כשהתוחלת האמיתית של האסטרטגיה היא אפס. מחקר שבחן את התופעה טבע לה שם, backtest overfitting, וטען שדיווח על תוצאת בדיקה בלי לדווח כמה וריאציות נוסו לפניה הוא דיווח חסר משמעות סטטיסטית.
2הצצה לעתיד (Look-ahead bias): שימוש בנתון שלא היה בידי המשקיע בזמן ההחלטה. הדוגמאות הנפוצות הן דוח כספי שמשויך לתאריך המאזן במקום לתאריך הפרסום בפועל, נתון מאקרו שמשויך לחודש שאליו הוא מתייחס במקום למועד ההודעה, ומחיר סגירה שמשמש כדי להחליט על פקודה שנשלחה כביכול לפני הסגירה. כל אחת מהן לבדה מספיקה כדי להפוך אסטרטגיה חסרת ערך לאסטרטגיה מרשימה.
הטיית שורדים (Survivorship bias): הרצת הכללים על היקום של הניירות שקיימים היום, ולא על היקום שהיה קיים אז. חברות שנמחקו, מוזגו או פשטו את הרגל נעלמות מהמאגר יחד עם ההפסדים שלהן. הספרות הראתה שהטיה כזו לא רק מנפחת את התשואה הממוצעת אלא גם יוצרת ניבוי מדומה: דפוסי המשכיות שנראים אמיתיים במדגם השורדים ואינם קיימים ביקום המלא.
3התעלמות מעלויות, מרווח ומס: תוכנות בדיקה מחשבות כברירת מחדל תשואת ברוטו על מחיר סגירה. עמלות קנייה ומכירה, מרווח הציטוט, החלקה בביצוע (slippage), דמי משמורת ומס על רווח הון ריאלי במועד המימוש לא נכנסים לחישוב אלא אם הוזנו במפורש.
בעיית ההשוואות המרובות: ניסוי מאה וריאציות ובחירת המנצחת אינם מחקר אחד, הם מאה מחקרים שדווח מהם אחד. זו הטעות שהופכת בדיקות היסטוריות למכונת ייצור של ממצאי סרק.
שתי ההטיות האחרונות מתחברות זו לזו. מדגמי קרנות נאמנות שנוקו מקרנות שנסגרו הראו תשואה ממוצעת גבוהה מזו של המדגם המלא, וההפרש אינו רעש: הוא הכיוון שאליו הבדיקה תמיד תיטה כשמישהו שכח לכלול את הנעלמים.
4כמה גורעים עמלות, מרווח ומס מהתוצאה שעל הנייר?
מספיק כדי להפוך אסטרטגיה מנצחת לבינונית, ולעיתים למפסידה. הפער גדל ליניארית עם תדירות המסחר, ולכן דווקא האסטרטגיות שהבדיקה ההיסטורית מציגה כטובות ביותר, אלה שמחליפות פוזיציה לעיתים קרובות, הן אלה שסופגות את הפגיעה הכי חזקה.
דוגמה: מה נשאר מ-9% על הנייר
אסטרטגיה נבדקה על עשר שנות נתונים והציגה תשואת ברוטו של 9% בשנה. נניח תיק של 200,000 ₪, ושהאסטרטגיה מבצעת מחזור מלא אחד בחודש, כלומר 24 פקודות ביצוע בשנה. נניח עלות ביצוע של 0.15% לפקודה (0.1% עמלה ועוד 0.05% מרווח ציטוט והחלקה). העלות השנתית היא 24 כפול 0.15% כפול 200,000, כלומר 7,200 ₪. תשואת הברוטו של 9% שווה 18,000 ₪, ולכן נותרים 10,800 ₪, שהם 5.4%. מכיוון שהאסטרטגיה מממשת את הרווח בכל שנה, חל עליו מס רווח הון בשיעור 25% על הרווח הריאלי ליחיד°, 5 כלומר עד 2,700 ₪ נוספים. נשארים 8,100 ₪, שהם 4.05%. הבדיקה ההיסטורית לא חישבה אף אחד משני הסכומים האלה. שיעורי העמלה והמחזור כאן הם הנחות להמחשה, והאינפלציה מקטינה את בסיס המס, כך ש-2,700 ₪ הם חסם עליון ולא חישוב מס מדויק.
הפער הזה אינו תיאורטי. מחקר שעקב אחרי 66,465 משקי בית בברוקר אמריקאי בשנים 1991 עד 1996 מצא שהחמישון שסחר הכי הרבה השיג תשואה שנתית של 11.4%, בעוד השוק עצמו עלה ב-17.9% ומשק הבית הממוצע השיג 16.4%. מחזור התיק הממוצע עמד על 75% בשנה. הפער נוצר בעיקר מעלויות מסחר ומתזמון גרוע, בדיוק שני הרכיבים שבדיקה היסטורית סטנדרטית מדלגת עליהם.
6מה ההבדל בין בדיקה בתוך המדגם לבדיקה מחוץ למדגם?
בדיקה בתוך המדגם (in-sample) מריצה את הכללים על אותם נתונים ששימשו לבנייתם ולכיוונונם, ולכן היא מודדת בעיקר כמה טוב הכללים משננים את העבר. בדיקה מחוץ למדגם (out-of-sample) מריצה אותם על תקופה או על שוק שלא נגעו בהם בשלב הבנייה, ולכן היא מודדת משהו קרוב יותר ליכולת ניבוי. השיטה המחמירה יותר, walk-forward, מכיילת על חלון נע ובודקת על החלון שאחריו, שוב ושוב לאורך כל הסדרה.
הזהירות הנדרשת: ברגע שראית את תוצאת הבדיקה מחוץ למדגם וחזרת לשנות פרמטר, הפכת אותה לחלק מהמדגם. גם החלון ה"נקי" הופך למכויל אחרי מספיק סבבים, וזו הדרך השקטה ביותר שבה בדיקה קפדנית מתקלקלת בלי שאיש שם לב.
יתרונות
- מכריחה להגדיר כללים מכניים במקום כוונות, וכך חושפת החלטות שלא היו מוגדרות מראש.
- מודדת עומק ירידה מקסימלי ואורך תקופות ההפסד, נתונים שקשה לאמוד באינטואיציה.
- פוסלת ביעילות: אסטרטגיה שנכשלה גם בעבר לא זקוקה לבדיקה נוספת.
- מאפשרת לכמת מראש את רגישות התוצאה לשינוי פרמטר ולעלויות המסחר.
חסרונות
- אינה מוכיחה שהכללים ימשיכו לעבוד, מפני שמבנה השוק, הרגולציה והנזילות משתנים.
- משתפרת ככל שמנסים יותר וריאציות, גם כשאין באסטרטגיה שום מידע אמיתי.
- מתעלמת מעמלות, מרווח, החלקה ומס אלא אם הוזנו במפורש, וברירת המחדל היא ברוטו.
- אינה מודדת את מה שיקרה למשקיע בפועל: נטישת האסטרטגיה באמצע רצף הפסדים.
איך לבדוק אם בדיקה היסטורית שפורסמה שווה משהו?
שואלים על מה שלא נכתב. חמש השאלות שמפרידות בין בדיקה שיש בה מידע לבין בדיקה שאין בה:
כמה וריאציות נוסו לפני שהתקבלה זו? אם המספר לא מדווח, אי אפשר לפרש את התוצאה כלל.
מה מקור הנתונים והאם הוא כולל ניירות שנמחקו? מאגר של החברות הקיימות היום אינו מאגר היסטורי.
אילו עלויות הוזנו בפועל? עמלה, מרווח, החלקה, דמי משמורת ומס. הרשימה חייבת להיות מפורשת.
איזה חלק מהתקופה נשמר מחוץ למדגם ומתי הוא נבדק? חלון שנבדק שבע פעמים אינו חלון נקי.
איך התוצאה נראית בתת-תקופות? אסטרטגיה שכל היתרון שלה מרוכז בשנתיים אחת מתוך עשרים היא ממצא על אותן שנתיים.
בעיית ההשוואות המרובות, במספרים
נניח שכל וריאציה חסרת ערך לחלוטין, ושבמבחן הרגיל יש לה סיכוי של 5% להיראות מובהקת במקרה. אם בודקים 20 וריאציות ובוחרים את הטובה, הסיכוי שלפחות אחת תעבור את הרף במקרה הוא כ-64%. במאה וריאציות הוא כ-99.4%. זו הסיבה שחוקרי מימון שבחנו את מאות הגורמים שפורסמו כמסבירים תשואות טענו שהרף המקובל אינו מספיק, ושממצא חדש היום צריך ערך t גבוה מ-3.0 כדי להיחשב, ושרוב הממצאים שפורסמו בתחום כנראה שגויים.
7הבדיקה השיטתית ביותר שנעשתה לשאלה הזו הריצה יקום שלם של כללי מסחר טכניים על מאה שנות נתונים יומיים של מדד מניות אמריקאי מוביל, והשוותה את הכלל המנצח לא מול השוק אלא מול ההתפלגות של כל הכללים שנבדקו. אחרי התיקון להשוואות המרובות, היתרון של הכלל הטוב ביותר הצטמצם דרמטית ולא נשמר בתקופה המאוחרת.
8מה בדיקה היסטורית כן מוכיחה
בדיקה היסטורית טובה היא ראיה חלשה בכיוון אחד בלבד: היא יכולה לפסול אסטרטגיה, כי אם הכללים נכשלו על נתוני העבר אין סיבה להניח שיצליחו קדימה. היא אינה יכולה לאשר אסטרטגיה, כי היא מודדת התאמה לעבר ולא יכולת ניבוי. אסטרטגיה שעברה בדיקה מרשימה עדיין נמצאת בנקודת המוצא, לא בקו הסיום.
מושגים קשורים
ההטיה שנוצרת כשמריצים בדיקה על היקום הקיים היום במקום על היקום שהיה קיים בזמן אמת.
הפער בין המחיר שהבדיקה ההיסטורית הניחה למחיר שבו הפקודה בוצעה בפועל.
הרצת האסטרטגיה קדימה בזמן אמת בלי כסף אמיתי, כשלב שבא אחרי הבדיקה ההיסטורית.
שאלות נפוצות
בדיקה היסטורית היא הרצה של כללי אסטרטגיה מוגדרים מראש על נתוני מחיר מהעבר, כדי לחשב איזו תשואה, תנודתיות ועומק ירידה הם היו מייצרים. השיטה שימושית לפסילה של אסטרטגיות ולכימות סיכון, אבל התוצאה שהיא מפיקה מוטה כלפי מעלה כמעט תמיד: התאמת יתר לרעש ההיסטורי, הטיית שורדים במאגר הנתונים, הצצה לנתונים שלא היו זמינים בזמן אמת, התעלמות מעמלות וממס, ובעיקר בחירת המנצחת מתוך עשרות וריאציות שנוסו. לכן בדיקה היסטורית מוצלחת נחשבת ראיה חלשה ולא הוכחה, והיא מוכיחה הרבה יותר כשהיא נכשלת מאשר כשהיא מצליחה.
בדיקה בתוך המדגם (in-sample) רצה על אותם נתונים ששימשו לבניית הכללים ולכיוונון הפרמטרים, ולכן היא מודדת בעיקר כמה טוב הכללים משננים את העבר. בדיקה מחוץ למדגם (out-of-sample) רצה על תקופה או שוק שלא נגעו בהם בשלב הבנייה, ולכן היא קרובה יותר למדידת יכולת ניבוי. בפועל, ברגע שמסתכלים על תוצאת הבדיקה מחוץ למדגם וחוזרים לשנות פרמטר, החלון הנקי הופך לחלק מהמדגם והיתרון המתודולוגי נעלם.
התאמת יתר (overfitting) היא כיוונון הכללים עד שהם מתארים את הרעש המקרי של סדרת הנתונים שנבדקה במקום תופעה כלכלית. כל דרגת חופש שמוסיפים, אורך ממוצע נע, פילטר נפח, חריגה עונתית, משפרת את התוצאה בתוך המדגם גם כשלאסטרטגיה אין שום תוחלת אמיתית. הסימן המזהה הוא רגישות גבוהה: שינוי קטן בפרמטר מוחק חלק ניכר מהתשואה. אסטרטגיה יציבה משנה ביצועים בהדרגה כשמזיזים פרמטר, לא בקפיצה.
הטיית שורדים היא הרצת הבדיקה על רשימת ניירות הערך הקיימת היום במקום על הרשימה שהייתה קיימת בכל נקודת זמן היסטורית. חברות שנמחקו מהמסחר, מוזגו או פשטו את הרגל נעלמות מהמאגר, ואיתן ההפסדים הגדולים ביותר. התוצאה אינה רק תשואה ממוצעת גבוהה מדי: הספרות הראתה שהטיה כזו יכולה לייצר דפוסי המשכיות שנראים אמיתיים במדגם השורדים ואינם קיימים כלל ביקום המלא.
הצצה לעתיד (look-ahead bias) היא שימוש בנתון שלא היה בידי המשקיע ברגע ההחלטה. שלוש הצורות הנפוצות: דוח כספי שמשויך לתאריך המאזן במקום לתאריך הפרסום, נתון מאקרו שמשויך לחודש שאליו הוא מתייחס ולא למועד ההודעה, ופקודה שמתומחרת במחיר הסגירה אף שההחלטה עליה התקבלה כביכול לפני הסגירה. הבדיקה המעשית: לכל אות באסטרטגיה, לשאול מה בדיוק היה גלוי לציבור באותה שנייה.
זה תלוי כמעט לגמרי בתדירות המסחר, כי העלות מוכפלת במספר הפקודות. בתיק של 200,000 ש"ח שמבצע 24 פקודות בשנה בעלות ביצוע של 0.15% לפקודה, העלות השנתית היא כ-7,200 ש"ח, כלומר 3.6% מהתיק. מעל זה חל מס רווח הון על הרווח הריאלי במועד המימוש, בשיעור 25% ליחיד. אסטרטגיה שהראתה 9% ברוטו בבדיקה יכולה כך לרדת לכ-4% נטו, בעוד אחזקה ארוכת טווח דוחה את המס ולא משלמת את העמלות החוזרות.
לא. בדיקה היסטורית מודדת התאמה לעבר, לא יכולת ניבוי, ולכן היא ראיה חלשה בכיוון אחד בלבד: היא יכולה לפסול אסטרטגיה שנכשלה, אך אינה יכולה לאשר אסטרטגיה שהצליחה. שני הגורמים שמחלישים אותה במיוחד הם בחירת המנצחת מתוך עשרות וריאציות, ושינויים במבנה השוק, בנזילות וברגולציה שהופכים תקופות עבר ללא בנות השוואה להווה.
שואלים חמש שאלות על מה שלא נכתב: כמה וריאציות נוסו לפני שנבחרה זו, האם מאגר הנתונים כולל ניירות שנמחקו מהמסחר, אילו עלויות ומיסים הוזנו במפורש, איזה חלק מהתקופה נשמר מחוץ למדגם וכמה פעמים הוא כבר נבדק, ואיך התוצאה מתפלגת בין תת-תקופות. אם מספר הווריאציות אינו מדווח, אי אפשר לפרש את התוצאה, כי מנצחת מתוך מאה ניסיונות תיראה מרשימה גם כשאין בה מידע.
- Lo, A.W. and MacKinlay, A.C. "Data-Snooping Biases in Tests of Financial Asset Pricing Models", Review of Financial Studies, 3(3), 431-467(1990) doi.org ↗ ↩
- Bailey, D.H., Borwein, J.M., Lopez de Prado, M. and Zhu, Q.J. "Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance", Notices of the American Mathematical Society, 61(5), 458-471(2014) doi.org ↗ ↩
- Brown, S.J., Goetzmann, W., Ibbotson, R.G. and Ross, S.A. "Survivorship Bias in Performance Studies", Review of Financial Studies, 5(4), 553-580(1992) doi.org ↗ ↩
- Elton, E.J., Gruber, M.J. and Blake, C.R. "Survivor Bias and Mutual Fund Performance", Review of Financial Studies, 9(4), 1097-1120(1996) doi.org ↗ ↩
- פקודת מס הכנסה (נוסח חדש), התשכ"א-1961, פרק ה: רווח הון והפסד הון, סעיף 91 (שיעור המס על רווח הון ריאלי ליחיד)(1961) ↩
- Barber, B.M. and Odean, T. "Trading Is Hazardous to Your Wealth: The Common Stock Investment Performance of Individual Investors", The Journal of Finance, 55(2), 773-806(2000) doi.org ↗ ↩
- Harvey, C.R., Liu, Y. and Zhu, H. "... and the Cross-Section of Expected Returns", Review of Financial Studies, 29(1), 5-68(2016) doi.org ↗ ↩
- Sullivan, R., Timmermann, A. and White, H. "Data-Snooping, Technical Trading Rule Performance, and the Bootstrap", The Journal of Finance, 54(5), 1647-1691(1999) doi.org ↗ ↩

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