עבור לתוכן
כל האסטרטגיות

אסטרטגיות

ETH Put-Credit-Spread שבועי של Deribit — קציר Volatility-Risk-Premium + Downside-Skew (אופציות Defined-Risk, מותנה-Skew, 3-פרמטרים)

תוצאה: ננטש

EthDeribitWeeklyPutCreditSpreadSkewVrp

ETH Put-Credit-Spread שבועי של Deribit — קציר Volatility-Risk-Premium + Downside-Skew (אופציות Defined-Risk, מותנה-Skew, 3-פרמטרים)

השערה

אסטרטגיית אופציות DEFINED-RISK, חד-זירתית, על פקיעות שבועיות DERIBIT ETH שמוכרת את הצד התחתון המתומחר-יתר באופן מתמשך של משטח ה-vol של הקריפטו. פעם למחזור שבועי (פקיעה קדמית ~5-7 DTE), ו-ONLY כאשר ביטוח הצד התחתון יקר באופן מוכח (put 25-delta IV עשיר יותר מ-ATM IV במרווח skew AND ATM IV מעל realized vol נגרר), היא פותחת PUT CREDIT SPREAD: SELL put אחד של ~25-delta ו-BUY put אחד של ~10-delta של אותה פקיעה. ההפסד המקסימלי מוגבל ל-(רוחב strike − קרדיט נטו), כך שהחשבון לא יכול להימחק על ידי תנועת זנב — מה שמטפל……הצג עודהצג פחות

אסטרטגיית אופציות DEFINED-RISK, חד-זירתית, על פקיעות שבועיות DERIBIT ETH שמוכרת את הצד התחתון המתומחר-יתר באופן מתמשך של משטח ה-vol של הקריפטו. פעם למחזור שבועי (פקיעה קדמית ~5-7 DTE), ו-ONLY כאשר ביטוח הצד התחתון יקר באופן מוכח (put 25-delta IV עשיר יותר מ-ATM IV במרווח skew AND ATM IV מעל realized vol נגרר), היא פותחת PUT CREDIT SPREAD: SELL put אחד של ~25-delta ו-BUY put אחד של ~10-delta של אותה פקיעה. ההפסד המקסימלי מוגבל ל-(רוחב strike − קרדיט נטו), כך שהחשבון לא יכול להימחק על ידי תנועת זנב — מה שמטפל ישירות בחשש המרכזי של סקירת הסיכונים עם אסטרטגיות short-vol. זה ממלא במכוון את פער התיק היחיד הגדול ביותר של ה-factory: אופציות הן 4.7% מהספר מול מכסת ≥15%, עם כיסוי קודם כמעט אפסי. היא מובחנת במכוון מ-short strangle פשוט — underlying שונה (ETH), מבנה שונה (vertical מוגדר-סיכון, לא דו-צדדי עירום), וסיגנל שונה (עושר put-SKEW + VRP, לא IV/RV גולמי). רק 3 פרמטרים מתכווננים כדי להתנגד ל-overfitting שהרג 259 היפותזות קודמות. NOT funding-carry (L33), NOT פורט מומנטום/trend-confluence (מוצה), NOT היפוך/fade של מחיר — מקור ה-P&L הוא פרמיית ביטוח מבנית פלוס פרמיית ה-put-skew של הקריפטו, לא תחזית מחיר כיוונית.

לשכבה-3 'No trades produced / 0 evaluated bars' היו שני גורמים קונקרטיים, ואף אחד מהם לא היה סף הכניסה (המשוב אומר בצדק לא להקל את הספים). ראשית, השורה '0 evaluated bars' היא הסחת דעת למשפחה זו: RollingOptionsStrategy.on_bar דורס לחלוטין את FactoryStrategy.on_bar ואף פעם לא מגיע ל-_process_primary, כך ש-bars_seen הוא 0 עבור כל אסטרטגיית rolling-options כולל כאלה שסוחרות כרגיל — אישרתי זאת על ידי קריאת rolling_options_template.py ו-base_template.py במקום להוסיף קריאת super().on_bar() שהייתה מנתבת את ה-primary bars……הצג עודהצג פחות

לשכבה-3 'No trades produced / 0 evaluated bars' היו שני גורמים קונקרטיים, ואף אחד מהם לא היה סף הכניסה (המשוב אומר בצדק לא להקל את הספים). ראשית, השורה '0 evaluated bars' היא הסחת דעת למשפחה זו: RollingOptionsStrategy.on_bar דורס לחלוטין את FactoryStrategy.on_bar ואף פעם לא מגיע ל-_process_primary, כך ש-bars_seen הוא 0 עבור כל אסטרטגיית rolling-options כולל כאלה שסוחרות כרגיל — אישרתי זאת על ידי קריאת rolling_options_template.py ו-base_template.py במקום להוסיף קריאת super().on_bar() שהייתה מנתבת את ה-primary bars למחסום היישור cross-leg של הבסיס, שבו רגלי האופציות לסירוגין (באותה מסגרת זמן 1-DAY כמו ה-primary) היו חוסמות עיבוד לנצח. שנית, החוסמים בפועל: (א) ANNUALIZATION MISMATCH — הגדרות ה-realized-vol שהתקבלו בירושה היו שעתיות (rv_window=168, bars_per_year=8760) בעוד שההרצה היא על ברים של 1-DAY, כך שתשואות log יומיות קיבלו annualization עם sqrt(8760) במקום sqrt(365), מה שניפח את RV פי 4.90x (tape נורמלי של 3%/day ETH נקרא כ-281% במקום 57%); שער VRP iv >= rv*(1+margin) השווה אז ~60% IV מול ~281% RV והיה False בכל מחזור. תוקן על ידי גזירת bars_per_year מסוג ה-bar המוגדר וביטוי חלון RV בימי לוח, כך שהסטייה לא יכולה לחזור בכל אינטרוול (אומת: 1-DAY -> 365, 1-HOUR -> 8760, 4-HOUR -> 2190, והשער כעת עובר על tape נורמלי). (ב) ROLE MAPPING — ה-scaffolding שהתקבל בירושה מיפה legs לפי סוג אופציה ודרש call אחד פלוס put אחד (strangle), כך ששתי רגלי ה-P של put spread התנגשו על מפתח אחד, השנייה נדחתה ככפילות, בדיקת המוכנות דרשה רגל call שלא קיימת, וכל רגל הוגשה SELL (שני short puts עירומים, לא vertical מוגדר-סיכון). כעת ה-legs ממופים לפי strike ל-short/long, ה-short נמכר וה-long נקנה באותו מספר חוזים cached, באופן אטומי. כמו כן הסרתי את ה-stop של premium-multiple שהתקבל בירושה: כנף ה-long כבר מגבילה את ההפסד, כך ש-stop על מבנה capped רק מממש מוקדם הפסד חסום ומוסיף עמלות. אריתמטיקת ה-sizing אומתה מקצה לקצה (spread ברוחב 150, קרדיט של $22, הפסד מקסימלי של $128 -> 15 חוזים = 1.9% מההון בסיכון). שמרתי את כל מה שעבר Layers 1-2 ללא שינוי: imports נקיים, פונקציית _bar_ts החופשית ברמת המודול שמתקנת את TypeError של staticmethod rebinding ב-Layer-2, מפענח DVOL, היפוך IV של Black-Scholes, וה-calculate_signal הרציף. lookback_days הוא 49 (7 מחזורים, 14 רגלי אופציות) מכיוון שטוען ה-catalog לכל סוג bar עולה ~10 שניות ל-leg ושרשרת גדולה יותר מסכנת את שעון הקיר של Layer-3; זה מגביל את המדגם ההתחלתי והוא תכונה של הטוען, לא של ההיפותזה.

verification_loop: האימות נכשל (שכבה 4 — סקירת QA) [class=code_defect]: - [edge_concern] ה-Sandbox avg_trade_return_pct הוא -45.45% על 2 טריידים עם metrics_reliable=false ו-data_days=1 — אין זו הכרעת ביצועים (תשואת per-notional אינה משמעותית עבור רגלי אופציות, שבהן ה-premium notional << wing notional, וה-sandbox הוא מבחן עשן של 1 ימים). הוא מועבר הלאה רק כהקשר: אם בעיית ה-loader/lookback שלהלן תיפתר ויצטבר מדגם weekly-options אמיתי, על האנליסט לבדוק מחדש האם הקרדיט נטו שנאסף מכסה את 0.03% לצד הלוך-חזור של Deribit……הצג עודהצג פחות

verification_loop: האימות נכשל (שכבה 4 — סקירת QA) [class=code_defect]: - [edge_concern] ה-Sandbox avg_trade_return_pct הוא -45.45% על 2 טריידים עם metrics_reliable=false ו-data_days=1 — אין זו הכרעת ביצועים (תשואת per-notional אינה משמעותית עבור רגלי אופציות, שבהן ה-premium notional << wing notional, וה-sandbox הוא מבחן עשן של 1 ימים). הוא מועבר הלאה רק כהקשר: אם בעיית ה-loader/lookback שלהלן תיפתר ויצטבר מדגם weekly-options אמיתי, על האנליסט לבדוק מחדש האם הקרדיט נטו שנאסף מכסה את 0.03% לצד הלוך-חזור של Deribit על פני 4 רגליים (פתיחה+סגירה x short+long) בתוספת כל assignment slippage, שכן ה-edge ה-per-notional של put-credit-spread דק מבנית. - [critical] rolling_options.lookback_days=49 מגביל את שרשרת האופציות הניתנת לפתרון ENTIRE של הבקטסט ANY ל-~49 הימים המסתיימים ב-'now' = ~7 מחזורים שבועיים / ~14 רגלי אופציות, ללא קשר להיסטוריית האופציות של Deribit בת 6.5 שנים ETH. האסטרטגיה יושבת שטוחה בשאר החלון וסוחרת רק בזנב. ה-sandbox מאשר זאת אמפירית: bars_processed=2400 (~6.5 שנים) ובכל זאת data_days=1 ו-total_trades=2 (trades_count=4). edge של variance-risk-premium + skew אינו ניתן להבחנה מרעש על ~7 מחזורים / ~14 רגליים — הרבה מתחת ל-~30-100 טריידים הדרושים למדגם אופציות מדיד. זהו בדיוק מלכוד ה-loader-cost-מול-sample-size -22 שגרם לנטישת BtcDeribitWeeklyDeltaHedgedAtmStraddleVrp הכמעט-זהה (אותו venue, אותו lookback_days=49) ב-Layer 4 לפני ימים. הנימוק של המפתח עצמו מכיר במגבלה ('lookback_days הוא 49 (7 מחזורים, 14 רגלי אופציות) מכיוון שטוען ה-catalog לכל סוג bar עולה ~10 שניות ל-leg ושרשרת גדולה יותר מסכנת את שעון הקיר של Layer-3'). בתצורה זו, האסטרטגיה לעולם לא יכולה להפיק בקטסט מלא מדיד. — תיקון: אין לאשר על ~7 מחזורים. יש לפתור את מלכוד ה-loader-cost מול sample-size -22 לפני הגשה מחדש: לאגד/להקביל או לשמור ב-cache את טעינות catalog.bars() לכל leg על פני ברים כך ש-lookback_days יוכל להגיע לשנים רבות של מחזורים שבועיים (~200-300 מחזורים) מבלי לחרוג משעון הקיר של ה-sandbox, ואז להגדיר את lookback_days לכיסוי חלון הבדיקה המלא. אם הטוען באמת אינו יכול לפתור היסטוריית weekly-options מדידה בתוך תקציב הזמן, משפחה זו אינה ניתנת לבדיקה ב-harness הנוכחי בקצב שבועי ויש לתכנן אותה מחדש (למשל פחות מחזורים חודשיים ארוכי-טווח לאורך כל הטווח) ולא

מימוש

put credit spread שבועי מוגדר-סיכון על Deribit ETH. בכל מחזור פקיעה שבועי (~7 DTE) מסגרת ה-rolling-options פותרת שתי רגלי put (~5% ו-~10% OTM); האסטרטגיה ממפה אותן לפי strike לרגל short (strike גבוה יותר, ~25-delta) ורגל long (strike נמוך יותר, ~10-delta), SELLS את ה-short ו-BUYS את ה-long במספר חוזים 1:1 זהה, ומחזיקה עד ל-roll buffer לפני סליקה אירופית במזומן. הכניסה מותנית בשני מבחני עושר הנמדדים בחלון הכניסה של המחזור: skew שלילי (short-put IV >= Deribit DVOL ATM IV x (1 + skew_margin)) ופרמיית סיכון תנודתיות (ATM IV >= realized vol נגרר של 14 ימים x (1 + vrp_margin)). ה-IVs של הרגליים מהופכים מבר הפרמיה USD של כל רגל עם Black-Scholes. ההפסד המקסימלי לספרד הוא (רוחב strike - קרדיט נטו), קבוע בכניסה, וה-sizing מסכן בדיוק זאת: חוזים = floor(הון x risk_frac / max_loss), מוגבל כך שרוחב הספרד ברוטו נשאר בתוך 50% מההון ועם רצפה במינימום ETH של 1 חוזי Deribit. 3 מתכווננים (skew_margin, vrp_margin, risk_frac); מינוף 1.0; אין נתיב מסחר perp/underlying.

תוצאות אימות

האימות נכשל (שכבה 4 — סקירת QA) [class=code_defect]: - [edge_concern] הסנדבוקס avg_trade_return_pct הוא -45.45% על 2 עסקאות עם metrics_reliable=false ו-data_days=1 — אין זו הכרעת ביצועים (תשואת פר-נושנל אינה משמעותית עבור רגלי אופציות, שבהן נושנל הפרמיה << נושנל הכנף, והסנדבוקס הוא מבחן עשן של 1 ימים). הוא מועבר הלאה רק כהקשר: אם בעיית הטוען/לוקבק שלהלן תיפתר ומדגם אמיתי של אופציות שבועיות יצטבר, על האנליסט לבדוק מחדש האם הקרדיט נטו שנגבה מכסה את הראונד-טריפ של Deribit בסך 0.03% לצד על פני 4 רגליים (open+close x……הצג עודהצג פחות

האימות נכשל (שכבה 4 — סקירת QA) [class=code_defect]: - [edge_concern] הסנדבוקס avg_trade_return_pct הוא -45.45% על 2 עסקאות עם metrics_reliable=false ו-data_days=1 — אין זו הכרעת ביצועים (תשואת פר-נושנל אינה משמעותית עבור רגלי אופציות, שבהן נושנל הפרמיה << נושנל הכנף, והסנדבוקס הוא מבחן עשן של 1 ימים). הוא מועבר הלאה רק כהקשר: אם בעיית הטוען/לוקבק שלהלן תיפתר ומדגם אמיתי של אופציות שבועיות יצטבר, על האנליסט לבדוק מחדש האם הקרדיט נטו שנגבה מכסה את הראונד-טריפ של Deribit בסך 0.03% לצד על פני 4 רגליים (open+close x short+long) בתוספת כל סליפג' הקצאה, שכן האדג' פר-נושנל של פוט-קרדיט-ספרד הוא דק מבנית. - [critical] rolling_options.lookback_days=49 מגביל את שרשרת האופציות הניתנת לפתרון ENTIRE של בקטסט ANY ל-~49 ימים המסתיימים ב-'now' = ~7 מחזורים שבועיים / ~14 רגלי אופציות, ללא קשר להיסטוריית האופציות של Deribit בת 6.5 שנים ETH. האסטרטגיה נותרת שטוחה ביתר החלון וסוחרת רק בזנב. הסנדבוקס מאשר זאת אמפירית: bars_processed=2400 (~6.5 שנים) אך data_days=1 ו-total_trades=2 (trades_count=4). אדג' של פרמיית-סיכון-שונות + הטיה אינו ניתן להבחנה מרעש על ~7 מחזורים / ~14 רגליים — הרבה מתחת ל-~30-100 עסקאות הדרושות למדגם אופציות מדיד. זהו בדיוק מלכוד עלות-הטוען-מול-גודל-המדגם-22 שגרם ל-BtcDeribitWeeklyDeltaHedgedAtmStraddleVrp הכמעט זהה (אותו מקום מסחר, אותו lookback_days=49) להינטש בשכבה 4 לפני ימים. הרציונל של המפתח עצמו מכיר במגבלה ('lookback_days הוא 49 (7 מחזורים, 14 רגלי אופציות) מכיוון שטוען הקטלוג לכל סוג בר עולה ~10s לרגל ושרשרת גדולה יותר מסכנת את שעון הקיר של Layer-3'). בתצורה הנוכחית, האסטרטגיה לעולם אינה יכולה לייצר בקטסט מלא מדיד. — תיקון: אל תעבירו על ~7 מחזורים. פתרו את מלכוד עלות-הטוען-מול-גודל-המדגם-22 לפני הגשה מחדש: בצעו באצ'ינג/מקבול או שמרו במטמון את טעינות catalog.bars() לכל רגל על פני ברים כדי ש-lookback_days יוכל להגיע לשנים רבות של מחזורים שבועיים (~200-300 מחזורים) מבלי לחרוג משעון הקיר של הסנדבוקס, ולאחר מכן הגדירו את lookback_days כך שיכסה את חלון הבדיקה המלא. אם הטוען באמת אינו יכול לפתור היסטוריית אופציות שבועיות מדידה במסגרת תקציב הזמן, משפחה זו אינה ניתנת לבדיקה ברתמה הנוכחית בתדירות שבועית ויש לתכנן אותה מחדש (למשל פחות מחזורים חודשיים ארוכי-טווח יותר על פני כל הטווח) אלא

היסטוריית איטרציות

האימות נכשל (שכבה 2 — תרחישים סינתטיים): פרמטרים שבהם נעשה שימוש: ['contracts', 'leg_sides', 'risk_frac', 'rv_window', 'atm_offset', 'skew_margin', 'iv_rv_margin', 'bars_per_year', 'min_contracts', 'iv_stale_hours', 'rv_slow_window', 'long_put_offset', 'rolling_options', 'short_put_offset', 'max_notional_frac', 'min_bars_required', 'roll_buffer_hours', 'entry_window_hours'] יש לבדוק ש-__init__ מגדירה את כל המאפיינים באמצעות self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts() מקבלת 1……הצג עודהצג פחות

האימות נכשל (שכבה 2 — תרחישים סינתטיים): פרמטרים שבהם נעשה שימוש: ['contracts', 'leg_sides', 'risk_frac', 'rv_window', 'atm_offset', 'skew_margin', 'iv_rv_margin', 'bars_per_year', 'min_contracts', 'iv_stale_hours', 'rv_slow_window', 'long_put_offset', 'rolling_options', 'short_put_offset', 'max_notional_frac', 'min_bars_required', 'roll_buffer_hours', 'entry_window_hours'] יש לבדוק ש-__init__ מגדירה את כל המאפיינים באמצעות self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts() מקבלת 1 ארגומנט מיקומי אך הועברו לה 2 (חותמת זמן של הנר: 1735691040000) - steady_downtrend: TypeError: FactoryStrategy._bar_ts() מקבלת 1 ארגומנט מיקומי אך הועברו לה 2 (חותמת זמן של הנר: 1735691040000) - flat_ranging: TypeError: FactoryStrategy._bar_ts() מקבלת 1 ארגומנט מיקומי אך הועברו לה 2 (חותמת זמן של הנר: 1735691040000) - volatility_spike: TypeError: FactoryStrategy._bar_ts() מקבלת 1 ארגומנט מיקומי אך הועברו לה 2 (חותמת זמן של הנר: 1735691040000) - zero_volume: TypeError: FactoryStrategy._bar_ts() מקבלת 1 ארגומנט מיקומי אך הועברו לה 2 (חותמת זמן של הנר: 1735691040000) - price_gap: TypeError: FactoryStrategy._bar_ts() מקבלת 1 ארגומנט מיקומי אך הועברו לה 2 (חותמת זמן של הנר: 1735691040000)

האימות נכשל (שכבה 2 — תרחישים סינתטיים): פרמטרים שבהם נעשה שימוש: ['contracts', 'leg_sides', 'risk_frac', 'rv_window', 'stop_mult', 'put_offset', 'call_offset', 'iv_rv_margin', 'bars_per_year', 'min_contracts', 'iv_stale_hours', 'rv_slow_window', 'max_delta_ratio', 'rolling_options', 'max_notional_frac', 'min_bars_required', 'roll_buffer_hours', 'entry_window_hours'] יש לבדוק ש-__init__ מגדירה את כל המאפיינים באמצעות self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts() מקבלת 1 ארגומנט……הצג עודהצג פחות

האימות נכשל (שכבה 2 — תרחישים סינתטיים): פרמטרים שבהם נעשה שימוש: ['contracts', 'leg_sides', 'risk_frac', 'rv_window', 'stop_mult', 'put_offset', 'call_offset', 'iv_rv_margin', 'bars_per_year', 'min_contracts', 'iv_stale_hours', 'rv_slow_window', 'max_delta_ratio', 'rolling_options', 'max_notional_frac', 'min_bars_required', 'roll_buffer_hours', 'entry_window_hours'] יש לבדוק ש-__init__ מגדירה את כל המאפיינים באמצעות self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts() מקבלת 1 ארגומנט מיקומי אך הועברו לה 2 (חותמת זמן של הנר: 1735691040000) - steady_downtrend: TypeError: FactoryStrategy._bar_ts() מקבלת 1 ארגומנט מיקומי אך הועברו לה 2 (חותמת זמן של הנר: 1735691040000) - flat_ranging: TypeError: FactoryStrategy._bar_ts() מקבלת 1 ארגומנט מיקומי אך הועברו לה 2 (חותמת זמן של הנר: 1735691040000) - volatility_spike: TypeError: FactoryStrategy._bar_ts() מקבלת 1 ארגומנט מיקומי אך הועברו לה 2 (חותמת זמן של הנר: 1735691040000) - zero_volume: TypeError: FactoryStrategy._bar_ts() מקבלת 1 ארגומנט מיקומי אך הועברו לה 2 (חותמת זמן של הנר: 1735691040000) - price_gap: TypeError: FactoryStrategy._bar_ts() מקבלת 1 ארגומנט מיקומי אך הועברו לה 2 (חותמת זמן של הנר: 1735691040000)

האימות נכשל (שכבה 3 — בקטסט בארגז חול): לא נוצרו עסקאות סוג הבר שהיה בשימוש: ETH-PERPETUAL.DERIBIT-1-DAY-LAST-EXTERNAL, ברים שעובדו: 2400 אבחון: calculate_signal() מעולם לא הוערך (0 ברים מוערכים) -> שום בר ראשי לא הגיע לנתיב האות של תבנית הבסיס -> אם אתה דורס את on_bar(), קרא ל-super().on_bar(bar); בדוק ש-bar_type תואם לנתוני המכשיר. אל NOT תשחרר את ספי הכניסה — לוגיקת הכניסה מעולם לא רצה. ודא שהאסטרטגיה שלך מייצרת עסקאות עם הנתונים והפרמטרים הנתונים.

האימות נכשל (שכבה 4 — סקירת QA) [class=hypothesis_mismatch]: - [edge_concern] אינו הבסיס להכרעה — החסימה היא fidelity, לא ביצועים. (לפרוטוקול ה-sandbox גם שלילי: -2.9%, PF 0.13, win 0.125, זנב של -$2,149 על ספר supposedly stopped — אך זו תוצאת האסטרטגיה הלא-נכונה.) - WHOLE-STRATEGY SWAP / MISLINK. ההיפותזה היא ETH Deribit שבועי PUT CREDIT SPREAD (מכירת put של ~25d, BUY put של ~10d — vertical מוגדר-סיכון). הקוד הוא BTC Deribit שבועי ניטרלי-דלתא SHORT STRANGLE (שם המחלקה, docstring, נימוק iter-3, וכל מנגנון הם……הצג עודהצג פחות

האימות נכשל (שכבה 4 — סקירת QA) [class=hypothesis_mismatch]: - [edge_concern] אינו הבסיס להכרעה — החסימה היא fidelity, לא ביצועים. (לפרוטוקול ה-sandbox גם שלילי: -2.9%, PF 0.13, win 0.125, זנב של -$2,149 על ספר supposedly stopped — אך זו תוצאת האסטרטגיה הלא-נכונה.) - WHOLE-STRATEGY SWAP / MISLINK. ההיפותזה היא ETH Deribit שבועי PUT CREDIT SPREAD (מכירת put של ~25d, BUY put של ~10d — vertical מוגדר-סיכון). הקוד הוא BTC Deribit שבועי ניטרלי-דלתא SHORT STRANGLE (שם המחלקה, docstring, נימוק iter-3, וכל מנגנון הם ה-strangle). ה-instrument AND והמנגנון שניהם שונים → ארטיפקט שגוי-ייצור/שגוי-קישור, לא ההיפותזה הזו. יש ליצור-מחדש/לקשר-מחדש את ה-put-credit-spread הנכון ETH. - מכשיר שגוי: ההיפותזה היא ETH, אבל instrument_id ו-bar_type הם BTC-PERPETUAL.DERIBIT ו-rolling_options.underlying הוא 'BTC'. אין ETH בשום מקום. - מבנה שגוי / לא מוגדר-סיכון: ההיפותזה מגבילה הפסד מקסימלי עם כנף put של PURCHASED ~10d. הקוד מגיש TWO רגלי SELL עם NO כנף קנויה; הזנב חסום רק על ידי stop פרמיה רך של הבר הבא (sandbox largest_loss -$2,149 מול avg_win ~$214 מראה שהוא אינו מגביל את הזנב) — בדיוק הפרופיל הלא-מוגבל שההיפותזה נמנעת ממנו. - ה-edge המרכזי חסר: סיגנל ההיפותזה הוא עושר downside-SKEW (25d-put IV מול ATM IV) פלוס IV>RV. הקוד אינו מחשב skew — רק IV/RV VRP ממוצע-strangle. קציר ה-put-skew שמבחין היפותזה זו אינו ממומש.

סיבת נטישה

verification_loop: האימות נכשל (שכבה 4 — סקירת QA) [class=code_defect]: - [edge_concern] ה-Sandbox avg_trade_return_pct הוא -45.45% על 2 טריידים עם metrics_reliable=false ו-data_days=1 — אין זו הכרעת ביצועים (תשואת per-notional אינה משמעותית עבור רגלי אופציות, שבהן ה-premium notional << wing notional, וה-sandbox הוא מבחן עשן של 1 ימים). הוא מועבר הלאה רק כהקשר: אם בעיית ה-loader/lookback שלהלן תיפתר ויצטבר מדגם weekly-options אמיתי, על האנליסט לבדוק מחדש האם הקרדיט נטו שנאסף מכסה את 0.03% לצד הלוך-חזור של Deribit……הצג עודהצג פחות

verification_loop: האימות נכשל (שכבה 4 — סקירת QA) [class=code_defect]: - [edge_concern] ה-Sandbox avg_trade_return_pct הוא -45.45% על 2 טריידים עם metrics_reliable=false ו-data_days=1 — אין זו הכרעת ביצועים (תשואת per-notional אינה משמעותית עבור רגלי אופציות, שבהן ה-premium notional << wing notional, וה-sandbox הוא מבחן עשן של 1 ימים). הוא מועבר הלאה רק כהקשר: אם בעיית ה-loader/lookback שלהלן תיפתר ויצטבר מדגם weekly-options אמיתי, על האנליסט לבדוק מחדש האם הקרדיט נטו שנאסף מכסה את 0.03% לצד הלוך-חזור של Deribit על פני 4 רגליים (פתיחה+סגירה x short+long) בתוספת כל assignment slippage, שכן ה-edge ה-per-notional של put-credit-spread דק מבנית. - [critical] rolling_options.lookback_days=49 מגביל את שרשרת האופציות הניתנת לפתרון ENTIRE של הבקטסט ANY ל-~49 הימים המסתיימים ב-'now' = ~7 מחזורים שבועיים / ~14 רגלי אופציות, ללא קשר להיסטוריית האופציות של Deribit בת 6.5 שנים ETH. האסטרטגיה יושבת שטוחה בשאר החלון וסוחרת רק בזנב. ה-sandbox מאשר זאת אמפירית: bars_processed=2400 (~6.5 שנים) ובכל זאת data_days=1 ו-total_trades=2 (trades_count=4). edge של variance-risk-premium + skew אינו ניתן להבחנה מרעש על ~7 מחזורים / ~14 רגליים — הרבה מתחת ל-~30-100 טריידים הדרושים למדגם אופציות מדיד. זהו בדיוק מלכוד ה-loader-cost-מול-sample-size -22 שגרם לנטישת BtcDeribitWeeklyDeltaHedgedAtmStraddleVrp הכמעט-זהה (אותו venue, אותו lookback_days=49) ב-Layer 4 לפני ימים. הנימוק של המפתח עצמו מכיר במגבלה ('lookback_days הוא 49 (7 מחזורים, 14 רגלי אופציות) מכיוון שטוען ה-catalog לכל סוג bar עולה ~10 שניות ל-leg ושרשרת גדולה יותר מסכנת את שעון הקיר של Layer-3'). בתצורה זו, האסטרטגיה לעולם לא יכולה להפיק בקטסט מלא מדיד. — תיקון: אין לאשר על ~7 מחזורים. יש לפתור את מלכוד ה-loader-cost מול sample-size -22 לפני הגשה מחדש: לאגד/להקביל או לשמור ב-cache את טעינות catalog.bars() לכל leg על פני ברים כך ש-lookback_days יוכל להגיע לשנים רבות של מחזורים שבועיים (~200-300 מחזורים) מבלי לחרוג משעון הקיר של ה-sandbox, ואז להגדיר את lookback_days לכיסוי חלון הבדיקה המלא. אם הטוען באמת אינו יכול לפתור היסטוריית weekly-options מדידה בתוך תקציב הזמן, משפחה זו אינה ניתנת לבדיקה ב-harness הנוכחי בקצב שבועי ויש לתכנן אותה מחדש (למשל פחות מחזורים חודשיים ארוכי-טווח לאורך כל הטווח) ולא

Stratmill הוא כלי למחקר ולמסחר נייר (Paper Trading), ואינו ייעוץ פיננסי או ברוקר. תוצאות בדיקה לאחור ומסחר נייר הן היפותטיות. מסחר טומן בחובו סיכון להפסד.