1 בספטמבר 2026 · פעולות תאגידיות

נתונים מותאמי פיצול, מפורקים לגורמים: מה פיצול 10-ל-1 של NVDA עושה לכל שורה שמתחתיו

נתונים מותאמי פיצול, מפורקים לגורמים: מה פיצול 10-ל-1 של NVDA עושה לכל שורה שמתחתיו

הנה שורה אחת מתוך קובץ מניות יומי. NVDA, יום שישי, 7 ביוני 2024, יום המסחר האחרון לפני שפיצול 10-ל-1 נכנס לתוקף.

עמודהערך
תאריך2024-06-07
סגירה1208.88
נפח42,800,000 (מעוגל)
מקדם_פיצול1.0
דיבידנד0.00
סגירה_מותאמת120.8781

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

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

10:1מחלק שהוחל על כל השורות הקודמות
0.99991789מקדם הדיבידנד, נרשם יום לאחר מכן
$45עמלה פיקטיבית לסיבוב מסחר מלא
2.8ppגריעה שנתית שהמחלק ממציא

תאריך: 2024-06-07, ושני התאריכים האחרים שחשובים יותר

הפיצול הוכרז ב-22 במאי 2024 לצד פרסום הדוחות. התאריך הקובע היה 6 ביוני. המסחר על בסיס מותאם לפיצול החל ביום שני, 10 ביוני. שלושה תאריכים, ועמודת split_factor של ספק הנתונים שלכם תואמת בדיוק לאחד מהם, בדרך כלל למושב המסחר הראשון אחרי התאמת הפיצול. טעות של יום לכאן או לכאן היא באג פעולות התאגיד הנפוץ ביותר שאני רואה, והיא בלתי נראית במצטבר: עקומת ההון שלכם צונחת או מזנקת ביום אחד ב-90% או ב-900%, שינוי שכמעט לא משפיע על Sharpe שמחושב על פני 2,000 ימים, אבל בהחלט משפיע על ירידה מרבית או על כלל עצירת הפסד.

לדיבידנד יש בעיית תאריכים משלו, והיא השתנתה בלי שאיש שם לב ב-2024. לתאריך הקובע של הדיבידנד הרבעוני של NVDA, בסך $0.01 אחרי הפיצול, נקבע 11 ביוני. הסליקה בארה״ב עברה ל-T+1 ב-28 במאי 2024, כלומר התאריך הקובע ותאריך האקס הם עכשיו אותו יום. כל טוען נתונים שמחשב את תאריך האקס כ״יום עסקים אחד לפני התאריך הקובע״ — חישוב שהיה נכון במשך עשרות שנים — התחיל ביוני 2024 לייצר בשקט התאמות דיבידנד מושב מסחר אחד מוקדם מדי. שום דבר לא נכשל. המקדם פשוט מופיע בשורה הלא נכונה.

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

סגירה: 1208.88 — המחיר שלא מופיע בקובץ

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

הטיפוס ההדרגתי של NVDA לכיוון $1,000 באביב 2024 היה תופעה ממשית, עם זרימת פקודות ממשית מאחוריה: מחירים עגולים שמשכו את השוק, ריכוז של מחירי מימוש באופציות ב-950 וב-1000, וסיכון לכותרות בכל התקרבות. בנתונים מותאמים, כל התקופה הזאת מתרחשת במחיר $100. אם אתם בודקים התנהגות סביב רמות פסיכולוגיות, לוגיקה של סגירת פערים בקרבת מספרים עגולים או מאפיין של קרבה למחיר מימוש, אתם בודקים זאת מול סדרת מחירים ששונתה עקב אירוע שעדיין לא התרחש.

אותו דבר נכון גם לסינון יקום המניות. ״להוציא מניות שמתחת ל-$5״ הוא מדד תקף לאשכול בעיות מיקרו-מבניות אמיתיות: מרווחים יחסיים רחבים, כללי התאמה לביטחונות ומשטרי גודל טיק. אם מריצים אותו על היסטוריה מותאמת, מוציאים חברות לתקופות שבהן נסחרו ב-$30 ורק מאוחר יותר עברו פיצול הפוך. אם מריצים ״מחיר מעל $500״, NVDA נעלמת בשקט מכל שנה שלפני יוני 2024. מסנני מחיר צריכים לפעול על עסקאות לא מותאמות. נקודה.

מקדם_פיצול: 1.0 — וה-0.1 בשורה הבאה

המקדם הוא מכפלה מצטברת שמחושבת לאחור מהיום. כל שורה שלפני 10 ביוני 2024 נושאת מקדם 0.1 מהפיצול הזה, כפול 0.25 מהפיצול ביחס 4-ל-1 ב-2021, כפול כל מה שקדם לו. ההיסטוריה של NVDA מלפני 2021 מוקטנת לפי 0.025, כך שנר שנסחר ב-$200 ב-2019 מופיע כ-$5.00.

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

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

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

סנט אחד. זה נראה כמו רעש, וזו הסיבה ש-adj_close מראה 120.8781 במקום 120.888 עגול.

מחיר הסגירה ב-10 ביוני היה 121.79. מקדם האקס-דיבידנד הוא (121.79 − 0.01) / 121.79 = 0.99991789. המקדם הזה מוכפל בכל מחיר שלפני 11 ביוני, ולכן 120.888, אחרי התאמה לפיצול, הופך ל-120.878074. השינוי קטן, קבוע, ומיושם שוב בכל אחד מעשרות תאריכי האקס שחוזרים לאורך ההיסטוריה של NVDA. ההצטברות היא מה שחשוב: כשמגיעים ל-2015, מסתכלים על מחיר שהוכפל בעשרות מקדמים מעט בלתי רציונליים. שום מחיר היסטורי מותאם אינו נמצא בדיוק על רשת האגורות.

המשמעות היא שכל == השוואה מול רמה עגולה שגויה, כל בדיקה של ״האם נגענו במחיר הלימיט״ דורשת טולרנס, ונרות ה-OHLC המשוחזרים שלכם כבר אינם מקיימים את התנאי low ≤ open ≤ high אחרי עיגול פשוט ל-4 ספרות עשרוניות. המשמעות היא גם ש-adj_close היא סדרת תשואה כוללת, ואילו close היא סדרת תשואת מחיר; אם מחשבים תשואות מאחת וירידות מהשנייה, ערבבתם שתי הגדרות שונות של מה שקרה.

נפח: 42,800,000 — המחלק שאיש אינו מיישם בעקביות

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

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

שלושה מבני קובץ של ספקים, שלושה אופני כשל.

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

העמודות שאינן כאן: adj_open, adj_high, adj_low

עכשיו נחזיר את ה-OHLC. אם פיד מתאים רק את הסגירה והאסטרטגיה שלכם מחשבת פער לילה בתור open / prev_adj_close − 1, אז ב-10 ביוני 2024 היא מחשבת 120.37 / 120.8781 − 1, תוצאה הגיונית, בערך −0.4%. אם מריצים את אותו קוד על 7 ביוני 2024, הוא לוקח את הפתיחה מהקובץ הגולמי (בערך 1207) ומולו סגירה שהותאמה לפי 0.025 בשל פיצולים ישנים יותר, ומפיק פער של אלפי אחוזים.

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

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

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

עמלות על מניות בארה״ב נגבות לעיתים קרובות לפי מניה. נניח $0.005, עם עמלת מינימום של $1.00 לפקודה — מדרגת מחיר קבועה נפוצה אצל ברוקרים למשקיעים פרטיים. עכשיו הריצו בדיקה לאחור על פוזיציה של $400,000 ב-NVDA, שנה לפני הפיצול, כשהמחיר הגולמי היה קרוב ל-$400 והמחיר המותאם מוצג כ-$40.

מניותעמלה
מה שקרה בפועל (מחיר גולמי $400)1,000$5.00
מה שהבדיקה לאחור רואה (מחיר מותאם $40)10,000$50.00

אותה חשיפה, אותה עסקה, פי 10 בעלות שהמודל מחשב. אלה $45 של עלות מדומה לכל צד בעסקה, $90 לסיבוב מסחר מלא, ואסטרטגיה שמבצעת עסקאות מדי יום צוברת כ-$22,000 בשנה בעלויות שמעולם לא היו. בספר של $400k, מדובר ב-5.6 נקודות אחוז בתשואה שנתית, שהמחלק המציא לחלוטין. במקרה הזה התוצאה גורמת לכם להיראות גרועים יותר מהמציאות, וזה עוד נסבל.

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

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

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

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

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