Strasmore Research
חקירות Matt Connorמאת Matt Connor

אפקט ינואר: האם האנומליה בשוק המניות עדיין עובדת?

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

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

מהו אפקט ינואר?

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

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

השני הוא לוח הזמנים של המזומנים. בונוסים סוף-שנתיים והפקדות חדשות לחיסכון פנסיוני מגיעים באותו חלון זמן.

אף אחד מהמנגנונים הללו לא מצביע על החברות הגדולות ביותר בשוק. שניהם מצביעים על הקצה הקטן של השוק, שאליו דף זה חוזר שוב ושוב. החלון עצמו נראה בבירור בנתוני הפעילות. הלוח להלן לוקח את SPY, הקרן הנסחרת ביותר העוקבת אחר ה-S&P 500, ומחשב את ממוצע נפח המסחר היומי שלה לפי תאריך קלנדרי מ-21 בדצמבר ועד 10 בינואר לאורך ימי המסחר מאז 2011.

שאילתהנפח מסחר ב-SPY סביב סוף השנה, ממוצע מאז 2011
ה-SQL המדויק מאחורי כל מספר
SELECT
    concat(
        if(toMonth(date) = 12, 'Dec ', 'Jan '),
        if(toDayOfMonth(date) < 10, concat('0', toString(toDayOfMonth(date))), toString(toDayOfMonth(date)))
    )                                      AS label,
    round(avg(toFloat64(volume)) / 1e6, 1) AS avg_volume_millions,
    round(avg(toFloat64(volume)) / (
        SELECT avg(toFloat64(volume))
        FROM global_markets.stocks_daily_aggs
        WHERE ticker = 'SPY'
          AND date >= '2011-01-01'
          AND date <  '2026-08-01'
    ), 2)                                  AS relative_activity
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
  AND date >= '2011-01-01'
  AND date <  '2026-08-01'
  AND ((toMonth(date) = 12 AND toDayOfMonth(date) >= 21)
    OR (toMonth(date) = 1  AND toDayOfMonth(date) <= 10))
GROUP BY toMonth(date), toDayOfMonth(date)
ORDER BY if(toMonth(date) = 12, 0, 1), toDayOfMonth(date)
Run this yourself

Dec 21 עמד בממוצע על 126.2 מיליון מניות, או 1.24 מהממוצע של יום מסחר טיפוסי ב-SPY לאורך אותן שנים. Jan 10 עמד בממוצע על 90 מיליון, פי 0.89 מהממוצע הטיפוסי. ה-19 תאריכים בלוח מתחקים אחר תקופת החגים וימי המסחר הראשונים של השנה החדשה.

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

מדוע מניות בשווי שוק קטן ושקלול שווה קובעים את התשובה

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

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

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

שאילתההמסחר לפי נפח דולרי ממוצע, יוני 2026
ה-SQL המדויק מאחורי כל מספר
WITH per_symbol AS
(
    SELECT
        ticker,
        avg(toFloat64(close) * toFloat64(volume)) AS adv_dollars
    FROM global_markets.stocks_daily_aggs
    WHERE date >= '2026-06-01'
      AND date <  '2026-07-01'
    GROUP BY ticker
    HAVING count() >= 15
)
SELECT
    multiIf(
        adv_dollars <    100000, '1. under $100k',
        adv_dollars <   1000000, '2. $100k to $1M',
        adv_dollars <  10000000, '3. $1M to $10M',
        adv_dollars < 100000000, '4. $10M to $100M',
                                 '5. over $100M')  AS liquidity_bucket,
    count()                                        AS securities_count,
    round(100 * count() / (
        SELECT count()
        FROM
        (
            SELECT ticker
            FROM global_markets.stocks_daily_aggs
            WHERE date >= '2026-06-01'
              AND date <  '2026-07-01'
            GROUP BY ticker
            HAVING count() >= 15
        )
    ), 1)                                          AS share_of_tape_pct
FROM per_symbol
GROUP BY liquidity_bucket
ORDER BY liquidity_bucket
Run this yourself

1808 ניירות ערך רשמו ממוצע של פחות מ-100,000 דולר בנפח דולרי ליום, שהם 15.1 אחוז מהמדגם. בקצה השני, 1429 רשמו ממוצע של יותר מ-100 מיליון דולר. פרמיה עונתית מפורסמת נמדדת לפי מחירי סגירה. לכידת פרמיה כזו ב"דלי" הדליל של השוק משמעותה חציית ה-spread בין מחיר הקנייה למחיר המכירה פעמיים, בתוספת המחיר שהפקודה שלך מזיזה. סדרת תשואות חודשית לא מראה דבר מכל זה.

האם אפקט ינואר עדיין עובד?

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

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

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

שנים-עשר חודשים הם הרבה מבחנים

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

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

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

שאילתהכל חודש ינואר במסחר היומי, לפי ימי מסחר
ה-SQL המדויק מאחורי כל מספר
SELECT
    toString(toYear(date)) AS year,
    count()                AS january_sessions
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
  AND toMonth(date) = 1
GROUP BY year
ORDER BY year
Run this yourself

התיעוד כאן מכסה 23 ינוארים, מ-2004 ועד 2026, והאחרון שבהם הכיל 20 ימי מסחר. עשרים ומשהו תצפיות הן כל המדגם המודרני לכל טענה מהצורה "ינואר עושה X". מדגם בגודל כזה עקבי עם מגוון רחב של ערכים אמיתיים, והביטחון המיוחס לטענות עונתיות נוטה להקדים אותו בהרבה.

הטיית הסתכלות קדימה והטיית הישרדות, שני אחים

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

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

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

שאילתהסימולים ייחודיים שביצעו לפחות יום מסחר אחד, לפי שנה
ה-SQL המדויק מאחורי כל מספר
SELECT
    toString(toYear(date)) AS year,
    uniqExact(ticker)      AS listings_on_tape
FROM global_markets.stocks_daily_aggs
WHERE date >= '2006-01-01'
  AND date <  '2026-01-01'
GROUP BY year
ORDER BY year
Run this yourself

9450 סימולים נפרדים רשמו לפחות יום מסחר אחד ב-2006. ב-2025 הספירה הייתה 13423, לאורך 20 שנות מסחר. החברות ביקום משתנות מתחת לסך הכללים הללו ככל שרישומים מגיעים ושמות עוזבים, ויקום שנלקח מסרט המסחר של היום אינו מכיל אף אחת מהעזיבות. סימולים גם ממוחזרים, וזה מלכוד בפני עצמו: ראו מדוע סימולי טיקר שוברים מערכי נתונים.

ארבע שאלות לשאול על כל טענה עונתית

  1. מהי תקופת המדגם, ואיך נראה הדפוס מחוצה לה? פיצול שזקוק לשנים 1904 עד 1974 כדי להופיע הוא טענה שונה מזו שנמדדה בעשרים השנים האחרונות.
  2. איזה מדד, ואיך הוא משוקלל? גרסאות משוקללות שווי שוק ומשוקללות שווה של אותו יקום יכולות לחלוק בחדות על עונתיות של חברות קטנות.
  3. האם הכלל נקבע לפני חיפוש הנתונים, או נמצא על ידי חיפוש? שני המסלולים יכולים להניב את אותו שיעור הצלחה. הם נושאים ראיות שונות מאוד.
  4. מה שורד את העלויות? מרווחי קנייה-מכירה והשפעת שוק בקצה הדליל של המסחר, בתוספת העובדה שכולם קראו את אותו דף.

טענה עונתית שעונה על כל הארבע ראויה לקריאה מעמיקה. רובן לא עונות על אף אחת מהן.

כיצד נבנו הלוחות הללו
  • SPY מייצג את השוק הרחב בלוח תפנית השנה: הנפח שלו נקרא כהשתתפות בכל המדד ולא כחדשות על חברה אחת.
  • הלוח מכסה את התקופה מ-21 בדצמבר עד 10 בינואר בימי מסחר משנת 2011 ואילך. ה-25 בדצמבר וה-1 בינואר לעולם אינם מופיעים, שכן השוק סגור בשניהם.
  • לוח היקום סופר סימולים נפרדים עם לפחות יום מסחר אחד בשנה קלנדרית. הוא סופר סימולים, לא חברות.

שאלות נפוצות

מהו אפקט ינואר בשוק המניות?

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

האם אפקט ינואר עדיין עובד?

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

מדוע אפקט ינואר היה חזק ביותר בחברות קטנות?

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

האם אפקט ינואר הוא אותו דבר כמו "Sell in May"?

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


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

#seasonality#january effect#small caps#anomalies#backtesting