מדוע DQN במסחר נשבר בשוק האמיתי
סוכן שאומן על ציטוטי מחירים היסטוריים מציג עקומה חלקה על מדגם נפרד — ואז נכנס לנסיגה בשבועות הראשונים של מסחר אמיתי. הבעיה אינה בבאג במימוש: לרשת Q עמוקה יש די קיבולת כדי לזכור מסלולי מחיר ספציפיים במקום את החוקיות שעומדת מאחוריהם.
החלפת משטר השוק שוברת את הסוכן ראשונה. התנודתיות, הנזילות והמיקרו־מבנה משתנים, וחוצץ השחזור עוד ממשיך להחזיר מעברים מהמשטר הקודם — הרשת ממשיכה לבחור פעולות לפי פונקציית ערך שכבר אינה נכונה.
לצד זה פועל השיהוי של האות: התצפית מגיעה באיחור, הביצוע נדחף עוד יותר מאוחר, והתגמול מחושב עבור מצב שכבר אינו קיים ברגע העסקה.
הלמידה היתרה של הסוכן מוסווית ככיוונון מוצלח. אם מחשבים את התגמול לפי עקומה היסטורית ללא עלויות, הרשת לומדת את רעש הנתונים — הספרד, ההחלקה, קריעות הנזילות — ובנתונים חדשים הנסיגה של האסטרטגיה מתבררת עמוקה מכל מגבלת סיכון סבירה.
לכן העמידות מוטבעת בהגדרת המשימה עצמה: סביבה עם שיהוי ועלויות אמיתיים, בדיקה בחלון מתגלגל, מאפייני משטר בתצפיות, קנס על מחזור יתר. בהמשך נפרק כיצד זה נסגר בפועל.
מה משתנה לאחר הטמעת סוכן מאומן
לאחר האימון הסוכן פועל כמעגל קבלת החלטות מדיד: הערכת מצב השוק, בחירת פעולה, הערכה מחדש של הפוזיציה בצעד הבא. את המדדים של סוכן המסחר אנו מחשבים באותו אופן — גם בהרצות היסטוריות וגם בזרימה חיה, כדי להשוות התנהגות לפני ואחרי ההטמעה.
שיעור ההחלטות ללא התערבות ידנית
סוכן מבוסס DQN סוגר תרחישים טיפוסיים בעצמו: מציב ומעביר הוראות, מקטין פוזיציה בעת עלייה בתנודתיות, יוצא עם הגעה לסיכון שהוגדר. אוטומציה של החלטות מסחר מפנה לניהול ידני רק חריגים — קריעת נזילות, עצירת מסחר, שוק תנודות חדשותי. בזרימה הכללית שיעור ההחלטות האוטומטיות מגיע ל‑80–90%, והמפעיל עובר מביצוע לבקרת סטיות.
עמידות האסטרטגיה והקטנת הנסיגה
אימון על מספר משטי שוק במקום אחד מעניק עמידות לאסטרטגיה: המדיניות אינה מתפרקת במעבר ממגמה לדשדוש. הקטנת הנסיגה בקטע הבדיקה — פי 1.5–2 לעומת ההיוריסטיקה הבסיסית, והתגובה לשינוי המשטר נמדדת בצעדי המודל ולא בדקות המתנה של המפעיל.
בקרת האיכות נעשית על תרחישים חוזרים: מריצים אפיזודות בסביבת Gymnasium ומשווים את התפלגות הפעולות של הסוכן לזו הצפויה. אותה קבוצת משטרים בודקת את המדיניות גם לפני הוצאה למעגל אמיתי וגם לאחר עדכון המודל — הפער במדדים נראה מיד.
מסחר עם DQN: מצבי עבודה ומגבלות
סוכן שאומן על אופי שוק אחד מאבד מאיכות ההחלטות כשמשתנים התנודתיות והנזילות. לכן מעגלי האימון והביצוע מופרדים: המדיניות נבחרת בארגז חול על נתונים היסטוריים, ורק גרסה קפואה נכנסת למעגל האמיתי. המצב הוא פרמטר בתצורה, לא בנייה נפרדת.
| מצב | מתי מתאים | מגבלות |
|---|---|---|
| ארגז חול על היסטוריה | כיול ראשוני, בדיקת השערות | המדיניות מתאימה עצמה למשטרי שוק מן העבר; ההחלקה ועלויות הביצוע מדומות בקירוב |
| אימון נוסף על זרימת נתונים | אופי השוק השתנה, נדרשת הסתגלות | סיכון לשכוח משטרים קודמים, חוסר יציבות על מדגמים קצרים |
| הרצת צל לצד המעגל העובד | בדיקה לפני הוצאת הסוכן לעבודה | האותות אינם מבוצעים, ההערכה אינה מביאה בחשבון את איכות העסקאות בפועל |
| עבודה עם מגבלות סיכון | הסוכן הוצא למעגל אמיתי | למידת חיזוק מייעלת את התגמול הממוצע, לא את התרחיש הגרוע ביותר |
המגבלה הכללית של למידת חיזוק — התגמול המתואר בסביבה אינו שווה למטרת העסק: הסוכן ממקסם ביושר את מה שהוגדר לו. לכן מעל המדיניות מונחת שכבת מגבלות סיכון, ומצב הסוכן נשמר בנקודות בקרה: חזרה לגרסה קודמת אורכת דקות ואינה עולה את הסטטיסטיקה שנצברה.
שלבי תכנון סוכן מסחר
סדר העבודות נבנה כך שהטעות תתגלה לפני שהיא תהפוך לאסטרטגיה מפסידה. תחילה מקבעים את המטרה: מה נחשב לתוצאה בהתחשב בעמלה ובהחלקה, איזו נסיגה אנחנו מוכנים לעבור, ובאיזה אופק אנו מחזיקים פוזיציה.
- ביקורת נתונים היסטוריים. בודקים את שלמות והקישוריות של הטור: חסרים, קריעות סשנים, אירועים תאגידיים, חריגים לאחר פרסומים. מכשירים בנזילות נמוכה מוציאים החוצה — הסוכן לא צריך ללמוד על מחירים שלא היו בשוק.
- הגדרת פונקציית התגמול. מנסחים מה הסוכן מייעל: תשואה מתוקננת לסיכון, קנס על החזקת פוזיציה, מגבלה על הון מושקע. טעות כאן היא הסיבה לכך שהאימון נראה מוצלח והעסקאות מפסידות.
- תכנון סביבת האימון. מרכיבים מצבים, פעולות ומעברים כך שישחזרו את התנאים האמיתיים: ספרד, עמלה, שיהוי ביצוע. הסביבה משוחזרת — הרצה זהה נותנת אותה תוצאה, אחרת אין למה להשוות גרסאות של הסוכן.
- אימון עם בקרת למידה יתרה. חלק מההיסטוריה נשמר בצד ומשמש רק לולידציה. כך רואים היכן הסוכן למד את חוקיות השוק והיכן זכר קטע ספציפי.
- בדיקת הסוכן. מריצים את המודל על תקופה נפרדת ועל קטעים עם תנודתיות שונה: מגמה, דשדוש, היפוך חד. בודקים את הנסיגה ואת ההתנהגות כאשר ההחלקה גבוהה מהרגיל.
- מסירת המודל. מוסרים הרצה משוחזרת, תצורת הסביבה, משקולות הרשת ודוח מדדים. מתארים כיצד לאמן מחדש את הסוכן על נתונים עדכניים ומתי לעצור את עבודתו בשוק החי.
תצורות, דוחות ותיעוד הסוכן
סוכן מאומן ללא חבילת ליווי הוא קופסה שחורה: אי אפשר לשחזר אותו, לא לעדכן אותו בבטחה ולא להסביר אותו לביקורת. לכן המסירה כוללת לא רק את הרשת השמורה מבוססת DQN, אלא גם את כל התשתית סביבה — מתצורת סביבת האימון ועד תקנון האימון הנוסף והניטור של הסוכן. להלן רשימת מה שנשאר בידי צוות הלקוח.
- תצורת סביבת האימון — תיאור מצב השוק, מערך המכשירים, אופק התחזית ופונקציית התגמול; קבצים קפואים שלפיהם כל הרצה משוחזרת לפי מספר גרסה, ולא לפי הזיכרון של המהנדס.
- תיעוד הסוכן — ארכיטקטורת הרשת, מרחב הפעולות, עיבוד מקדים של הציטוטים, תלויות הסביבה וסדר ההרצה: מהנדס חדש מרים את הסביבה ביום עבודה אחד.
- תרשים הפתרון — מסלול הנתונים ממקור הציטוטים ועד ההוראה, נקודות הבקרה וגבולות האחריות בין הסוכן למעגל המסחר.
- תקנון האימון הנוסף — טריגרים (שינוי במשטר התנודתיות, סחיפת התפלגות התשואות), חלון ולידציה, קריטריוני קבלה וסדר החזרה לתמונת משקולות קודמת.
- ניטור הסוכן — מדדים מקוונים: נסיגה, תשואה לסיכון, שיעור עסקאות שנדחו, פער בין ההערכה על ההיסטוריה לזו בזמן אמת; ספים וסדר ההתראות.
- דוחות אימון ובדיקות — יומן הרצות (תגמול, מספר עסקאות, זמן החזקת פוזיציה) ודוח על הנתונים ההיסטוריים בפילוח לפי משטרי שוק.
- מפת המגבלות — משטרים שבהם הסוכן אינו מיושם: נזילות נמוכה, חסרים בנתונים, קריעות חריגות, וכן מגבלות על גודל הפוזיציה.
מקרה בוחן: סוכן בעת החלפת משטר שוק
הסוכן המקורי אומן על משטר אחד — מגמה שקטה עם תנודתיות נמוכה. על ההיסטוריה הוא נראה עמיד: מקדם שארפ סביב 1.8, שיעור עסקאות רווחיות 58%.
במעבר לדשדוש עם תנודתיות גבוהה הסוכן המשיך להחזיק פוזיציות מגמתיות: הנסיגה גדלה ל‑34%, שיעור העסקאות הרווחיות צנח ל‑41%, ובפערים הנדירים רוב ההפסדים באו מעסקאות בודדות. הרשת לא עברה אימון יתר — היא פעלה בביטחון בעולם שכבר לא היה קיים.
מה שינו
מרחב המצבים הורחב במאפייני משטר: תנודתיות מתגלגלת, ספרד ותווית מגמה/דשדוש ממודל מרקוב חבוי, שתופס את החלפת המשטר לפני שהיא נראית במחיר.
לפונקציית המטרה נוסף קנס על החזקת פוזיציה נגד המשטר הנוכחי, וחוצץ השחזור קיבל עדיפות לאירועים נדירים: פערים מקבלים כעת באימון משקל כמו התרומה האמיתית שלהם לסיכון. האימון עבר דרך Ray RLlib על אנסמבל של חלונות היסטוריים, והערכת ערך כפולה הסירה הערכת יתר של פעולות.
מה היה בסוף
הנסיגה במעברים הצטמצמה מ‑34% ל‑14%, והתגובה להחלפת המשטר — משש שעות ל‑ארבעים דקות של החזקת פוזיציה. שיעור העסקאות הרווחיות על נתונים שהסוכן לא ראה נשמר בטווח 52–55% בשני המשטרים, במקום צניחה ל‑41%. העסקה הבודדת הגרועה באירוע נדיר קטנה פי 2.5 — בדיוק סוג הכשל הזה היה צריך לסגור.
את ההשוואה חישבנו על תקופות זהות עם אימון מחדש עוקב בכל חלון, בתוספת מבחני לחץ על קריעות נזילות סינתטיות ויומן החלטות לכל עסקה. המדדים לפני ואחרי הופקו לפי מתודולוגיה אחת — ולכן אפשר להשוות אותם ישירות.
במה סוכן מאומן נבדל מכללים ידניים?
כלל ידני הוא פונקציה מפורשת של אינדיקטורים: הצטלבות, סף, שיפוע. התנהגותו נקראת בעין, וזה הכוח שלו: הוא צפוי בדיוק כמו המשטר שאליו נכתב.
סוכן בלמידת חיזוק לא מקבל ספים — הוא לומד על מעברים של "מצב — פעולה — תגמול" ומאתר מדיניות שממקסמת את התגמול המצטבר בהתחשב בעלויות העסקה.
ההבדל הראשון — מה בדיוק מיועל. מערך כללים מתאר תנאי כניסה, אבל לעיתים נדירות קושר אותם לגודל הפוזיציה, לרגע היציאה ולמחיר הספרד בהחלטה אחת. סוכן DQN מעריך את הערך הצפוי של כל פעולה במצב הנוכחי, ולכן החזקה, הגדלה ויציאה הופכות לחלקים של מדיניות אחת, ולא לתנאים בלתי תלויים.
השני — התנהגות על נתונים שלא היו באימון. כלל במשטר שוק חדש בדרך כלל לא נשבר, אלא מפסיק לעבוד בשקט: יותר אותות, איכות נמוכה יותר, וזה נראה בנסיגה. סוכן בעת סחיפת התפלגות המצבים עלול להתדרדר בחדות, ולכן הוא יוצא לאוויר עם בקרת כניסות, הגבלה על פעולה וחזרה לגרסה קודמת של המדיניות.
השלישי — ליווי. תיקונים בכללים מתנגשים: תנאי חדש מתקן קטע אחד ושובר את זה שלצידו, והרגרסיה נמצאת ידנית. אצל הסוכן הלוגיקה נמצאת בפרמטרים, ולכן שינוי הוא אימון מחדש על מערך מורחב עם חלוקה קפואה, בדיקה על תקופה נשמרת והשוואת גרסאות לפי עמידות, ולא לפי עקומת תשואה אחת. יכולת ההסבר ניתנת לא על ידי נוסחה, אלא על ידי פירוק הפעולות לפי מצבים ובדיקות רגישות למאפיינים.
שאלות טכניות לפני תחילת העבודה
לפני ההתחלה עולות שלוש הסתייגויות טכניות: מניין לקחת נתונים, כיצד לוודא שסוכן DQN לא זכר את ההיסטוריה, ומי אחראי לסיכון בחשבון. להלן — כיצד אנו סוגרים כל אחת מהן בנהלים הנדסיים, בלי הבטחות ל"תשואה מובטחת".
האם יספיקו נתונים היסטוריים וכיצד לבדוק את איכותם?
ציטוטים מ‑Interactive Brokers ומארכיונים פנימיים מובאים לרשת אחידה: מיישרים את זמן הסגירה, משחזרים חסרים, מסמנים תקופות של נזילות נמוכה. DQN לומד על מעברים של "מצב — פעולה — תגמול", ולכן בר אחד מוזז שובר את השרשרת — הסוכן לומד חוקיות שלא הייתה בשוק.
כיצד להבין שהסוכן עבר אימון יתר?
אימון יתר בלמידת חיזוק נראה כעלייה בתוצאה על קטע האימון לצד כישלון על הקטע הנפרד. אנו שומרים על גבול זמן נוקשה, בודקים בחלון מתגלגל ומשווים התנהגות במשטרי שוק שונים: מגמה, דשדוש, נסיגה חדה.
באיזו תדירות נדרש אימון נוסף?
את האימון הנוסף מפעילים לא לפי לוח שנה, אלא לפי אות: התפלגות המאפיינים סחפה או שהתנודתיות של המכשיר השתנתה. הגרסה החדשה עוברת את אותן בדיקות הגנה כמו הראשונה ומושווית לנוכחית — אחרת שיפור במשטר אחד יאפס את התוצאה באחר.
מי אחראי לסיכון?
אנחנו אחראים לנתונים, לארכיטקטורה, לשחזור האימון ולנכונות הבדיקות. מגבלות המסחר — מגבלה על פוזיציה, סטופ יומי, איסור על כניסות חדשות בעת נסיגה — מתואמות אתך וחיות במעגל הביצוע בנפרד מהמודל, ולכן כשל של הסוכן אינו הופך לנסיגה בלתי נשלטת.
נדון במשימה ונחזור עם תוכנית
לפני שכותבים קוד, מפרקים את המשימה ברמה הנדסית: מניין מגיעה זרימת הציטוטים, כיצד נבנית פונקציית התגמול, ואילו מגבלות סיכון הסוכן אינו רשאי להפר. מזה נגזרת הארכיטקטורה — סוכן אחד למכשיר או סוכן משותף לתיק, והיכן עובר הגבול בין אימון לביצוע.
- מה מבררים: עומק ההיסטוריה של הציטוטים, תדירות ההחלטות, המאפיינים הזמינים בכל צעד בלי להציץ לעתיד.
- כיצד בנויה סביבת הסימולציה: עמלות, החלקה, ביצוע חלקי של הוראות, התנהגות בקריעות נזילות.
- לפי איזה מדד מחשבים את התוצאה: תשואה מתוקננת לסיכון, נסיגה, עמידות במשטרי שוק שונים.
- מה נחשב להוכחה: הסוכן עובר בדיקה מתגלגלת על תקופות נפרדות ואינו מתפרק על נתונים סחופים.
- כיצד הסוכן משתלב במעגל הביצוע: תחילה הדמיה בלי הוצאת הוראות, אחר כך מגבלות על פוזיציה והפסד יומי.
- מה נדרש מכם: גישה לנתונים היסטוריים, תיאור מעגל המסחר ודרישות ניהול הסיכונים.
נחזור עם הערכה לפרויקט הסוכן ותוכנית עבודה: שלבים, סדר הבדיקות ונקודות שבהן אתם רואים תוצאה ביניים. תארו את המשימה — נחזור עם הערכה ותוכנית.







