כל המאמרים
Backtestingטעויותמדריך
·נכתב על ידי עדן מרגוליס

5 טעויות Backtesting נפוצות

5 הטעויות הנפוצות ביותר בבדיקת אסטרטגיות מסחר: Look-ahead Bias, התעלמות מעמלות, מדגם קטן מדי, Overfitting, ובדיקה על תקופה לא מייצגת.

חמש הטעויות הנפוצות ביותר ב-Backtesting הן: Look-ahead Bias (שימוש במידע שלא היה זמין בזמן אמת), התעלמות מעמלות ו-Slippage, מדגם עסקאות קטן מדי, Overfitting (כיוונון יתר), ובדיקה רק על תקופה "נוחה" של שוק עולה. כל אחת מהטעויות האלה יכולה להפוך אסטרטגיה מפסידה לכזו שנראית רווחית על הנייר — וכל אחת מהן נפוצה יותר ממה שנדמה, גם אצל מפתחים מנוסים.


1. Look-ahead Bias — שימוש במידע מהעתיד

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

# שגוי
df["signal"] = df["close"] > df["ma20"]

# תקין
df["signal"] = df["close"].shift(1) > df["ma20"].shift(1)

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

2. התעלמות מעמלות ומ-Slippage

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

commission_per_trade = 1.0
trades_df["net_return"] = trades_df["return_pct"] - (commission_per_trade / trades_df["position_value"])

3. מדגם עסקאות קטן מדי

אסטרטגיה שנבדקה על 15-20 עסקאות בלבד לא מספקת מובהקות סטטיסטית — התוצאה יכולה להיות מקרית לחלוטין. כלל אצבע: לפחות 50-100 עסקאות לפני שמסיקים מסקנות, ורצוי יותר. בדיקה על תקופה קצרה מדי (כמה חודשים) היא סיבה נפוצה למדגם קטן מדי.

4. Overfitting — כיוונון יתר לנתוני העבר

בדיקת עשרות או מאות שילובי פרמטרים על אותו מדגם נתונים, ובחירת השילוב עם התוצאה הטובה ביותר — כמעט מובטח למצוא שילוב שמתאים "במקרה" לרעש הספציפי בנתונים, לא לדפוס אמיתי. סימני אזהרה: Sharpe Ratio חשוד גבוה (מעל 3), Win Rate מעל 80%, או פרמטרים "מוזרים" שעובדים רק בערך מדויק אחד. פירוט מלא במדריך Overfitting.

5. בדיקה רק על תקופה "נוחה"

בדיקת אסטרטגיה רק על שנים של שוק עולה רציף (למשל 2023-2024 בלבד) נותנת תמונה חלקית ומטעה. אסטרטגיה חייבת להיבדק גם על תקופות עם ירידות משמעותיות (כמו 2022) ותנודתיות גבוהה — אחרת אין דרך לדעת איך היא תתמודד כשהשוק לא ישתף פעולה.

| מה בודקים | למה זה חשוב | |---|---| | תקופת שוק עולה | ביצועים ב"תנאים טובים" | | תקופת שוק יורד (כמו 2022) | האם יש הגנה מובנית, או קריסה מלאה | | תקופת תנודתיות גבוהה | האם ה-Stop Loss מתפקד או "נדפק" מרעש | | לפחות 2-3 שנים כוללות | מייצג יותר מסגנון שוק אחד |

איך לבדוק אם הבקטסט שלכם נקי מהטעויות האלה

רשימת תיוג מהירה לפני שממשיכים ל-Paper Trading: האם כל איתות מבוסס על נתונים שהיו זמינים בפועל באותו רגע? האם עמלות נכללות בחישוב? האם יש 50+ עסקאות במדגם? האם הפרמטרים נבחרו בלי חיפוש מוגזם על אותם נתונים? האם התקופה כוללת גם שנה קשה?

שאלות נפוצות

איזו מהטעויות הכי נפוצה אצל מתחילים?

Look-ahead Bias ומדגם עסקאות קטן מדי — שתיהן קלות לביצוע בטעות ולא תמיד יש סימן ברור שהן קרו, בניגוד ל-Overfitting שלרוב מגיע עם תוצאות "טובות מדי" שמעוררות חשד.

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

כן, בדרך כלל — אבל חשוב לתקן את כל הטעויות ולהריץ מחדש מאפס, לא רק "לתקן חלקית". תיקון בודד (למשל הוספת עמלות) בלי לתקן טעויות אחרות (כמו Look-ahead Bias) עדיין ייתן תמונה מעוותת.

האם ספריות Backtesting מוכנות פותרות את כל הטעויות האלה?

הן מקטינות משמעותית את הסיכון לחלק מהטעויות (בעיקר Look-ahead Bias ועמלות), אבל לא מבטלות Overfitting או בדיקה על תקופה לא מייצגת — אלה תלויים בהחלטות שהבודק עצמו מקבל, לא רק בכלי.

כמה מהטעויות האלה קורות ביחד בדרך כלל?

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

רוצה לבנות בוט כזה בעצמך?

שיחה קצרה של 20 דקות.

דברו איתנו חינם