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

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

תחומי פיתוח AI

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

איזון מחדש של תיק עם AI: היכן התהליך נשבר

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

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

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

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

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

מה משתנה לאחר ההטמעה: אפקט מדיד

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

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

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

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

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

השוואת גישות: כללים, מודל, מערך משולב

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

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

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

סדר העבודה: מביקורת נתונים ועד להשקה

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

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

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

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

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

  5. מצב מקביל. המערכת ממליצה, העסקאות מתבצעות ידנית — איכות האותות נבדקת על נתונים חיים בלי סיכון לתיק.

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

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

הרכב האספקה: קונפיגורציות, כללים ונהלים

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

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

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

מקרה בוחן: כיצד הסרנו סחיפה של משקלות בין סוגי נכסים

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

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

הקמנו שירות שכל לילה שולף פוזיציות ושערים (מקור — Interactive Brokers), מחשב את המשקלות הנוכחיים ומשווה אותם למבנה היעד. אם סוג נכס יוצא מהמסלול, המודל מציע סט עסקאות בהתחשב בגודל לוט, נזילות ומגבלות על מחזור — עם הסבר מה מחזיר את הסוג למסלול ואילו מגבלות הופעלו.

התוצאה במדדים: סטיית תקן מהמבנה ליעד ירדה מ-4.8 ל-0.7 נקודות אחוז, הבדיקה מתבצעת מדי יום במקום פעם ברבעון. הפעולות הידניות בחודש נותרו 3–4 במקום ארבעים — האנליסט מאשר או דוחה סט מוכן, במקום לחשב מחדש משקלות.

הכנת ההחלטה הצטמצמה משני ימים ל-15 דקות, וסוג הסירוב "פקודה חרגה מהלימיט" הפסיק לחזור על עצמו.

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

במה שונה איזון מחדש מודלי מכללים?

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

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

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

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

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

שאלות ששואלים לפני ההתחלה

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

כיצד אתם בודקים את יציבות המודל?

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

מה אם הנתונים הגיעו חלקיים?

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

מה קורה בכשל בחישוב?

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

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

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

כיצד נבחנים מחדש הספים?

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

נדון במשימה ונחזור עם הערכה ותוכנית

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

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

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