סוכן אסטרטגיות AI יכול להפיק בדיקה היסטורית תקינה תוך שימוש במידע שלא היה קיים בזמן שבו העסקאות שלו היו אמורות להתבצע. הקוד רץ. עקומת ההון נראית סבירה. האות אולי אפילו הגיוני. ובכל זאת, חותמת זמן, צירוף נתונים או שדה נתונים מתוקן סיפקו לו בשקט את התשובה של מחר.
הפתרון הוא להפוך את מועד זמינות הנתונים לחלק מחוזה המחקר. לכל קלט צריכה להיות תשובה ברורה לשתי שאלות: לאיזו תקופה הערך מתייחס, ומתי האסטרטגיה יכלה לדעת אותו לראשונה?
איך נראית הטיית הצצה קדימה באסטרטגיה שנוצרה בידי AI?
הגרסה הברורה היא אות שמחושב לפי שער הנעילה של אותו נר, ולאחריו ביצוע באותו שער. אם האסטרטגיה זקוקה למחיר הנעילה כדי לקבל החלטה, היא לא יכולה גם לסחור במחיר הזה. אבל סוכנים יוצרים לעיתים קרובות גרסאות מתוחכמות יותר כשהם מצרפים מקורות נתונים או בוחרים ברירות מחדל נוחות.
נניח שמודל מחשב ממוצע נע של 20 נרות בסגירה של כל דקה ונכנס לפוזיציה כשהסגירה חוצה אותו. אם הבדיקה ההיסטורית מבצעת את העסקה באותה סגירה, היא השתמשה בעסקה האחרונה של הנר עוד לפני שהעסקה הייתה זמינה לאסטרטגיה. העברת הפקודה לפתיחה של הנר הבא עשויה להיות קירוב סביר, אם כי גם פקודת שוק עדיין מחייבת להביא בחשבון עמלות והשפעת מחיר.
עכשיו החליפו את המאפיין בנתון יסוד יומי של מניה או בתצלום מצב של חוזים פתוחים בקריפטו. התאריך בשורה עשוי להיות יום שני, אבל ייתכן שהערך פורסם אחרי הנעילה של יום שני או תוקן מאוחר יותר. תאריך אינו חותמת זמן של זמינות.
איך כדאי להחתים את קלטי האסטרטגיה בזמן?
שמרו לפחות 3 זמנים, ככל שהמקור מאפשר: התקופה שאליה הערך מתייחס, המועד שבו המפרסם פרסם אותו, והמועד שבו המערכת שלכם קיבלה אותו. קבוצת המידע של האסטרטגיה בזמן ההחלטה יכולה לכלול רק ערכים שהיו זמינים עד אז.
| שדה | על איזו שאלה הוא עונה | מלכודת נפוצה |
|---|---|---|
| זמן האירוע | מתי התרחש אירוע השוק? | שימוש בשער הסגירה של נר לפני שהנר הושלם |
| זמן הפרסום | מתי המקור פרסם את הערך הזה? | התייחסות לתווית סוף יום כאילו הפרסום התרחש בפתיחה |
| זמן הקליטה | מתי מערכת המחקר יכלה להשתמש בנתון? | התעלמות מהשהיה אצל הספק או בצינור הנתונים |
| זמן העדכון | מתי גרסה זו נשמרה או תוקנה? | מילוי ההיסטוריה לאחור בנתונים מתוקנים כאילו היו הנתונים המקוריים |
באסטרטגיה של 1-minute, השהיה של שנייה אחת אינה בהכרח חסרת משמעות. השאלה אם היא משנה תלויה במועד קבלת ההחלטה ובנתונים שבהם האות משתמש. אם הקלט הוא נתון סטטיסטי שעתי שהושלם, ייתכן שההשפעה תהיה זניחה. אם מדובר בחוסר איזון בספר הפקודות שנדגם סמוך לשליחת הפקודה, הוא עלול להפוך את העסקה על פיה.
האם מאגר נתונים לנקודת זמן מסוימת יכול למנוע דליפה?
כן, אם פירושו של “point-in-time” הוא שאפשר לשלוף את הערך שהיה ידוע במועד היסטורי של קבלת החלטה, כולל הגרסה העדכנית באותו זמן. טבלה שיש בה רק תאריכים היסטוריים עדיין יכולה להכיל את הערכים המתוקנים של היום עבור אותם תאריכים.
שמרו לכל רשומה מרווח תוקף וחותמת זמן של זמינות, ושמרו את הגרסאות במקום לדרוס אותן. לאחר מכן נסחו שאילתות היסטוריות באופן מפורש: החזירו את הגרסה האחרונה שהייתה זמינה במועד ההחלטה המדומה. הדבר חשוב במיוחד לנתוני יסוד, להרכב מדדים, לפרסומים כלכליים ולמערכי נתונים שנוקו בידי ספקים.
יש כאן עניין תפעולי לא זוהר: חותמת זמן מושלמת של הפרסום לא מועילה אם משימת קליטת הנתונים רצה באיחור של 20 דקות. אם המאגר ההיסטורי אינו מתעד את זמן הקליטה, השתמשו בהשהיה שמרנית וציינו זאת. דיוק שהמקור מעולם לא תיעד הוא רק קישוט.
אילו בדיקות מזהות הטיית הצצה קדימה לפני מסחר מדומה?
בקשו מסוכן המחקר להפיק לצד הבדיקה ההיסטורית גם ציר זמן של המאפיינים והפקודות. לכל החלטה תעדו את מועד הזמינות המאוחר ביותר של כל מקור נתונים עבור כל מאפיין, את מועד ההחלטה, את מועד שליחת הפקודה ואת מועד הביצוע המשוער. דחו כל שורה שבה קלט הגיע אחרי מועד ההחלטה.
- הזיזו את האותות קדימה בנר אחד והשוו את התוצאות. צניחה חדה יכולה לחשוף תלות בתזמון של סגירה-לסגירה, אך זו בדיקה אבחונית ולא הוכחה לדליפה.
- חתכו כל מקור נתונים במועד היסטורי, הריצו מחדש את צינור הנתונים והשוו בין המאפיינים שהתקבלו למאפיינים ההיסטוריים השמורים.
- החליפו מאפיין חשוד בקבוע. אם הביצועים נשארים כמעט ללא שינוי, בדקו אם הקוד בכלל השתמש בסדרת הנתונים המיועדת.
- העבירו בצינור הנתונים מאפיין עתידי בלתי אפשרי בכוונה. האימות צריך להיכשל באופן ברור כשהזמינות שלו מאוחרת ממועד ההחלטה.
הבדיקות האלה אינן מאשרות שהאסטרטגיה תקינה. הן הופכות הנחות תזמון מסוימות לגלויות ותופסות דרכים נפוצות שבהן מפרים אותן.
האם מסחר מדומה מוכיח שבבדיקה ההיסטורית לא הייתה דליפה?
לא. מסחר מדומה עשוי לחשוף נתיב נתונים חי שמגיע באיחור, חסר או מיושר אחרת מהנתיב ההיסטורי. הוא לא יכול להוכיח שמאפייני האימון הישנים שיקפו את מה שהיה ידוע באותו זמן. מודל גם עשוי להפסיק להפיק תועלת מדליפה פשוט מפני שהעתיד שראה בטעות הוא עכשיו ההווה.
השתמשו במסחר מדומה לבדיקת התאמה: השוו בין ערכי המאפיינים בזמן אמת, חותמות הזמן של ההחלטות, יצירת הפקודות והביצועים המשוערים לבין ההגדרות של הבדיקה ההיסטורית. כשיש הבדלים, עקבו אחר הקלט המדויק ואחר השעון. צוות סוכנים שמסוגל להסביר את קבוצת המידע ששימשה לכל החלטה עורך מחקר מועיל. צוות שמסוגל רק להציג עקומה חלקה דילג על הביקורת הקשה מכולן.
← כל הפוסטים


