הסבר על נתוני החוב במינוף (Margin Debt) של FINRA
מדריך להבנת נתוני החוב במינוף של FINRA, הכללים מאחורי הדיווח, מועדי הפרסום בשבוע השלישי, הפער של ארבעה עד שבעה שבועות וניתוח היסטורי של הנתונים מאז שנת אלף תשע מאות תשעים ושבע.
נתוני החוב במינוף (margin debt) של FINRA הם סיכום חודשי של היקף הכספים שלוו משקיעים מחשבונות הברוקראז' שלהם, והם נאספים מכל ברוקר המחזיק חשבונות ממונפים עבור לקוחותיו. הנתון המרכזי הוא סך יתרות החובה של הלקוחות בדולרים, הנמדד נכון ליום העסקים האחרון של החודש. הנתונים מתפרסמים לציבור בשבוע השלישי של החודש העוקב, מה שהופך אותם למיושנים בטווח של ארבעה עד שבעה שבועות בעת הגעתם.
מה מודדים נתוני החוב במינוף של FINRA
הדיווח מוגש תחת תקנה 4521(d) של FINRA. כל חבר בורסה המחזיק חשבונות ממונפים עבור לקוחות מגיש, על בסיס תאריך סליקה ונכון ליום העסקים האחרון של החודש, את סך כל יתרות החובה בחשבונות ממונפים בניירות ערך ואת סך כל יתרות הזכות הפנויות בכל חשבונות המזומן וחשבונות המינוף.
שני סכומים אלו מהווים את כלל הסדרה. יתרת חובה היא הלוואה: הדולרים שהלקוח חייב לברוקר עבור ניירות ערך שנרכשו בכסף לווה. הסכום המצטבר בכל התעשייה הוא המספר המצוטט כחוב במינוף. יתרת זכות פנויה היא הצד השני של המטבע: מזומן של לקוחות השוכן אצל הברוקר וניתן למשיכה לפי דרישה, המפוצל בדיווח בין חשבונות מזומן לחשבונות ממונפים.
ארבעה פרטים משנים את אופן קריאת הנתונים:
- יתרות חובה נרשמות בערך ברוטו, כאשר ערכי שוק של פוזיציות שורט כלולים בהן ולא מקוזזים מול יתרות זכות של שורט.
- יתרות זכות פנויות אינן כוללות יתרות חשבונות שורט וחשבונות מזכר מיוחדים (SMA).
- בסיס תאריך סליקה אומר שעסקה נספרת ביום הסליקה שלה ולא ביום הביצוע (print). תחת סליקת T+1, רכישה שבוצעה ביום המסחר האחרון של החודש נסלקת בחודש הבא ונכללת בנתוני החודש הבא.
- מספר סוגי חשבונות נותרים מחוץ לאיסוף הנתונים לחלוטין, כולל חשבונות של חברי FINRA אחרים, חשבונות DVP ו-RVP, וחשבונות שאינם של ניירות ערך.
הטופס חייב בהגשה בהקדם האפשרי לאחר סוף החודש, ולא יאוחר מיום העסקים השישי של החודש העוקב. הפרסום מתבצע במועד מאוחר יותר.
מתי מתפרסמים נתוני החוב במינוף של FINRA?
FINRA מפרסמת בדרך כלל עדכונים לסטטיסטיקת המינוף בשבוע השלישי של החודש העוקב לחודש הייחוס. הפירמות מגישות את הנתונים עד יום העסקים השישי; הנתון המצטבר מתפרסם כשבועיים לאחר מכן. אין תאריך קבוע מראש לפרסום, וזהו הבדל מהותי מלוח הפרסום של יתרות שורט, שבו תאריכי הסליקה וההפצה מפורסמים שנה מראש.
כדי להבין את העלות של פער זה לקורא, ניקח את ה-20 בחודש העוקב כמייצג לפרסום בשבוע השלישי ונמדוד את השוק לאורך התקופה. הלוח להלן מציג את השנה וחצי האחרונות של סופי חודש: תאריך הייחוס, תאריך הפרסום המשוער, מספר ימי המסחר הרגילים שחלפו ביניהם, וביצועי SPY לאורך התקופה.
ה-SQL המדויק מאחורי כל מספר
WITH daily AS
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMax(close, window_start) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2024-11-01 00:00:00')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY d
),
reference_month AS
(
SELECT
toStartOfMonth(d) AS m,
max(d) AS as_of,
argMax(px, d) AS as_of_close
FROM daily
GROUP BY m
),
release AS
(
SELECT
m,
as_of,
as_of_close,
addDays(toStartOfMonth(addMonths(m, 1)), 19) AS release_day
FROM reference_month
)
SELECT
formatDateTime(r.m, '%Y-%m') AS month,
any(formatDateTime(r.as_of, '%b %e')) AS as_of_label,
any(formatDateTime(r.release_day, '%b %e')) AS release_label,
count() AS sessions_count,
round(100 * (toFloat64(argMax(d.px, d.d))
/ toFloat64(any(r.as_of_close)) - 1), 2) AS spy_change_pct
FROM release AS r
CROSS JOIN daily AS d
WHERE d.d > r.as_of
AND d.d <= r.release_day
AND r.release_day < today()
GROUP BY r.m
ORDER BY r.mלאורך התקופה האחרונה שהושלמה, מ-Jun 30 עד Jul 20, השוק רשם 13 ימי מסחר רגילים ו-SPY נע ב--0.57%. כל מי שקורא את נתון המינוף ביום פרסומו קורא תמונת מצב שנלקחה מספר ימי מסחר רב קודם לכן.
עד כמה נתוני החוב במינוף מיושנים בעת קריאתם?
תמונת המצב לסוף החודש היא הנתון הטרי ביותר בפרסום, והוא בן כשלושה שבועות. הלוואות שבוצעו בימים הראשונים של חודש הייחוס הן בנות כשבעה שבועות. זהו טווח ארבעה עד שבעה שבועות, והוא מאפיין של לוח הזמנים ולא של חודש ספציפי כלשהו.
הלוח הבא מרחיב את אותה מדידה לכל סופי החודש חזרה עד 2006, וממיין את התקופות לפי עוצמת התנועה של השוק בתוכן.
ה-SQL המדויק מאחורי כל מספר
WITH daily AS
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMax(close, window_start) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2006-01-01 00:00:00')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY d
),
reference_month AS
(
SELECT
toStartOfMonth(d) AS m,
max(d) AS as_of,
argMax(px, d) AS as_of_close
FROM daily
GROUP BY m
),
release AS
(
SELECT
m,
as_of,
as_of_close,
addDays(toStartOfMonth(addMonths(m, 1)), 19) AS release_day
FROM reference_month
),
gaps AS
(
SELECT
r.m AS m,
abs(round(100 * (toFloat64(argMax(d.px, d.d))
/ toFloat64(any(r.as_of_close)) - 1), 2)) AS abs_move_pct
FROM release AS r
CROSS JOIN daily AS d
WHERE d.d > r.as_of
AND d.d <= r.release_day
AND r.release_day < today()
GROUP BY r.m
)
SELECT
multiIf(abs_move_pct < 1, '0 to 1%',
abs_move_pct < 2, '1 to 2%',
abs_move_pct < 3, '2 to 3%',
abs_move_pct < 5, '3 to 5%',
abs_move_pct < 8, '5 to 8%',
'8% or more') AS move_bucket,
count() AS months_count,
round(100 * count() / (SELECT count() FROM gaps), 1) AS share_pct
FROM gaps
GROUP BY move_bucket
ORDER BY min(abs_move_pct)21.1% מהתקופות הללו שכנו בטווח ה-0 to 1%, בעוד שהטווח הרחב ביותר בתרשים, 8% or more, מכיל 15 מהן. נתון יתרה שמגיע לאחר תנועה בסדר גודל כזה מתאר תיק שהשוק כבר תמחר מחדש.
הפיגור פוסל בבירור שני שימושים. המספר אינו יכול לתאר את השבוע הנוכחי, ואינו יכול לעמוד לצד מחיר מאותו יום ללא הערה שהשניים מודדים רגעים שונים. יתרות שורט סובלות מאותה בעיה בצורה קצרה יותר, כפי שאנו מפרטים ב-מדוע נתוני יתרות שורט הם בני שבועיים.
מדוע סך דולרי של שיא הוא החלק הפחות מעניין
חוב במינוף מצוטט לרוב כאשר הוא קובע שיא. המכניקה הופכת זאת לרף נמוך. יתרות חובה הן דולרים לווים כנגד תיקים שערך השוק שלהם נע עם המחירים. אם נשמור על הלוואה קבועה כאחוז מערך התיק, ונניח למחירים לעלות, הסך הדולרי יעלה יחד איתם. שיא נומינלי, אם כן, רק מנסח מחדש את רמת המחירים ביחידות שונות.
עד כמה שיא הוא עניין שבשגרה? הלוח סופר סגירות סוף חודש ב-SPY שעקפו כל סגירת סוף חודש קודמת בחלון הזמן.
ה-SQL המדויק מאחורי כל מספר
WITH daily AS
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMax(close, window_start) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2006-01-01 00:00:00')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY d
),
month_close AS
(
SELECT
toStartOfMonth(d) AS m,
toFloat64(argMax(px, d)) AS close_px
FROM daily
GROUP BY m
),
peaks AS
(
SELECT
m,
close_px,
max(close_px) OVER (ORDER BY m ASC
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS running_peak
FROM month_close
),
per_year AS
(
SELECT
toYear(m) AS y,
count() AS closes_observed,
countIf(close_px >= running_peak) AS new_highs
FROM peaks
GROUP BY y
)
SELECT
toString(y) AS year,
closes_observed,
new_highs,
round(100 * sum(new_highs) OVER (ORDER BY y ASC
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
/ sum(closes_observed) OVER (ORDER BY y ASC
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), 1) AS cumulative_share_pct
FROM per_year
ORDER BY yלאורך חלון הזמן, 34.3% מסגירות סוף החודש היו שיאים חדשים לחלון, ו-2026 לבדו מחזיק ב-4 מהם עד כה. סדרה דולרית שעולה עם ערכי התיקים יורשת את התדירות הזו. קריאת שיא נומינלי כחדשות, כשלעצמה, בעיקר מציינת שהשוק נמצא קרוב לשיא.
שני טרנספורמציות הופכות את היסטוריית ההלוואות להשוואתית לאורך עשורים:
- מונחים ריאליים: ניכוי אינפלציה מהעמודה הדולרית באמצעות מדד מחירים לצרכן, כך שדולר של 1997 ודולר של 2026 הם אותה יחידה. הלשכה לסטטיסטיקה של העבודה מפרסמת היסטוריית CPI זו ללא תשלום.
- יחס: חלוקת יתרות חובה במדד של הנכס כנגדו נלקחה ההלוואה, כגון סך שווי שוק המניות בארה"ב או תמ"ג נומינלי. התוצאה היא עוצמת מינוף במקום סכום דולרי.
מבט נוסף אינו דורש נתונים חיצוניים כלל. השינוי באחוזים מחודש לחודש או משנה לשנה בעמודת יתרות החובה הוא חסר קנה מידה מעצם הגדרתו, והוא מסיר את הסחף האיטי שהרמה הכללית של המחירים תורמת לסך הגולמי.
האם חוב במינוף הוא אינדיקטור מוביל?
"צירוף מקרים" היא המילה הכנה. יתרות חובה וערכי תיקים נעים יחד בתוך אותו חודש, ועד שהנתון המצטבר מתפרסם, היסטוריית המחירים של אותו חודש כבר נחלת הכלל. כל טענה להובלה (lead) חייבת לעבור שני מכשולים: הקשר האריתמטי בין יתרה דולרית לרמת המחירים, והעיכוב של ארבעה עד שבעה שבועות לפני שהמספר קיים בכלל.
קורא יכול לבצע את בדיקת התנועה המשותפת ישירות. הצב את היסטוריית FINRA מול החודשים הגרועים ביותר של השוק וראה כמה מהירידה בסדרת המינוף מתרחשת באותם חודשים ולא לפניהם. הלוח מספק את התאריכים לבדיקה.
ה-SQL המדויק מאחורי כל מספר
WITH daily AS
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMax(close, window_start) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2006-01-01 00:00:00')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY d
),
month_close AS
(
SELECT
toStartOfMonth(d) AS m,
toFloat64(argMax(px, d)) AS close_px
FROM daily
GROUP BY m
),
chained AS
(
SELECT
m,
close_px,
lagInFrame(close_px, 1) OVER (ORDER BY m ASC
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prior_close
FROM month_close
)
SELECT
formatDateTime(m, '%b %Y') AS calendar_label,
round(100 * (close_px / prior_close - 1), 2) AS spy_change_pct
FROM chained
WHERE prior_close > 0
ORDER BY spy_change_pct ASC
LIMIT 10הגרוע מבין העשרה, Oct 2008, רשם -16.74% בין סגירות סוף חודש עוקבות, והעשירי עדיין רשם -8.4%. הצב את עמודת יתרות החובה לצד חודשים אלו, ושאלת התזמון תפתור את עצמה עבור הקורא ולא עבור כותב הכותרות.
כיצד להוריד את ההיסטוריה המלאה עד 1997
FINRA מפרסמת את הטבלה בדף סטטיסטיקת המינוף שלה ומציעה את אותה סדרה כהורדת Excel המתחילה בינואר 1997. שורה אחת לכל חודש, סך יתרת החובה לצד עמודות יתרות הזכות הפנויות, מדווחים במיליוני דולרים.
שני הרגלים הופכים את הקובץ לשימושי יותר. שמור עותק מתוארך של כל הורדה, שכן דיווח מתוקן יכול לשנות חודש קודם ורק הארכיון שלך יציג את השינוי. והעבר את חודש הייחוס לכל תווית תרשים שאתה בונה, כך שתרשים לעולם לא ישייך בשקט יתרה של חודש לחודש שבו היא פורסמה.
עבור נתוני FINRA הנקראים לרוב לצד אלו, ראה נתוני יתרות שורט של FINRA, העוקבים אחר אותו דפוס איסוף ופרסום במחזור דו-חודשי. עבור מדד רוחב ללא פיגור דיווח כלל, ה-מדד שיאים ושפלים בנוי ישירות מנתוני מחיר יומיים.
שאלות נפוצות
מתי מתפרסמים נתוני החוב במינוף של FINRA?
FINRA מפרסמת בדרך כלל עדכונים לסטטיסטיקת המינוף בשבוע השלישי של החודש העוקב לחודש הייחוס. פירמות מגישות את טופס יתרת המינוף של הלקוח לא יאוחר מיום העסקים השישי של אותו חודש עוקב, והנתון המצטבר מתפרסם לאחר מכן. לא מוכרז תאריך פרסום קבוע מראש.
מה ההבדל בין יתרות חובה ליתרות זכות פנויות?
יתרת חובה היא כסף שלקוח חייב לברוקר עבור ניירות ערך שנרכשו במינוף. יתרת זכות פנויה היא מזומן של לקוח המוחזק אצל הברוקר וניתן למשיכה לפי דרישה. FINRA אוספת את סך החובה עבור חשבונות ממונפים בניירות ערך ואת סך הזכות הפנויה עבור חשבונות מזומן וחשבונות ממונפים בניירות ערך.
עד כמה אחורה מגיעים נתוני החוב במינוף של FINRA?
ההיסטוריה הניתנת להורדה בדף סטטיסטיקת המינוף של FINRA מתחילה בינואר 1997, שורה אחת לכל חודש. היתרות מדווחות במיליוני דולרים על בסיס תאריך סליקה נכון ליום העסקים האחרון של כל חודש.
האם חוב במינוף חוזה שיאי שוק?
שני מאפיינים של הסדרה מגבילים שימוש זה. הרמה הדולרית נעה עם ערכי התיקים, כך שהיא עולה ככל שהמחירים עולים גם בעוצמת מינוף קבועה, וכל נתון הוא בן ארבעה עד שבעה שבועות בעת פרסומו. קוראים הלומדים נקודות מפנה נוטים לעבוד עם השינוי באחוזים משנה לשנה או גרסת יחס במקום הרמה הדולרית הגולמית.
האם חוב במינוף זהה ליתרות שורט?
לא. חוב במינוף הוא מזומן לווה המוחזק כנגד פוזיציות לונג. יתרות שורט סופרות מניות שנמכרו בשורט וטרם כוסו. שניהם מגיעים לציבור דרך דיווחי ברוקרים ל-FINRA במחזור קבוע, ושניהם מגיעים עם פיגור הנמדד בשבועות.
כל לוח לעיל מתרחב ל-SQL המדויק שיצר אותו. כדי להריץ את אותה אריתמטיקה של סוף חודש ופער פרסום על טיקר אחר או חלון זמן ארוך יותר, בקש זאת באנגלית פשוטה בטרמינל Strasmore.