DeribitEthWeeklyPutWriteTrendGatedOnly
Hüpoteesid
Deribit ETH Iganädalane Sularahaga Tagatud OTM Put-Write — Ainult Trendilüüsiga, Fikseeritud ~25-Delta, NO Pika Vaateaknaga IV Lüüs (Üheastmeline VRP Kogumine; Lahendab Otseselt 4-Tehingu Vaateakna Seina, Mis Hülgas ETH-Iganädalase Õde-Strateegia)
Hüpoteesid
SINGLE-LEG, täielikult sularahaga tagatud iganädalane PUT-WRITING programm Deribit ETH optsioonidel — teine-likviidseim krüptooptsioonide alusvara, mis kasutab taaskord EXACT täitmisteed (strike'i valik kreekaliste tähtede kaudu, iganädalane sularahaarveldus) tehase Sharpe-12.2 kaudu edutatud Deribit-BTC-iganädalasest put-write'ist. See on tahtlikult loodud FIX selle ainsa, korduvalt diagnoositud põhjuse, mille tõttu ETH-iganädalane õde-strateegia hüljati 8 iteratsiooni jooksul: selle IV-järgu + IV>RV topeltlüüs nõudis ~560-päevast libisevat vaateakent, mis vähendas selle vaid 4 tehinguni / metrics_reliable=false — struktuurne ummiktee, mida arendaja ei suutnud kunagi lahendada. See versioon DROPS pika vaateaknaga IV lüüsi täielikult ja säilitab ONLY trendifiltri (lüüs, mis on tõestatult kandev edutatud BTC võitjas), kirjutades fikseeritud ~25-delta OTM ETH put-optsiooni igal sobival nädalal. Kuna puudub mitmeaastane IV-protsentiili sõltuvus, käivitub see ~40-52 korda aastas olemasoleva Deribit ETH iganädalase ajaloo jooksul → statistiliselt usaldusväärne tehingute arv, mis kõrvaldab täpselt 4-tehingu seina. See täidab kõige alaesindatuma platvormi (optsioonid: 5.5% Deribit + 0.1% Binance vs ≥15% eesmärk) ja mitmekesistab optsiooniportfelli BTC-ainult olekust teise korrelatsioonita volatiilsusega alusvarani. See on NOT mitmejalgne (multi-leg) struktuur (L2), NOT andmetega piiratud üksus (iganädalane ETH ahel + kreeka tähed on kataloogitud ja tõestatult täidetavad BTC õde-strateegia kaudu), NOT suunaline. Tahtlikult 2 parameetrid (put-delta, trendifiltri pikkus), et vastu seista ülesobitamisele (overfit).
Hüpoteesid
Iteratsioon 3 parandab Layer-3 realaja ajalõpu ainult konfiguratsioonimuudatusega; strateegia CODE on muutumatu (see läbis juba tasandid 1-2, küünlapõhine töö on O(1) inkrementaalse jooksva summa SMA kaudu ning küünlapõhiseid min()/sorted()/ajaloo läbiskaneerimisi ei ole). Diagnoos: iteratsioon 2 viis primaarse+jala lahendamise õigesti üle 1-DAY-le, kuid STILL aegus ikkagi, mis tõestab, et kitsaskoht ei ole küünalde arv. Faili src/data/option_chain.py lugedes: discover_deribit_chain teeb võrgu fetch_ohlcv-sondeerimise iga kandidaat-strike'i kohta EACH iganädalasest aegumistähtajast, ning Layer-3 sandbox hõlmab lookback_days (expand_rolling_options / torustiku vaikeväärtus 365). Seega laiendamise maksumus skaleerub iganädalaste aegumistähtaegade arvuga = lookback_days, olenemata ajaraamist. iter-2 konfiguratsioon kandis lookback_days ~730 (~104 aegumistähtaega, kahekordistades sondeerimiste arvu), mis ületas 300-sekundilise eelarve. lookback_days tagasipööramine 365-le (~52 aegumistähtaega) poolitab aegumistähtaegade sondeerimised ja jalgade allalaadimised, vastates täpselt sellele skaalale, mille juures tõestatud ETH/BTC iganädalased put-write õed-strateegiad läbivad Layer 3, kattes samal ajal endiselt ~52 sobivat nädalat, nii et tehingute arv jääb statistiliselt usaldusväärseks (~30-52 kirjutamist pärast trendilüüsi) ja jääb kaugele üle 4-tehingu ummiktee. Kõik muu on säilinud ja tõestatud: RollingOptionsStrategy otsene alamklassistamine (Layer-1 tunneb selle ära; 4 abstraktsed konksud on füüsiliselt olemas), suitsuteed pole (reaalsed optsioonijalad kauplevad laiendatud graafiku kaudu, täites options_no_option_trades), üksik hinnapõhine trendilüüs _enter_leg-is, 1-DAY ETH-PERPETUAL primaarne + 1-DAY jala lahendamine (lahendus, mida kasutab läbiv ETH put-write õde-strateegia), sularahaga tagatud suurus (risk_frac 0.8, finantsvõimendus 1.0 vastavalt optsiooniplatvormi piirmäärale), ning 2-parameetriline disain (put-nihe + sma_window).
Hüpoteesid
backtest_failed: RuntimeError: rolling_options laiendamine ebaõnnestus (ConnectError: ); keeldun käivitamast tühja optsioonide graafikuga
Jälituslogi (viimane väljakutse viimasena):
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
Eespool toodud erind oli järgneva erindi otsene põhjus:
Jälituslogi (viimane väljakutse viimasena):
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
Eespool toodud erind oli järgneva erindi otsene põhjus:
Jälituslogi (viimane väljakutse viimasena):
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 laiendamine ebaõnnestus (ConnectError: ); keeldun käivitamast tühja optsioonide graafikuga
Teostus
Üheastmeline, sularahaga tagatud iganädalane OTM put-kirjutamine ETH Deribit Euroopa optsioonidel, ainult trendilüüsiga. Igal nädalal lahendab raamistik ajaloolise Deribit ETH iganädalase put-ahela (sihtides ~25-delta OTM strike'i -6% moneyness-nihke kaudu) ja rullib selle edasi; strateegia SELLS ühe put-optsiooni ~7 päeva enne aegumist ja sulgeb selle ~24h enne arveldust. ONLY lüüs on ainult hinnapõhine trendifilter: see kirjutab put-optsiooni ainult siis, kui ETH hetkehind (spot) on üle oma ~50-päevase SMA (päevaküünlad), jäädes kõrvale kinnitatud langustrendidest. Kuna puudub mitmeaastane IV-protsentiili aken, kaubeldakse igal sobival nädalal (~52/aastas 365-päevase akna jooksul), mis annab statistiliselt usaldusväärse tehingute arvu, kõrvaldades otseselt 4-tehingu vaateakna seina, mis hülgas IV-lüüsiga ETH-iganädalase õde-strateegia. Primaarne = ETH-PERPETUAL.DERIBIT 1-DAY küünaldel (ainult rullimiskell, ei kaubelda kunagi). Sularahaga tagatud suurus (risk_frac 0.8), finantsvõimenduseta, 2 häälestatud parameetrit (put-nihe, sma_window).
Verifitseerimise tulemused
CLEAN RESTART 2026-09-04 — selle käivituse verdiktide ajalugu ja õppimiskirjed eemaldati ning see taaskäivitati verifitseerimisest. Selle varasem hülgamine tulenes torustikust (pipeline), mitte turust: Layer-2 raamistik sidus @staticmethod abifunktsioone valesti (parandatud), QA väljastas lõplikke tulemuslikkuse verdikte optimeerimata suitsutestil (smoke test) (eemaldatud — QA hindab nüüd ainult korrektsust), ning sandbox'i ajalõpud tulenesid backtest-pesade nälgimisest (parandatud). Hüpotees ja strateegia kood on muutumatud. Kontrolli koodi selle sisu põhjal; tulemuslikkuse üle otsustatakse hiljem täieliku backtesti ja optimeerija poolt.
Verifitseerimise tulemused
Pole vajalik.
Verifitseerimise tulemused
Layer-1 märkis self._win.append() piiramatuks, kuid on_bar kärbib deque'i igal küünlal (while len > sma_window: popleft()), seega kasv on piiratud väärtusega sma_window. Valepositiivne.
Iteration History
Verifitseerimine ebaõnnestus (Layer 3 — sandbox backtest): suitsutest (smoke test) ületas 300-sekundilise realaja piirangu. See tähendab peaaegu alati, et küünlapõhine (per-bar) töö skaleerub ajalooga — nt kogu rahastamis-/lisaseeria uuesti läbiskaneerimine või nimekirja uuesti ehitamine ja min()/sorted() väljakutsumine calculate_signal()/on_bar() sees igal küünlal. Arvuta ette sorteeritud ajatempli massiivid ONCE __init__-is ja kasuta bisect'i, või puhverda otsingud ajatempli järgi, nii et küünlapõhine kulu on O(log n), mitte O(n).
Iteration History
RuntimeError: rolling_options laiendamine nurjus (ConnectError: ); keeldun käivitamast tühja optsioonide ajakavaga
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
Ülaltoodud erind oli järgneva erindi otsene põhjus:
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
Ülaltoodud erind oli järgneva erindi otsene põhjus:
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 laiendamine nurjus (ConnectError: ); keeldun käivitamast tühja optsioonide ajakavaga
Loobumise põhjus
backtest_failed: RuntimeError: rolling_options laiendamine ebaõnnestus (ConnectError: ); keeldun käivitamast tühja optsioonide graafikuga
Jälituslogi (viimane väljakutse viimasena):
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
Eespool toodud erind oli järgneva erindi otsene põhjus:
Jälituslogi (viimane väljakutse viimasena):
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
Eespool toodud erind oli järgneva erindi otsene põhjus:
Jälituslogi (viimane väljakutse viimasena):
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 laiendamine ebaõnnestus (ConnectError: ); keeldun käivitamast tühja optsioonide graafikuga
Stratmill on uurimis- ja paberikauplemise tööriist, mitte finantsnõustamine ega maakler. Tagatesti ja paberikauplemise tulemused on hüpoteetilised. Kauplemisega kaasneb kahjumi oht.