עבור לתוכן

הצגת המקור

DeribitEthWeeklyPutWriteTrendGatedOnly

השערות

Deribit ETH שבועי עם ביטחון מזומן (Cash-Secured) OTM Put-Write — שער מגמה בלבד (Trend-Gated Only), דלתא קבועה ~25, NO שער חלון תצפית ארוך IV (קציר רגל-בודדת (Single-Leg) VRP; מתקן ישירות את חומת חלון התצפית של 4 עסקאות שגרמה לנטישת האחות ה-ETH-שבועית)

השערות

SINGLE-LEG, תוכנית שבועית PUT-WRITING עם ביטחונות מזומן מלאים (fully cash-collateralized) על אופציות ETH ב-Deribit — נכס הבסיס השני בנזילותו בשוק אופציות הקריפטו, תוך שימוש חוזר במסלול הביצוע EXACT (בחירת סטרייק באמצעות יוונים, סילוק מזומן שבועי) של ה-Deribit-BTC-weekly put-write המקודם עם Sharpe-12.2 של המפעל. היא מתוכננת במכוון כדי FIX את הסיבה היחידה, שאובחנה שוב ושוב, לכך שהאחות ה-ETH-שבועית ננטשה לאורך 8 איטרציות: השער הכפול שלה IV-rank + IV>RV דרש חלון תצפית מתגלגל (rolling lookback) של כ-560 ימים, מה שצמצם אותה לכ-4 עסקאות בלבד / metrics_reliable=false — מבוי סתום מבני שהמפתח מעולם לא הצליח לפתור. גרסה זו DROPS לחלוטין את שער חלון התצפית הארוך IV ושומרת ONLY על מסנן המגמה (השער שהוכח כנושא-מבנה באסטרטגיה המנצחת המקודמת BTC), תוך כתיבת OTM ETH put קבוע בדלתא של כ-25 בכל שבוע כשיר. ללא תלות רב-שנתית באחוזון IV, היא נורית כ-40-52 פעמים בשנה על פני היסטוריית האופציות השבועיות הזמינה של Deribit ETH → מספר עסקאות אמין סטטיסטית, המבטל את חומת 4 העסקאות בדיוק. היא ממלאת את הזירה הכי לא-מיוצגת (אופציות: 5.5% ב-Deribit + 0.1% ב-Binance לעומת יעד של ≥15%) ומגוונת את תיק האופציות מ-BTC בלבד לנכס בסיס שני של תנודתיות לא-מתואמת. היא NOT מבנה רב-רגליים (L2), NOT תא חסום-נתונים (שרשרת ETH שבועית + יוונים מקוטלגים ומוכחים כבני-ביצוע דרך האחות BTC), NOT כיוונית. במכוון 2 פרמטרים (דלתת put, אורך מסנן מגמה) כדי לעמוד בפני התאמת יתר.

השערות

איטרציה 3 מתקנת את חריגת הזמן הריאלי (wall-clock timeout) של Layer-3 באמצעות שינוי תצורה (config) בלבד; קוד האסטרטגיה CODE ללא שינוי (הוא כבר עבר את Layers 1-2, העבודה לכל בר היא O(1) באמצעות SMA מצטבר (incremental running-sum), ואין סריקות min()/sorted()/היסטוריה לכל בר). אבחון: איטרציה 2 העבירה כראוי את פתרון (resolution) ה-primary+leg אל 1-DAY אך STILL חרג בזמן, מה שמוכיח שהצוואר בקבוק (bottleneck) אינו מספר הברים. בקריאת src/data/option_chain.py: discover_deribit_chain שולח בדיקת רשת (network probe) fetch_ohlcv עבור כל סטרייק מועמד של פקיעה שבועית EACH, וסביבת החול (sandbox) של Layer-3 משתרעת על פני lookback_days (expand_rolling_options / ברירת מחדל של הצינור (pipeline default) 365). כך שעלות ההרחבה (expansion) מתעצמת עם מספר הפקיעות השבועיות = lookback_days, ללא קשר לפריים-טיים (timeframe). תצורת iter-2 נשאה lookback_days ~730 (~104 פקיעות, הכפלת מספר הבדיקות), מה שחרג מתקציב ה-300 שניות. חזרה (reverting) של lookback_days אל 365 (~52 פקיעות) מחצה את בדיקות הפקיעה והורדות הרגליים (legs), ותואמת בדיוק את הסקאלה שבה האחיות המוכחות של ETH/BTC put-write שבועי עוברות את Layer 3, תוך כיסוי של כ-52 שבועות כשירים כך שמספר העסקאות נותר אמין סטטיסטית (~30-52 כתיבות לאחר שער המגמה) והרבה מעל למבוי הסתום של 4 עסקאות. כל השאר נשמר ומוכח: תת-מחלקה (subclassing) ישירה של RollingOptionsStrategy (Layer-1 מזהה אותה; הווים (hooks) האבסטרקטיים 4 קיימים פיזית), ללא נתיב עשן (smoke path) (רגלי אופציות אמיתיות נסחרות דרך לוח הזמנים המורחב, מה שמספק (satisfying) options_no_option_trades), שער המגמה המבוסס-מחיר היחיד ב-_enter_leg, פתרון primary 1-DAY ETH-PERPETUAL + פתרון רגל (leg) 1-DAY (הפתרון שבו משתמשת האחות ETH העוברת בק-טסט put-write), גודל פוזיציה מבוטח-מזומן (cash-secured sizing) (risk_frac 0.8, מינוף 1.0 לפי תקרת הזירה (venue cap) של האופציות), ועיצוב עם 2 פרמטרים (היסט put + sma_window).

השערות

backtest_failed: RuntimeError: הרחבת rolling_options נכשלה (ConnectError: ); מסרב לרוץ עם לוח זמנים ריק של אופציות (empty option schedule) Traceback (most recent call last): File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", line 101, in map_httpcore_exceptions yield File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", line 394, in handle_async_request resp = await self._pool.handle_async_request(req) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", line 256, in handle_async_request raise exc from None File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", line 236, in handle_async_request response = await connection.handle_async_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection.py", line 101, in handle_async_request raise exc File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection.py", line 78, in handle_async_request stream = await self._connect(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection.py", line 156, in _connect stream = await stream.start_tls(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_backends/anyio.py", line 67, in start_tls with map_exceptions(exc_map): File "/usr/lib/python3.12/contextlib.py", line 158, in __exit__ self.gen.throw(value) File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions raise to_exc(exc) from exc httpcore.ConnectError החריגה הנ"ל הייתה הגורם הישיר לחריגה הבאה: Traceback (most recent call last): File "/opt/strategy-factory/src/agents/backtest_agent.py", line 49, in expand_rolling_options_into_config extra_i, extra_bt, sched = await expand_rolling_options(collector, spec, start, end) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/data/option_chain.py", line 242, in expand_rolling_options contracts = await discover_deribit_chain( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/data/option_chain.py", line 143, in discover_deribit_chain perp_bars = await collector.fetch_ohlcv(perp, start_ms, end_ms, "1D") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/data/collectors/deribit_collector.py", line 169, in fetch_ohlcv result = await self._get("/public/get_tradingview_chart_data", { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/data/collectors/deribit_collector.py", line 86, in _get response = await self._client.get(f"{DERIBIT_API_URL}{endpoint}", params=params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1768, in get return await self.request( ^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1540, in request return await self.send(request, auth=auth, follow_redirects=follow_redirects) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1629, in send response = await self._send_handling_auth( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1657, in _send_handling_auth response = await self._send_handling_redirects( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1694, in _send_handling_redirects response = await self._send_single_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1730, in _send_single_request response = await transport.handle_async_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", line 393, in handle_async_request with map_httpcore_exceptions(): File "/usr/lib/python3.12/contextlib.py", line 158, in __exit__ self.gen.throw(value) File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", line 118, in map_httpcore_exceptions raise mapped_exc(message) from exc httpx.ConnectError החריגה הנ"ל הייתה הגורם הישיר לחריגה הבאה: Traceback (most recent call last): File "/opt/strategy-factory/src/agents/backtest_agent.py", line 184, in _run_backtest config = await self._maybe_expand_rolling_options(config, catalog_path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/agents/backtest_agent.py", line 427, in _maybe_expand_rolling_options config = await expand_rolling_options_into_config(config, catalog_path, self._logger) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/agents/backtest_agent.py", line 59, in expand_rolling_options_into_config raise RuntimeError( RuntimeError: הרחבת rolling_options נכשלה (ConnectError: ); מסרב לרוץ עם לוח זמנים ריק של אופציות (empty option schedule)

מימוש

כתיבת פוזיציית put שבועית בודדת (single-leg), מובטחת במזומן (cash-secured), על אופציות אירופיות ETH של Deribit (OTM), עם שער מגמה (trend-gated) בלבד. בכל שבוע המסגרת פותרת את שרשרת ה-put השבועית ההיסטורית של Deribit ETH (בכוונה למחיר מימוש (strike) בדלתא (delta) של כ-~25 OTM דרך היסט מוניינס (moneyness offset) של -6%) ומגלגלת אותה; האסטרטגיה SELLS put אחד עם כ-~7 ימים לפקיעה וסוגרת אותו כ-~24 שעות לפני ההתחשבנות. השער ONLY הוא מסנן מגמה מבוסס-מחיר בלבד: הוא כותב את ה-put רק כאשר ספוט ETH נמצא מעל ה-SMA שלו לכ-~50 ימים (נרות יומיים), ונשאר מחוץ למגמות ירידה מאושרות. ללא חלון פרצנטיל IV רב-שנתי, האסטרטגיה סוחרת בכל שבוע כשיר (כ-~52 לשנה על פני חלון של 365 ימים) לשם מספר עסקאות אמין סטטיסטית, תוך חיסול ישיר של קיר ה-lookback של 4 עסקאות שגרם לנטישת האחות ETH-שבועית עם שער IV. עיקרי = ETH-PERPETUAL.DERIBIT על נרות 1-DAY (שעון גלגול בלבד, לעולם לא נסחר). גודל פוזיציה מובטח במזומן (risk_frac 0.8), ללא מינוף, פרמטרים מכוונים 2 (היסט put, sma_window).

תוצאות אימות

CLEAN RESTART 2026-09-04 — היסטוריית פסיקות ורשומות הלמידה של ריצה זו הוסרו והיא הופעלה מחדש מאימות. הנטישה הקודמת שלה נבעה מהצינור (pipeline), לא מהשוק: רתמת ה-Layer-2 קשרה בצורה שגויה עוזרי @staticmethod (תוקן), QA הוציא פסיקות ביצועים סופיות על מבחן עשן (smoke test) לא ממוטב (הוסר — QA כעת שופט נכונות בלבד), וזמני קצוב (timeouts) בסביבת החול (sandbox) נבעו מהרעבת חריצי בק-טסט (backtest-slot starvation) (תוקן). ההשערה וקוד האסטרטגיה ללא שינוי. יש לאמת את הקוד לגופו; הביצועים ייקבעו בהמשך על ידי הבק-טסט המלא והאופטימייזר.

תוצאות אימות

לא נדרש דבר.

תוצאות אימות

Layer-1 סימן את self._win.append() כבלתי חסום (unbounded), אך on_bar מקצץ את ה-deque בכל בר (while len > sma_window: popleft()), כך שהגידול חסום ל-sma_window. חיובי שגוי (false positive).

Iteration History

האימות נכשל (Layer 3 — בק-טסט בסביבת חול (sandbox)): מבחן העשן (smoke test) חרג ממגבלת הזמן הריאלי (wall-clock) של 300 שניות. כמעט תמיד המשמעות היא עבודה לכל בר (per-bar) שמתרחבת עם היסטוריית הנתונים — לדוגמה, סריקה מחדש של סדרת המימון/הנתונים המשלימים המלאה, או בנייה מחדש של רשימה וקריאה ל-min()/sorted() בתוך calculate_signal()/on_bar() בכל בר. יש לחשב מראש (precompute) מערכי חותמות זמן ממוינים ONCE ב-__init__ ולהשתמש ב-bisect, או לשמור תוצאות בזיכרון מטמון (cache) לפי חותמת זמן, כך שהעלות לכל בר תהיה O(log n) ולא O(n).

Iteration History

RuntimeError: הרחבת rolling_options נכשלה (ConnectError: ); מסרב לפעול עם לוח זמנים ריק של אופציות (empty option schedule) Traceback (most recent call last): File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", line 101, in map_httpcore_exceptions yield File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", line 394, in handle_async_request resp = await self._pool.handle_async_request(req) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", line 256, in handle_async_request raise exc from None File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", line 236, in handle_async_request response = await connection.handle_async_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection.py", line 101, in handle_async_request raise exc File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection.py", line 78, in handle_async_request stream = await self._connect(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection.py", line 156, in _connect stream = await stream.start_tls(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_backends/anyio.py", line 67, in start_tls with map_exceptions(exc_map): File "/usr/lib/python3.12/contextlib.py", line 158, in __exit__ self.gen.throw(value) File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions raise to_exc(exc) from exc httpcore.ConnectError החריגה (exception) הנ״ל הייתה הגורם הישיר לחריגה הבאה: Traceback (most recent call last): File "/opt/strategy-factory/src/agents/backtest_agent.py", line 49, in expand_rolling_options_into_config extra_i, extra_bt, sched = await expand_rolling_options(collector, spec, start, end) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/data/option_chain.py", line 242, in expand_rolling_options contracts = await discover_deribit_chain( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/data/option_chain.py", line 143, in discover_deribit_chain perp_bars = await collector.fetch_ohlcv(perp, start_ms, end_ms, "1D") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/data/collectors/deribit_collector.py", line 169, in fetch_ohlcv result = await self._get("/public/get_tradingview_chart_data", { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/data/collectors/deribit_collector.py", line 86, in _get response = await self._client.get(f"{DERIBIT_API_URL}{endpoint}", params=params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1768, in get return await self.request( ^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1540, in request return await self.send(request, auth=auth, follow_redirects=follow_redirects) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1629, in send response = await self._send_handling_auth( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1657, in _send_handling_auth response = await self._send_handling_redirects( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1694, in _send_handling_redirects response = await self._send_single_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1730, in _send_single_request response = await transport.handle_async_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", line 393, in handle_async_request with map_httpcore_exceptions(): File "/usr/lib/python3.12/contextlib.py", line 158, in __exit__ self.gen.throw(value) File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", line 118, in map_httpcore_exceptions raise mapped_exc(message) from exc httpx.ConnectError החריגה (exception) הנ״ל הייתה הגורם הישיר לחריגה הבאה: Traceback (most recent call last): File "/opt/strategy-factory/src/agents/backtest_agent.py", line 184, in _run_backtest config = await self._maybe_expand_rolling_options(config, catalog_path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/agents/backtest_agent.py", line 427, in _maybe_expand_rolling_options config = await expand_rolling_options_into_config(config, catalog_path, self._logger) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/agents/backtest_agent.py", line 59, in expand_rolling_options_into_config raise RuntimeError( RuntimeError: rolling_options expansion failed (ConnectError: ); refusing to run with an empty option schedule

סיבת נטישה

backtest_failed: RuntimeError: הרחבת rolling_options נכשלה (ConnectError: ); מסרב להריץ עם לוח אפשרויות ריק עקבה (הקריאה האחרונה מופיעה בסוף): File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", line 101, in map_httpcore_exceptions yield File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", line 394, in handle_async_request resp = await self._pool.handle_async_request(req) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", line 256, in handle_async_request raise exc from None File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", line 236, in handle_async_request response = await connection.handle_async_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection.py", line 101, in handle_async_request raise exc File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection.py", line 78, in handle_async_request stream = await self._connect(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection.py", line 156, in _connect stream = await stream.start_tls(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_backends/anyio.py", line 67, in start_tls with map_exceptions(exc_map): File "/usr/lib/python3.12/contextlib.py", line 158, in __exit__ self.gen.throw(value) File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions raise to_exc(exc) from exc httpcore.ConnectError החריגה שלמעלה הייתה הגורם הישיר לחריגה הבאה: עקבה (הקריאה האחרונה מופיעה בסוף): File "/opt/strategy-factory/src/agents/backtest_agent.py", line 49, in expand_rolling_options_into_config extra_i, extra_bt, sched = await expand_rolling_options(collector, spec, start, end) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/data/option_chain.py", line 242, in expand_rolling_options contracts = await discover_deribit_chain( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/data/option_chain.py", line 143, in discover_deribit_chain perp_bars = await collector.fetch_ohlcv(perp, start_ms, end_ms, "1D") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/data/collectors/deribit_collector.py", line 169, in fetch_ohlcv result = await self._get("/public/get_tradingview_chart_data", { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/data/collectors/deribit_collector.py", line 86, in _get response = await self._client.get(f"{DERIBIT_API_URL}{endpoint}", params=params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1768, in get return await self.request( ^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1540, in request return await self.send(request, auth=auth, follow_redirects=follow_redirects) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1629, in send response = await self._send_handling_auth( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1657, in _send_handling_auth response = await self._send_handling_redirects( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1694, in _send_handling_redirects response = await self._send_single_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1730, in _send_single_request response = await transport.handle_async_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", line 393, in handle_async_request with map_httpcore_exceptions(): File "/usr/lib/python3.12/contextlib.py", line 158, in __exit__ self.gen.throw(value) File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", line 118, in map_httpcore_exceptions raise mapped_exc(message) from exc httpx.ConnectError החריגה שלמעלה הייתה הגורם הישיר לחריגה הבאה: עקבה (הקריאה האחרונה מופיעה בסוף): File "/opt/strategy-factory/src/agents/backtest_agent.py", line 184, in _run_backtest config = await self._maybe_expand_rolling_options(config, catalog_path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/agents/backtest_agent.py", line 427, in _maybe_expand_rolling_options config = await expand_rolling_options_into_config(config, catalog_path, self._logger) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/agents/backtest_agent.py", line 59, in expand_rolling_options_into_config raise RuntimeError( RuntimeError: הרחבת rolling_options נכשלה (ConnectError: ); מסרב להריץ עם לוח אפשרויות ריק
דוח אסטרטגיה

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