סימולציית Monte Carlo לתיק השקעות: היכן נשברת הערכת הסיכון
חישוב סיכון נקודתי נשען על תרחיש אחד: תשואה ממוצעת, סטייה נתונה, אופק נבחר. התשובה נראית מדויקת כל עוד השוק מתנהג כצפוי, ומתפוררת בקרע הראשון.
סימולציית Monte Carlo לתיק מחליפה מספר בודד בהתפלגות תוצאות, אך נשענת על הנחות קלט: כיצד מתוארת התנודתיות של הנכסים, האם נלקחו בחשבון מתאמים בין מכשירים, האם מטריצת הקשרים משתנה במשטרי לחץ.
אם הקשרים מקובעים כקבוע, הערכת הסיכון של התיק מפחיתה את הזנבות — ושם בדיוק נמצאים ההפסדים שהאסטרטגיה אינה ערוכה להם.
הקרע השני — הנחות ידניות. שיעורים, אופקים וכללי איזון מחדש ניתנים לעתים קרובות "מניסיון" ואינם נבדקים בשום מקום. בדיקת השערות על נתונים היסטוריים מראה שחלק מהן אינן מחזיקות מעמד אפילו תקופת משבר אחת: הפרמטרים מותאמים למגמה הקודמת ואינם משוחזרים על נתונים חדשים.
השלישי — אי-התכנסות. שתי הרצות על אותה קבוצת נתונים מניבות קוונטילים שונים של הפסדים, וההחלטה תלויה בכך איזו תוצאה נפתחה ראשונה. יציבות האסטרטגיה מאושרת רק כאשר הסימולציה משוחזרת: מחולל מקובע, אותם קלטים, התכנסות ההערכה עם עליית מספר ההרצות.
להלן — כיצד זה נסגר: ממידע המפרט של התפלגויות הקלט ועד קריטריוני קבלה שלפיהם התוצאה נחשבת מהימנה.
מה נותן היישום: אפקטים מדידים להערכת הסיכון
האפקט המדיד הראשון — מהירות הכנת התרחישים. קבוצת תרחישי שוק נאספה בעבר ידנית: חתכי תשואות, מטריצות מתאם, תנודתיות רוכזו לטבלאות ותואמו בין מחלקות. תיאור הצהרתי של המחולל Monte Carlo מסיר את השלב הזה — סט תרחישים חדש נאסף מהר פי כמה, ולא לאורך ימים.
יכולת השחזור של החישובים נשענת על קיבוע מלא של הקלט. ההרצה שומרת את זרע המחולל, גרסת המודל, חתך הנתונים ופרמטרי ההתפלגויות, ולכן דוח שחושב היום משוחזר כעבור חודשים עם אותה תוצאה. זה סוגר סוג שגיאות של "בדוח מספרים אחדים, בחישוב מחדש אחרים": הפער נראה מיד ומוסבר.
ביטול ההנחות הידניות — השינוי המורגש ביותר. שיעור הפעולות שבהן פרמטרים הועברו ביד ממיילים, קבצים מקומיים וטבלאות, במסלול הקריטי יורד לאפס: גם הנתונים וגם ההגדרות מגיעים ממקור מנוהל גרסאות. סוג שגיאות בגלל חתך מיושן או של מישהו אחר נעלם לחלוטין — המודל אינו יכול לחשב בשקט לפי תקופה קודמת.
יציבות החישוב תחת עומס באה לידי ביטוי באופן שבו גדל הנפח. הגדלת מספר המסלולים בסדר גודל היא הוספת מחשבים ופריסה מקבילה של משימות, ולא כתיבה מחדש של המודל. זמן החישוב נשאר צפוי כל עוד גדל מספר התרחישים, ולא מורכבות הלוגיקה.
בקרת גרסאות של המודלים סוגרת את המעגל. המודל, הפרמטרים שלו וקוד המחולל חיים במאגר תחת תגיות: מכל דוח נראה באיזו גרסה הוא הופק, וחזרה לגרסה קודמת אינה מוחקת היסטוריה ואינה שוברת את יכולת השחזור של ההרצות הבאות.
גישות למידול תיק: השוואת מצבים
מצב החישוב נבחר לפי אופק התכנון ולפי מידת חשיבותם של תרחישי הזנב. מידול היסטורי לוקח את צורת ההתפלגות מסדרות התשואות בפועל ועונה במהירות על השאלה מה יקרה בחזרה על שוק מוכר, אך אינו יוצא מגבולות האירועים שכבר התרחשו.
מיצוי מלא של תרחישים בונה רשת דטרמיניסטית לכל נכס ומכסה צירופים שלא היו בהיסטוריה. המגבלה של הגישה — גידול קומבינטורי במספר המסלולים: יש לצמצם את הרשת לפי מספר הנכסים והצעדים, אחרת החישוב מפסיק להיות בר-סקירה. להלן — מתי כל מצב מתאים.
| מצב חישוב | מתי מתאים | מגבלות |
|---|---|---|
| מידול היסטורי | בדיקת מבנה התיק במשטרי שוק מוכרים | אינו יוצא מגבולות ההיסטוריה הנצפית, רגיש לחלון הנבחר |
| מיצוי מלא של תרחישים | חיפוש תנאי גבול ובדיקות לחץ | גידול קומבינטורי במספר המסלולים, נדרש סט פרמטרים מצומצם |
| גישה משולבת | אופק תכנון ארוך עם ענפים היפותטיים | יותר הנחות נקבעות על ידי מומחים, קשה יותר להסביר |
בפועל משלבים בין המצבים: חלונות היסטוריים קובעים את צורת ההתפלגויות, המיצוי — את הגבולות, והאופק קובע כמה צעדים לשחק. בדוח מציגים את התרומה של כל מצב בנפרד — נראה מהיכן הגיעה הערכת הסיכון הסופית.
שלבי הפיתוח: מביקורת נתונים עד מסירה לתפעול
סדר העבודה מקובע מראש כדי שהתוצאה תשתחזר: אותם נתוני קלט צריכים להניב את אותו דוח בכל מחשב, וגם בעוד חודש וגם בעוד שנה. לכן החישוב נבנה כקו ייצור פורמלי עם נקודות בקרה, שבו בכל שלב נראה מה בדיוק הוחלט ומדוע.
-
ביקורת נתוני המקור. בוחנים סדרות תשואות לכל מכשיר: חוסרים, חריגים, פיצולים, שינויי מטבע הציטוט, פערים בין מקורות. את הפגמים סוגרים בכללים לפני החישוב, אחרת מחולל המספרים האקראיים משכפל את השגיאה לאלפי תרחישים.
-
הגדרת המשימה. קובעים את האופק, הרכב התיק, רמות סמך ומדדים שלפיהם מתקבלות החלטות: ירידה, הסתברות לאי-השגת היעד, התפלגות התשואה לפי קוונטילים. מכך תלויים גם מספר ההרצות וגם שיטת בחירת התרחישים.
-
תכנון סכמת החישוב. מתאמים הנחות לגבי התפלגויות, מתאמים והדרך לשחזרם — גישה פרמטרית או דגימה בבלוקים, כדי לשמר את האוטוקורלציה. את המחולל מריצים עם זרע מקובע: התוצאה משוחזרת, והשינוי ההנדסי נראה בנפרד מהפיזור האקראי.
-
כיול המודל. מעריכים תנודתיות ומטריצת מתאמים לפי חלונות נעים, בודקים עד כמה ההערכה רגישה לאורך החלון. מוסיפים תרחישי לחץ שבהם המתאמים מתכנסים לאחד — כך המודל אינו מפחית את הסיכון בזמן משבר.
-
בדיקה על תקופות היסטוריות. מריצים את המודל על קטעים עם תוצאה ידועה ומשווים את התחזית למציאות: האם הירידה בפועל נופלת בתוך הטווח המחושב, האם התוצאה יציבה בעת החלפת הזרע. פערים מנתחים ולחלופין מדייקים את ההנחות, או קובעים אותם במפורש כמגבלה.
-
מסירה לתפעול. מוסרים תקנון לעדכון נתונים, חישוב מחדש מתוזמן, בקרה על פערים ותיעוד לפרמטרים. צוות הלקוח מבצע הרצה בעצמו בליווי שלנו — לפני שאנחנו מתנתקים.
מה מוסרים לידיים: מודלים, קונפיגורציות, תקנונים
חישוב שאי אפשר לחזור עליו הוא חסר תועלת: אם ההנחות, מקור הציטוטים ופרמטרי מחולל המסלולים אינם מקובעים, האנליסט הבא יקבל התפלגות אחרת על אותם נתונים ולא יבין את סיבת הפער. לכן מוסרים לא רק קוד, אלא את מעגל השחזור המלא — מתיאור המודל ועד לתקנון החישוב מחדש.
- תיעוד המודל: רשימת ההנחות, סוגי התפלגויות התשואה, מטריצת המתאמים, אופק התחזית, גבולות התחולה ופערים ידועים מול הנתונים בפועל.
- קונפיגורציות החישוב: קבצי פרמטרים — מספר המסלולים, צעד איזון מחדש, מקורות הציטוטים, טיפול בפעולות תאגידיות; מנוהלים בגרסאות יחד עם הקוד, כדי שהתוצאה תחזור למצבה הקודם.
- סכמת זרימות הנתונים: מטעינת סדרות השוק וניקוי חריגים ועד לצבירת אחוזונים ובניית עקומת התפלגות השווי הסופי, עם נקודות בקרת איכות בכל מעבר.
- הוראות לאנליסטים: כיצד להריץ תרחיש, כיצד להוסיף מכשיר לתיק, כיצד לקרוא דוח לפי קוונטילי זנב ולהבחין בין שינוי במודל לבין תזוזה בנתוני השוק.
- תקנון הרצה ועדכון: תדירות החישוב מחדש, האחראי על ההרצה, סדר הפעולות בעת פער מול תוצאת הבקרה ובעת עדכון המודל.
- מבחני שחזור: סט מקובע של מסלולים עם תוצאת ייחוס — לאחר תיקונים נראה מיד שהחישוב לא "זז" וההתפלגות נותרה ברת-השוואה.
- יומן שינויים של המודל: מה השתנה, ביוזמת מי, וכיצד זה השפיע על צורת ההתפלגות ועל הערכות הסיכון.
מקרה בוחן: כיצד השתנתה הערכת הסיכון לאחר היישום
חישוב הסיכון של התיק התבסס על שלושה מקורות מנותקים: ייצוא ממערכת הנה"ח, טבלאות של אנליסטים וקבצים עם ציטוטים היסטוריים שעודכנו ידנית לפי נתוני Bloomberg.
סט הנכסים, האופק, מספר המסלולים ומטריצת המתאמים הוגדרו בכל פעם על ידי עריכת סקריפטים, ולכן לא ניתן היה לחזור על ההרצה בדיוק אחד לאחד.
תרחישים הוכנו במשך 15 ימי עבודה, והתוצאה הייתה תלויה במי שאסף את הייצוא: פערים בקוונטיל ה-95 של ההפסדים בין מחלקות הגיעו ל-12 נקודות, ועוד שבוע הוקדש להתאמה.
| מה נמדד | לפני | אחרי |
|---|---|---|
| הכנת סט התרחישים | 15 ימי עבודה | 2 ימים |
| שיעור הפעולות הידניות בהרצה | כ-70% | כ-15% |
| פערים בדיווח הסיכון | 12 נקודות | נקודה אחת |
| פיזור הקוונטיל ה-95 בין הרצות | ±18% | ±2% |
| זמן ההרצה על תיק מלא | 40 דקות | 6 דקות |
המקורות רוכזו למאגר אחד עם ניהול גרסאות: טעינת הציטוטים מקבלת תאריך חתך וסכום ביקורת, והתרחיש מפנה לגרסה מסוימת של הסט, ולא ל"קובץ האחרון בדיסק". פרמטרי ההרצה — האופק, מספר המסלולים, זרע המחולל, מטריצת המתאמים — הוצאו לקונפיגורציה.
קלט זהה מניב פלט זהה, והדוח נבנה מליבה חישובית אחת, ולכן הפערים בין המחלקות נעלמים ברמת מקור הנתונים.
העבודה הידנית עברה מהרכבת הנתונים לבדיקת המודל: אנליסטים מאשרים הנחות ומסתכלים על זנב ההתפלגות במקום לרכז טבלאות. חזרה לחישוב קודם — החלפת הפניה לחתך הקודם.
במה ניתוח תרחישים שונה מבדיקות לחץ?
אלה אינם שני וריאנטים של הליך אחד, אלא שתי שכבות של בקרת סיכון. ניתוח תרחישים בונה התפלגות תוצאות: אלפי הרצות עם צירופים שונים של תשואות, תנודתיות ומתאמים מניבות לא מספר אחד, אלא תמונה — חציון, קוונטילים וצורת הזנב. בדיקות לחץ עונות על שאלה אחרת: האם התיק שורד בתנאי אחד שלילי שנקבע ידנית.
לכן גם המדדים שונים. ההתפלגות נותנת את גודל הסיכון ברמת סמך נתונה, את ההפסדים הצפויים בזנב, את ההסתברות לירידה עמוקה מהמגבלה ואת שיעור ההרצות עם דרישה להפקדת בטחון נוספת. לחץ נותן תשובה נקודתית: באיזה צעד מופעלות סגירות כפויות והאם ההון נשאר חיובי.
ההבדל גם בהנחות על הקשרים בין הנכסים. בניתוח תרחישים התלויות משוחזרות במודל סטטיסטי — ובזנב הן מתחזקות, דבר שכמעט לא נראה בנתונים רגועים. בלחץ הקשרים נקבעים בקשיחות: נכסי סיכון נופלים יחד, הנזילות נעלמת, הספרדים מתרחבים. לכן הלחץ פסימי במכוון מההתפלגות ואינו מתיימר להסתברות.
מכאן גם בחירת השיטה. את השאלה "היכן נשבר התיק ואיזה מרווח ביטחון נדרש" סוגרות בדיקות הלחץ; את השאלה "כמה הון להחזיק ובאיזו תדירות מופרת המגבלה" — ההתפלגות מההרצות. ועדת באזל דורשת את שני הכלים בדיוק משום שהסתברות האירוע והישרדות תחת לחץ הן שאלות שונות.
ספקות טכניים: נתונים, דיוק, שחזור
לפני תחילת החישוב עולה אותו סט ספקות: מהיכן מגיעים נתוני המקור ועד כמה הם שלמים, האם אפשר לסמוך על הפיזור בפלט, האם התוצאה תחזור בעוד חצי שנה. כל אלה דברים ניתנים לבדיקה, ולכל אחד יש תשובה.
כל הרצה כותבת יומן: תצלום של נתוני השוק עם המקור והזמן, גרסת המודל, מספר התרחישים, זרע המחולל. לכן התוצאה משוחזרת, והפער מול ההרצה הקודמת מוסבר בפרמטרים ולא ב"מקריות".
מה עושים עם חוסרים וחריגים בהיסטוריה?
חוסרים סוגרים רק בפערים קצרים בתוך הסדרה, פערים ארוכים וחריגים מסמנים ומחריגים מהערכת הפרמטרים. בדוח נראה כמה נקודות הושלכו וכיצד זה הזיז את התפלגות התשואות.
האם זה תחזית נקודתית או טווח?
בפלט התפלגות, ולא מספר בודד: חציון, קוונטילי הפסדים, הסתברות לירידה עמוקה מרמה נתונה. את היציבות בודקים על תקופות היסטוריות ותרחישי לחץ, כדי שהקוונטילים הקיצוניים לא יזוזו בעת החלפת חלון ההערכה.
האם החישוב יחזור על אותה קבוצת נתונים?
כן — בזרע מקובע ובאותה גרסת מודל התוצאה זהה, זה מכוסה בבדיקה אוטומטית. אם הרכב התרחישים משתנה, ההבדל נראה בהשוואה בין שתי הרצות.
כיצד לשלב את החישוב בדיווח ולעדכן את המודל?
את התוצאות מייצאים בפורמטים שהדיווח שלכם כבר קורא; הנחות המודל נמצאות בקובץ קונפיגורציה נפרד, ולכן העדכון אינו מחייב כתיבה מחדש של הקוד. גרסה חדשה מריצים תחילה במקביל לישנה ומראים את ההבדל.
נדון במשימה שלכם: מה לשלוח להערכה
כדי שההערכה תהיה עניינית ולא "פחות או יותר סדר גודל", מספיק לשלוח תיאור של המשימה ומה שיש לכם מבחינת נתונים. להלן — הסט המינימלי. אם משהו חסר, נסמן זאת כשאלה פתוחה ונציע כיצד לסגור.
- מטרת החישוב. אילו החלטות מתקבלות לפי התוצאות: השוואת אסטרטגיות, בדיקת מגבלות, תרחישי לחץ, דיווח שוטף בפני ועדה.
- הרכב התיק. סוגי נכסים, משקלים, מטבעות, טווחי סטייה מותרים, האם יש פוזיציות בלתי סחירות או בעלות נזילות נמוכה.
- נתונים. סדרות היסטוריות או המקור שלהן, עומק ותדירות, חוסרים, התחשבות באירועים תאגידיים ובעמלות.
- כללי המודל. אופק, מספר תרחישים, תדירות איזון מחדש, מגבלות נזילות ונפח עסקה.
- מדדי פלט. התפלגות התשואה, הסתברות לירידה, הערכות קוונטיליות של הפסדים, החתכים והצורות הנדרשים של הדוחות.
- כיצד התוצאה מגיעה לאנשים. ייצוא לקבצים, דשבורד, אינטגרציה עם מערכת הנה"ח, הרשאות גישה, יומן הרצות.
- שחזור ועומס. האם ההרצה צריכה לחזור בדיוק עד לספרה על אותו סט נתוני מקור, ובאיזה זמן צריך להסתיים החישוב המלא.
אין צורך להכין אפיון טכני מלא — לפי הסט הזה אנחנו משחזרים את היגיון החישוב ואת גבולות העבודה. בתגובה נשלח הערכת היקף, תוכנית עבודה לפי שלבים, רשימת הנחות ושאלות שכדאי להסיר לפני ההתחלה. תארו את המשימה — נחזור עם הערכה ותוכנית.







