DeribitEthWeeklyPutWriteTrendGatedOnly
مفروضے
Deribit ETH ہفتہ وار Cash-Secured OTM Put-Write — صرف Trend-Gated، Fixed ~25-Delta، NO طویل-Lookback IV گیٹ (Single-Leg VRP ہارویسٹ؛ اس 4-Trades Lookback وال کو براہ راست ٹھیک کرتا ہے جس نے ETH-Weekly Sibling کو ترک کروایا تھا)
مفروضے
ایک SINGLE-LEG، مکمل طور پر cash-collateralized ہفتہ وار PUT-WRITING پروگرام Deribit ETH آپشنز پر — دوسرا سب سے زیادہ liquid کرپٹو آپشنز انڈرلائنگ، جو factory کے Sharpe-12.2 promoted Deribit-BTC-weekly put-write کے EXACT execution path (greeks کے ذریعے strike selection، ہفتہ وار cash settlement) کو دوبارہ استعمال کرتا ہے۔ یہ جان بوجھ کر اس ایک، بار بار تشخیص کی گئی وجہ کو FIX کرنے کے لیے ڈیزائن کیا گیا ہے جس کی بنا پر ETH-weekly sibling کو 8 iterations میں ترک کر دیا گیا تھا: اس کے IV-rank + IV>RV double-gate کو ~560-دن کے rolling lookback کی ضرورت تھی، جس نے اسے صرف 4 trades / metrics_reliable=false تک محدود کر دیا — ایک ساختی ڈیڈ اینڈ جسے ڈویلپر کبھی حل نہ کر سکا۔ یہ ورژن طویل-lookback IV گیٹ کو مکمل طور پر DROPS کر دیتا ہے اور trend filter کو ONLY رکھتا ہے (وہ گیٹ جو promoted BTC فاتح میں load-bearing ثابت ہوا ہے)، ہر اہل ہفتے ایک fixed ~25-delta OTM ETH put لکھتا ہے۔ کسی بھی multi-year IV-percentile انحصار کے بغیر، یہ دستیاب Deribit ETH weekly تاریخ پر ~40-52 بار/سال چلتا ہے → ایک شماریاتی طور پر قابلِ اعتماد trade count، جو عین اس 4-trades وال کو ختم کرتا ہے۔ یہ سب سے کم نمائندگی والے venue کو پُر کرتا ہے (آپشنز: 5.5% Deribit + 0.1% Binance بمقابلہ ≥15% ہدف) اور options book کو BTC-only سے دوسرے uncorrelated-vol انڈرلائنگ تک متنوع بناتا ہے۔ یہ NOT ایک multi-leg ساخت ہے (L2)، NOT ایک data-walled سیل (ہفتہ وار ETH چین + greeks کو کیٹلاگ کیا گیا ہے اور BTC sibling کے ذریعے قابلِ عمل ثابت کیا گیا ہے)، NOT directional۔ جان بوجھ کر 2 پیرامیٹرز (put delta، trend-filter length) رکھے گئے ہیں تاکہ overfit کا مقابلہ کیا جا سکے۔
مفروضے
Iteration 3 ایک config-only تبدیلی کے ساتھ Layer-3 wall-clock timeout کو ٹھیک کرتا ہے؛ حکمت عملی CODE غیر تبدیل شدہ ہے (یہ پہلے ہی Layers 1-2 پاس کر چکی ہے، فی-بار کام O(1) ہے ایک incremental running-sum SMA کے ذریعے، اور کوئی فی-بار min()/sorted()/history scans نہیں ہیں)۔ تشخیص: iteration 2 نے درست طریقے سے primary+leg resolution کو 1-DAY میں منتقل کیا لیکن STILL timeout ہو گیا، جو ثابت کرتا ہے کہ رکاوٹ (bottleneck) bar count نہیں ہے۔ src/data/option_chain.py پڑھتے ہوئے: discover_deribit_chain EACH ہفتہ وار expiry کے ہر candidate strike کے لیے ایک نیٹ ورک fetch_ohlcv probe جاری کرتا ہے، اور Layer-3 sandbox lookback_days پر محیط ہے (expand_rolling_options / pipeline default 365)۔ چنانچہ توسیع کی لاگت ہفتہ وار expiries کی تعداد = lookback_days کے ساتھ scale کرتی ہے، timeframe سے قطع نظر۔ iter-2 کے config میں lookback_days ~730 تھا (~104 expiries، probe count کو دوگنا کرتے ہوئے)، جس نے 300s بجٹ کو اڑا دیا۔ lookback_days کو 365 پر واپس لانا (~52 expiries) expiry probes اور leg downloads کو آدھا کر دیتا ہے، بالکل اسی پیمانے سے میل کھاتے ہوئے جس پر ثابت شدہ ETH/BTC weekly put-write siblings Layer 3 کلیئر کرتے ہیں، جبکہ اب بھی ~52 اہل ہفتوں کا احاطہ کرتا ہے تاکہ trade count شماریاتی طور پر قابلِ اعتماد رہے (~30-52 writes trend gating کے بعد) اور 4-trade ڈیڈ اینڈ سے کہیں زیادہ۔ باقی سب کچھ محفوظ اور ثابت شدہ ہے: RollingOptionsStrategy کو براہ راست subclass کرنا (Layer-1 اسے پہچانتا ہے؛ 4 abstract hooks جسمانی طور پر موجود ہیں)، کوئی smoke path نہیں (اصل آپشن legs توسیع شدہ شیڈول کے ذریعے ٹریڈ کرتے ہیں، options_no_option_trades کو پورا کرتے ہوئے)، _enter_leg میں واحد price-only trend گیٹ، 1-DAY ETH-PERPETUAL primary + 1-DAY leg resolution (وہ resolution جو پاس ہونے والا ETH put-write sibling استعمال کرتا ہے)، cash-secured sizing (risk_frac 0.8، leverage 1.0 آپشنز venue cap کے مطابق)، اور 2-parameter ڈیزائن (put offset + sma_window)۔
مفروضے
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: )؛ خالی آپشن شیڈول کے ساتھ چلانے سے انکار
نفاذ
Single-leg، cash-secured ہفتہ وار OTM put-writing ETH Deribit European آپشنز پر، صرف trend-gated۔ ہر ہفتے فریم ورک تاریخی Deribit ETH weekly put چین کو resolve کرتا ہے (~25-delta OTM strike کو -6% moneyness offset کے ذریعے ہدف بناتے ہوئے) اور اسے roll کرتا ہے؛ حکمت عملی ایک put کو ~7 دن expiry تک SELLS کرتی ہے اور settlement سے ~24h پہلے اسے بند کر دیتی ہے۔ ONLY گیٹ ایک قیمت-پر-مبنی (price-only) trend filter ہے: یہ put صرف اس وقت لکھتا ہے جب ETH spot اپنے ~50-دن کے SMA (daily bars) سے اوپر ہو، اور تصدیق شدہ downtrends میں باہر رہتا ہے۔ کسی بھی multi-year IV-percentile ونڈو کے بغیر یہ ہر اہل ہفتے ٹریڈ کرتا ہے (~52/سال 365-دن کی ونڈو پر) ایک شماریاتی طور پر قابلِ اعتماد trade count کے لیے، جو براہ راست اس 4-trades lookback وال کو ختم کرتا ہے جس نے IV-gated ETH-weekly sibling کو ترک کروایا تھا۔ Primary = ETH-PERPETUAL.DERIBIT 1-DAY bars پر (صرف roll clock، کبھی ٹریڈ نہیں کیا گیا)۔ Cash-secured sizing (risk_frac 0.8)، کوئی leverage نہیں، 2 tuned پیرامیٹرز (put offset، sma_window)۔
تصدیق کے نتائج
CLEAN RESTART 2026-09-04 — اس رن کی فیصلہ (verdict) کی تاریخ اور سیکھنے کے ریکارڈز کو ہٹا دیا گیا تھا اور اسے تصدیق (verification) سے دوبارہ شروع کیا گیا۔ اس کا سابقہ ترک کیا جانا پائپ لائن کی وجہ سے تھا، مارکیٹ کی وجہ سے نہیں: Layer-2 ہارنس نے @staticmethod ہیلپرز کو غلط طریقے سے bind کیا تھا (درست کر دیا گیا)، QA نے ایک غیر بہتر بنائے گئے (unoptimized) smoke test پر حتمی کارکردگی کے فیصلے جاری کیے تھے (ہٹا دیا گیا — QA اب صرف درستگی (correctness) کا فیصلہ کرتا ہے)، اور sandbox timeouts بیک ٹیسٹ سلاٹ کی قلت (starvation) کی وجہ سے تھے (درست کر دیا گیا)۔ مفروضہ (hypothesis) اور حکمت عملی کا کوڈ غیر تبدیل شدہ ہیں۔ کوڈ کی خوبیوں کی بنیاد پر تصدیق کریں؛ کارکردگی کا فیصلہ بعد میں مکمل بیک ٹیسٹ اور آپٹیمائزر کے ذریعے کیا جائے گا۔
تصدیق کے نتائج
کسی کی ضرورت نہیں۔
تصدیق کے نتائج
Layer-1 نے self._win.append() کو unbounded کے طور پر فلیگ کیا، لیکن on_bar ہر بار deque کو trim کرتا ہے (while len > sma_window: popleft())، لہٰذا growth sma_window تک محدود ہے۔ False positive۔
Iteration History
تصدیق ناکام ہو گئی (Layer 3 — sandbox backtest): smoke test نے 300s wall-clock حد سے تجاوز کر لیا۔ اس کا تقریباً ہمیشہ مطلب ہوتا ہے فی-بار (per-bar) کام جو تاریخ کے ساتھ scale کرتا ہے — مثلاً مکمل funding/supplementary سیریز کو دوبارہ اسکین کرنا، یا ہر بار پر calculate_signal()/on_bar() کے اندر ایک لسٹ دوبارہ بنانا اور min()/sorted() کال کرنا۔ __init__ میں sorted timestamp arrays ONCE کو پہلے سے compute کریں اور bisect استعمال کریں، یا timestamp کی بنیاد پر cache lookups رکھیں، تاکہ فی-بار لاگت O(log n) ہو نہ کہ O(n)۔
Iteration History
RuntimeError: rolling_options کی توسیع (expansion) ناکام ہو گئی (ConnectError: )؛ خالی آپشن شیڈول کے ساتھ چلانے سے انکار
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 درج ذیل 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 درج ذیل 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) ناکام ہو گئی (ConnectError: )؛ خالی آپشن شیڈول کے ساتھ چلانے سے انکار
ترک کرنے کی وجہ
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 ایک تحقیقی اور پیپر ٹریڈنگ ٹول ہے، مالیاتی مشورہ یا بروکر نہیں۔ بیک ٹیسٹ اور پیپر نتائج فرضی ہیں۔ ٹریڈنگ میں نقصان کا خطرہ شامل ہے۔