מתי לבדוק את תיק ההשקעות שלנו? עניין אמוציונלי Uval Vered, פברואר 19, 2024מרץ 14, 2024 בודקים את התיק כל יום? כל שבוע? כנראה שזה מתכון לאסון אמ;לק: אם אתם משקיעים פאסיביים ולא רוצים לקבל החלטות לא נכונות? תדגמו את התיק מקסימום פעם בשנה. אז מה הולך להיות לנו כאן? קצת מאבק הכוכבים של עמוס טברסקי ז”ל ודניאל כהנמן זוכה פרס הנובל לכלכלה 2003, קצת פייתון ופנדס, ומסקנה אחת חשובה להמשך הדרך.אז without further ado, בואו נתחיל! הנחות היסוד והתיאוריה החלק הזה לכשעצמו יכול להיות כל כך ארוך וכבד. הוא פרי מחקרם של עמוס טברסקי ז”ל ודניאל כהנמן. השניים תרמו רבות לפיתוח של הכלכלה ההתנהגותית ולמעשה הניחו את אבני היסוד לקשר שבין פסיכולוגיה וכלכלה.כיוון שניתן לרשום פוסט שלם (או ספר, או לזכות בפרס נובל) רק על החלק הזה, אשתדל להיות מאוד תמציתי ו- to the point. כהנמן וטברסקי כחלק מעבודתם המשותפת הגיעו למסקנה הביזארית הבאה: כאשר אנו -רוב בני התמותה- מורווחים (או מרגישים מורווחים) אנחנו שונאי סיכון וכאשר אנו מופסדים (או מרגישים מופסדים) אנחנו אוהבי סיכון. איך מסבירים תופעה ביזארית כזו? האמת, שבפשטות. כאשר יש לנו כסף ביד, נעדיף לשמור עליו. כאשר יש לנו הפסד ביד נעשה הכל רק לא לחוות את הכאב, כולל להמר עם אופציה להעמקת ההפסד.איזה מן ניסוי בכלל מראה דבר כזה? דמיינו את שני התרחישים הבאים:אני מציע לכם 500 ש”ח או להטיל מטבע. אם יוצא עץ (heads? בכל מקרה מטבע הוגן..)אתם לוקחים 1,000 ש”ח. אם יוצא פאלי אתם מחזירים לי את ה-500.אתם חייבים לי 500 ש”ח אך יכולים להטיל מטבע. אם יוצא ראש עץ אני מוותר לכם על החוב, אך אם יוצא פאלי אתם חייבים לי 1,000.בתרחיש 1 84% מהאנשים יקחו את הכסף וילכו (שונאי סיכון). בתרחיש 2 70% מהאנשים יטילו מטבע (אוהבי סיכון).בסדרות נוספות של ניסויים נקבעה המסקנה הבאה: הכאב שאנו חשים מהפסד הוא בערך פי 2 מהסיפוק שאנו חשים מרווח.זו הנחת היסוד הראשונה שלנו – הפסד הוא אמוציונלית כפול מרווח. ישנם אנשים (משקיעי על למשל, או פגועי ראש עם פגיעות מסוימות) שהנחת היסוד הראשונה אינה חלה עליהם. הם לא מגיבים אותו דבר לסיכון אלא חושבים עליו בצורה רציונלית. אם אתם חושבים שאתם כאלה, אתם בטח חושבים שאתם גם ב-10% של הנהגים הכי טובים על הכביש.הנחת יסוד שניה – אנחנו בני אדם סטנדרטיים ולכן הנחת יסוד 1 חלה עלינו. הבדיקה הזו רלוונטית בעיקר למי שקונה ומתכנן להחזיק, ועוד יותר למי שקונה מדדים. במקרים אחרים ישנם מצבים שצריך להכנס ולהיות בבקרה תכופה על ההשקעה כדי להשיג את מטרותיה.כיוון שה-S&P500 הוא ההשקעה הפאסיבית הפפולרית ביותר, אבצע את האנליזה עליו. אבל בקלות רבה ניתן להתאים את הקוד לכל נכס אחר לרבות מניות. מתודולוגיה אז איך נגשים בכלל לבעיה אמוציונלית עם מספרים?כיוון שהפסד כואב פי 2 מרווח, נעשה את הדבר הבא – לכל תקופה (יום, שבוע, חודש, רבעון, שנה) של רווח נקצה את הערך 1. לכל תקופה של הפסד נקצה את הערך 2-.נתבונן על השנים 1960- 2023. ראשית נתחיל בימים, נעבור לשבועות, חודשים, רבעונים ושנים. נסכום את כל ה1-ים -המינוס 2-ים ונחלק בכמות הדאטא פוינטס (כמות הימים\ שבועות ו.. הבנתם אותי). ואז נקבל מספר. אם המספר הזה הוא שלילי, משמע שבממוצע נרגיש רע מהלסתכל על התיק שלנו באופן התקופתי הזה. אם המספר הוא חיובי נרגיש טוב.בנוסף אני גם אחשב מתוך סך הדגימות כמה חיוביות חלקי סך הדגימות, כלומר מה ההסתברות שבדגימה אקראית נראה “ירוק” (עליות) בתיק שלנו.חשוב לומר (ולתת קרדיט) שהרעיון הזה לקוח מהספר המצוין What Works On Wall Street מהדורה רביעית. שם הבדיקה נעשתה בין השנים 1980 ל2009. הרעיון הראשוני לבדיקה הזו לקוח מספרו של נסים טאלב “Fooled by randomness” והרי התוצאות תקופהההסתברות לדגום יום חיובי אצל מר שוקציון ריגשייומי53%-0.4שבועי56%-0.31חודשי60%-0.2רבעוני65%-0.03שנתי70%0.15 מסקנה בוודאי שמתם לב שהציון הריגשי הופך לחיובי רק במדגם שנתי של ה-S&P 500. יתרה מכך – שימו לב כמה הבדיקה היומית היא שלילית אל מול הבדיקה השנתית (כמעט פי 3 בערך מוחלט). לכן המסקנה המתבקשת והכל כך קלה לביצוע, להסתכל על התיק רק פעם בשנה. גם יש לכן 70% סיכוי שהיום שבו תבדקו הוא יום ירוק (כלומר עליות בשוק) אז למה שלא נעשה את זה בעצם?אני חושב ש- it goes without saying שאי אפשר לבקש מאף אחד לבדוק מה עם תיק המניות שלו רק פעם בשנה. זה פשוט בכל מקום. זה כשקרן מרציאנו מדברת במהדורה בערב, כשעולה פרק נוסף של מנועי הכסף, כשקופץ ציוץ בטוויטר (בסדר אילון, X), כשגוגל פייננס דוחף פושים והכי חמור, זה שם מול העיניים כשנכנסים לקנות עוד. מה שכן אפשר לקחת מכאן זו ההבנה שאנחנו במלכוד ריגשי. אנחנו לא מתוכנתים להסתדר עם הבדיקות התכופות האלה של תיק המניות שלנו. לכן אם אתם לא אנשים סופר רציונליים שהרגש לא משפיע עליהם כלל ואתם משקיעים פאסיביים אני מציע פשוט לדחות את ההחלטה למכור בגלל ירידות לעוד שנה ובהסתברות 70% ניפול על יום של עליות ונחליט לא למכור. נפלתם שנה הבאה על יום אדום ואתם חושבים למכור? תקראו את המשפט הקודם שוב.דבר נוסף שראוי לציין הוא שישנן הרבה השקעות (גם פאסיביות) שיכולות לדשדש תקופה ארוכה (אולי מאוד) ולפתע כל מה שלא קרה כל התקופה קורה במספר ימים בודדים. מדד הבנקים מישהו?אגב, יש תיקים שאתם אכן בודקים פעם ברבעון, לעיתים פעם בשנה ולעיתים אף יותר רחוק. אלו החסכונות שמופרשים על ידכם ועל ידי המעביד שלכם ממקום העבודה. עם יד על הלב, מתי פעם אחרונה נכנסתם לבדוק מה עשתה הפנסיה שלכם? אולי קרן ההשתלמות? פייר, רובנו אפילו לא פותחים את הדוחות הרבעוניים. אני מניח שאנחנו מרגישים פחות מחוברים לחסכונות האלו מאשר לתיק האישי. קוד, קוד לכל אפשר כמובן ליפות את הקוד ולכווץ אותו, אבל השתדלתי להשאיר את זה פשוט ככל הניתן. מי שרוצה להריץ את אותה הבדיקה עבור מדד אחר צריך לשנות את ה-ticker. למשל מי שירצה לבדוק עבור נאסדק 100 ישנה את הטיקר ל-^NDX.חשוב לבדוק שלנכס שאתם בודקים יש אכן מידע מהתקופות שכתובות כאן, אם לא, תתאימו את הזמן. שימו לב שעל תקופה קצרה מידי אין לבדיקה הזו ממש משמעות. הייתי לוקח 30 שנה ככלל אצבע. import pandas as pd import yfinance as yf # Define the tickers ticker = '^GSPC' # Fetch data from Yahoo Finance data_1960_2023 = yf.download(ticker, start="1959-12-31", end="2023-12-31")['Adj Close'] def emotional_calculator(returns, period): # Initialize sum sum_result = 0 number_of_positive_days = 0 # Iterate over returns for return_val in returns: if return_val > 0: sum_result += 1 number_of_positive_days += 1 elif return_val < 0: sum_result -= 2 print(f'Emotional pain average {sum_result/len(returns)} for {period} period') print(f'Chance of a positive day {number_of_positive_days/len(returns)} for {period} period') # Calculate returns for the years 1960 - 2023 daily_returns_1960_2023 = data_1960_2023.pct_change() weekly_returns_1960_2023 = data_1960_2023.resample('W').ffill().pct_change() monthly_returns_1960_2023 = data_1960_2023.resample('M').ffill().pct_change() quarterly_returns_1960_2023 = data_1960_2023.resample('Q').ffill().pct_change() yearly_returns_1960_2023 = data_1960_2023.resample('Y').ffill().pct_change() # perform analysis for the dataset 1960 - 2023 emotional_calculator(daily_returns_1960_2023, "daily") emotional_calculator(weekly_returns_1960_2023, "weekly") emotional_calculator(monthly_returns_1960_2023, "monthly") emotional_calculator(quarterly_returns_1960_2023, "quarterly") emotional_calculator(yearly_returns_1960_2023, "yearly") statistics