Strasmore Research
למידה Matt Connorמאת Matt Connor

איך לאמת רקורד מסחר של AI

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

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

מה הופך רקורד מסחר של AI לניתן לאימות?

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

  1. עסקאות כניסה שפורסמו לפני שהתוצאה הייתה ידועה. חותמת הזמן חייבת להופיע במקום שהמחבר אינו יכול לשנות, כגון commit שנדחף במועד הרלוונטי או דוח של ברוקר. קובץ המפרט עסקאות עבר הוא טענה לגבי העבר, ולא תיעוד שלו.
  2. מדד ייחוס אחד, שנקבע בתחילת הדרך ואינו משתנה. ל“הכאת השוק” אין משמעות עד שההשוואה מוצמדת לקרן מסוימת ולתקופה מסוימת.
  3. עלויות בתוך המספרים המדווחים. עמלות, אגרות רגולטוריות, עלות השאלת מניות בפוזיציות שורט וה־spread ששולם הן בכניסה והן ביציאה.
  4. ספר נהלים שמנוהל בגרסאות ולא נערך בדיעבד. כאשר מאגר ציבורי תומך ברקורד, הקישור השימושי מפנה לגרסה מתויגת או ל־commit hash. קישור ל־default branch מציג את האסטרטגיה של היום, וייתכן שזו אינה האסטרטגיה שביצעה עסקאות במרץ.
  5. כל פוזיציה וכל חשבון, כולל המפסידים. פרסום של חשבון אחד מתוך חמישה חשבונות שפעלו הוא בחירה סלקטיבית.
  6. הון התחלתי גדול מספיק כדי שהביצועים יהיו סבירים. סכום של כמה מאות דולרים עשוי “להחזיק” פוזיציות שאף פקודה אמיתית לא הייתה מתבצעת בהן במחיר המוצג.

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

מדוע חייבים לקבוע את מדד הייחוס מראש

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

שאילתהבחירת מדד ייחוס: שש קרנות מדד אמריקאיות, חלון זמן זהה: תשואת מחיר, 2 בינואר עד 30 ביוני 2026
ה-SQL המדויק מאחורי כל מספר
WITH rets AS (
    SELECT ticker,
           round(100 * (toFloat64(argMax(close, window_start))
                        / toFloat64(argMin(close, window_start)) - 1), 2) AS return_pct
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'QQQ', 'IWM', 'DIA', 'RSP', 'MDY')
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-01-02')
      AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY ticker
)
SELECT ticker,
       return_pct,
       round(return_pct - min(return_pct) OVER (), 2) AS points_above_worst
FROM rets
ORDER BY return_pct DESC
Run this yourself

IWM הניב 21.12%, ואילו DIA הניב 8.42%. כך נוצר פער של 12.7 נקודות בין החלק העליון לתחתון של 6 באותו חלון זמן. הבחירה מול איזה מדד למדוד את הביצועים לאחר סגירת החלון שווה לכל הפער הזה, בלי שהאסטרטגיה תצטרך לעשות דבר כדי להשיגו. אלה תשואות מחיר לפני דיבידנדים — כלל מדידה נוסף שכדאי לציין מראש (כיצד נמדדות תשואות חודשיות מסביר את חישוב התשואה הכוללת).

מדוע חותמת הזמן של הכניסה היא כל הטענה

עסקת כניסה שמופיעה לאחר המהלך היא תיאור של גרף. המרחק שהשוק עובר במהלך סשן אחד גדול מספיק כך שההבדל בין “פורסם ב־09:35” לבין “פורסם ב־15:55” מאפיל על רוב היתרונות הנטענים. להלן המרחק הזה, שנמדד מהעסקה הראשונה בכל סשן, במחצית הראשונה של 2026:

שאילתהתזמון תוך־יומי: המרחק ש־SPY עובר ממחיר הפתיחה, לפי חצי שעה בשעון ET, במחצית הראשונה של 2026
ה-SQL המדויק מאחורי כל מספר
WITH minute_px AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
           toTimeZone(window_start, 'America/New_York') AS et,
           toFloat64(close) AS px
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-01-02')
      AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
),
opens AS (
    SELECT session_date, argMin(px, et) AS open_px
    FROM minute_px
    GROUP BY session_date
),
buckets AS (
    SELECT session_date,
           toStartOfInterval(et, INTERVAL 30 MINUTE) AS bucket,
           argMax(px, et) AS bucket_px
    FROM minute_px
    GROUP BY session_date, bucket
)
SELECT formatDateTime(b.bucket, '%H:%i') AS et_time,
       count() AS session_count,
       round(quantileDeterministic(0.5)(abs(100 * (b.bucket_px / o.open_px - 1)),
                                        cityHash64(b.session_date)), 3) AS median_abs_move_pct
FROM buckets AS b
INNER JOIN opens AS o ON b.session_date = o.session_date
GROUP BY et_time
ORDER BY et_time
Run this yourself

בסל 09:30 לפי שעון ET, הסשן החציוני הסתיים במרחק של 0.216% ממחיר הפתיחה. בסל 15:30 המרחק החציוני היה 0.415%. כל מידע שסוכן ידע בעת הפתיחה אינו כולל כמעט אף אחד מהמהלכים האלה. היסטוריית commit או פיד ציבורי מתוארך מספקים הוכחה לסדר הזמנים (דוחות מחקר שוק יומיים של AI תלויים באותו מאפיין). צילום מסך של עקומת הון אינו מספק הוכחה כזו.

מה חייב להיכלל במספרים

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

שאילתהעלויות מסחר: המרווח המצוטט החציוני ועלות עסקת הלוך־חזור בסך $25,000: שעת הצהריים, 15 ביולי 2026
ה-SQL המדויק מאחורי כל מספר
SELECT ticker,
       round(quantileDeterministic(0.5)(20000 * (toFloat64(ask_price) - toFloat64(bid_price))
                                        / (toFloat64(ask_price) + toFloat64(bid_price)),
                                        cityHash64(sip_timestamp)), 2) AS median_spread_bps,
       round(25000 * quantileDeterministic(0.5)(2 * (toFloat64(ask_price) - toFloat64(bid_price))
                                                / (toFloat64(ask_price) + toFloat64(bid_price)),
                                                cityHash64(sip_timestamp)), 2) AS round_trip_cost_per_25k_usd
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO', 'MSTR')
  AND sip_timestamp >= toDateTime('2026-07-15 15:00:00')
  AND sip_timestamp < toDateTime('2026-07-15 16:00:00')
  AND bid_price > 1
  AND ask_price > bid_price
GROUP BY ticker
ORDER BY median_spread_bps DESC
Run this yourself

במהלך אותה שעה באמצע היום, ה־spread החציוני עמד על 10.08 נקודות בסיס ב־MSTR, לעומת 0.27 ב־SPY. נקודת בסיס היא מאית האחוז. בפוזיציה של $25,000, חציית ה־spread פעם אחת בכל כיוון עולה $25.2 בקצה הרחב של הרשימה ו־$0.66 בקצה הצר, לפני עמלות. ספר שמחליף את מלוא הפוזיציה פעם בשבוע משלם את האגרה הזו בערך חמישים פעמים בשנה. רקורד שמתעלם ממנה זוקף את הדולרים האלה לזכותו בשקט (כמה עולה לסחור במניה מפרט את יתר מרכיבי העלות).

כמה זמן נדרש לפני שתוצאות מסחר חי יהיו משמעותיות?

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

שאילתהטווח תוצאות ההחזקה ב־SPY מאז 2015: אחוזון 5, חציון, אחוזון 95
ה-SQL המדויק מאחורי כל מספר
WITH daily AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
           toFloat64(argMax(close, window_start)) AS close_px
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2015-01-02')
      AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY session_date
),
series AS (
    SELECT groupArray(close_px) AS px
    FROM (SELECT close_px FROM daily ORDER BY session_date)
),
horizons AS (
    SELECT arrayJoin([21, 63, 126, 252]) AS sessions, px
    FROM series
),
windows AS (
    SELECT sessions,
           arrayJoin(arrayMap(i -> (i, 100 * (px[i + sessions] / px[i] - 1)),
                              range(1, length(px) - sessions + 1))) AS w
    FROM horizons
),
measured AS (
    SELECT sessions,
           w.1 AS window_index,
           w.2 AS window_return_pct
    FROM windows
)
SELECT multiIf(sessions = 21, '1 month',
               sessions = 63, '3 months',
               sessions = 126, '6 months',
               '12 months') AS holding_period,
       count() AS window_count,
       round(quantileDeterministic(0.05)(window_return_pct,
                                         cityHash64(window_index * 1000 + sessions)), 1) AS p05_return_pct,
       round(quantileDeterministic(0.50)(window_return_pct,
                                         cityHash64(window_index * 1000 + sessions)), 1) AS median_return_pct,
       round(quantileDeterministic(0.95)(window_return_pct,
                                         cityHash64(window_index * 1000 + sessions)), 1) AS p95_return_pct,
       round(quantileDeterministic(0.95)(window_return_pct,
                                         cityHash64(window_index * 1000 + sessions))
             - quantileDeterministic(0.05)(window_return_pct,
                                           cityHash64(window_index * 1000 + sessions)), 1) AS spread_pct,
       round(stddevSamp(window_return_pct), 1) AS stdev_pct
FROM measured
GROUP BY sessions
ORDER BY sessions
Run this yourself

ב־2826 חלונות חופפים של שלושה חודשים, התוצאה החציונית מהחזקה ללא פעולה הייתה 3.9%. האחוזון ה־5 עמד על -8.8% והאחוזון ה־95 על 12.2%, כלומר טווח ברוחב של 21.1 נקודות. כל תוצאה רבעונית יחידה בתוך הטווח הזה עולה בקנה אחד עם החזקת המדד ויציאה לחופשה. השיקו עשרים סוכנים, הפעילו אותם במשך רבעון ופרסמו את הטוב ביותר — המספר שיוצג יגיע מעצם המבנה מהחלק העליון של טווח כזה.

החשבון לגבי אורך המדגם אינו סלחני. לתוצאות של שנים־עשר חודשים באותה סדרה סטיית תקן של 13.6 נקודות. כדי להבחין בין יתרון אמיתי לרעש נדרשות בערך (2 × שונות ÷ יתרון)² שנים של תוצאות מסחר חי. ברמת שונות כזו, יתרון היפותטי של 3 נקודות לשנה דורש עשורים רבים, וגם יתרון של 10 נקודות דורש שנים ולא חודשים. החלונות לעיל חופפים, ולכן 2826 סופר חלונות ולא מדגמים בלתי־תלויים.

האם $25,000 של כסף אמיתי מכריעים את העניין?

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

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

ארבעה כשלים שחשוב לזהות

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

שאלות נפוצות

האם ניתן לאמת רקורד מסחר של AI?

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

כמה זמן צריך להימשך רקורד מסחר חי של AI?

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

האם $25,000 מספיקים כדי להפוך את תוצאות תיק ה־AI למשמעותיות?

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

מה ההבדל בין בדיקת עבר לרקורד מסחר?

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

מדוע בחירת מדד הייחוס חשובה כל כך?

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


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

#ai agents#track record#live trading#backtesting#quant