DeribitEthWeeklyPutWriteTrendGatedOnly
Hypoteser
Deribit ETH Ukentlig Kontantsikret OTM Put-Write — Kun Trend-Portet, Fast ~25-Delta, NO Lang-Tilbakeblikk IV-Port (Enkelt-Bein VRP-Høsting; Fikser Direkte 4-Handler Tilbakeblikk-Veggen Som Forlatte ETH-Ukentlige Søskenet)
Hypoteser
Et SINGLE-LEG, fullt kontantsikret ukentlig PUT-WRITING-program på Deribit ETH-opsjoner — den nest mest likvide underliggende for kryptoopsjoner, som gjenbruker EXACT-utførelsesbanen (strike-valg via greeks, ukentlig kontantoppgjør) til fabrikkens Sharpe-12.2-promoterte Deribit-BTC-ukentlige put-write. Den er bevisst designet for å FIX den ene, gjentatte ganger diagnostiserte grunnen til at ETH-ukentlige søsken ble forlatt på tvers av 8 iterasjoner: dens IV-rang + IV>RV dobbelport krevde et ~560-dagers rullerende tilbakeblikk, som kuttet den til bare 4 handler / metrics_reliable=false — en strukturell blindvei utvikleren aldri kunne løse. Denne versjonen DROPS den lang-tilbakeblikkende IV-porten fullstendig og beholder ONLY trendfilteret (porten bevist lastbærende i den promoterte BTC-vinneren), og skriver en fast ~25-delta OTM ETH-put hver kvalifiserte uke. Uten en flerårig IV-persentilavhengighet utløses den ~40-52 ganger/år over den tilgjengelige Deribit ETH ukentlige historikken → et statistisk pålitelig handelsantall, som eliminerer den eksakte 4-handler-veggen. Den fyller den mest underrepresenterte handelsplassen (opsjoner: 5.5% Deribit + 0.1% Binance vs et ≥15%-mål) og diversifiserer opsjonsboken fra BTC-kun til en andre ukorrelert-vol underliggende. Den er NOT en multi-bein-struktur (L2), NOT en data-vegg-celle (ukentlig ETH-kjede + greeks er katalogisert og bevist kjørbare via BTC-søskenet), NOT retningsbestemt. Bevisst 2 parametere (put-delta, trendfilter-lengde) for å motstå overtilpasning.
Hypoteser
Iterasjon 3 fikser Layer-3-veggklokke-tidsavbruddet med en kun-konfig-endring; strategien CODE er uendret (den har allerede bestått Lag 1-2, per-bar-arbeid er O(1) via en inkrementell løpende-sum SMA, og det finnes ingen per-bar min()/sorted()/historie-skanninger). Diagnose: iterasjon 2 flyttet riktig primær+bein-oppløsning til 1-DAY, men STILL fikk tidsavbrudd, noe som beviser at flaskehalsen ikke er bar-antall. Ved lesing av src/data/option_chain.py: discover_deribit_chain utfører en nettverks-fetch_ohlcv-probe for hver kandidat-strike av EACH ukentlig utløp, og Layer-3-sandboxen spenner over lookback_days (expand_rolling_options / rørledningsstandard 365). Ekspansjonskostnad skalerer dermed med antall ukentlige utløp = lookback_days, uavhengig av tidsramme. iter-2s konfig hadde lookback_days ~730 (~104 utløp, dobling av probe-antallet), som sprengte 300s-budsjettet. Tilbakestilling lookback_days til 365 (~52 utløp) halverer utløp-prober og bein-nedlastinger, og matcher den nøyaktige skalaen der de beviste ETH/BTC ukentlige put-write-søsknene klarer Lag 3, samtidig som den fortsatt dekker ~52 kvalifiserte uker slik at handelsantallet forblir statistisk pålitelig (~30-52 skrivinger etter trend-porting) og langt over 4-handel-blindveien. Alt annet er bevart og bevist: underklasse av RollingOptionsStrategy direkte (Layer-1 gjenkjenner det; de 4 abstrakte krokene er fysisk til stede), ingen røyk-bane (ekte opsjonsbein handles via den utvidede planen, som tilfredsstiller options_no_option_trades), den enkle kun-pris-trend-porten i _enter_leg, 1-DAY ETH-PERPETUAL primær + 1-DAY bein-oppløsning (oppløsningen det bestående ETH put-write-søskenet bruker), kontantsikret størrelse (risk_frac 0.8, gearing 1.0 i henhold til opsjonsstedets tak), og 2-parameter-designet (put-offset + sma_window).
Hypoteser
backtest_failed: RuntimeError: rolling_options utvidelse mislyktes (ConnectError: ); nekter å kjøre med en tom opsjonsplan
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
Unntaket ovenfor var den direkte årsaken til følgende unntak:
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
Unntaket ovenfor var den direkte årsaken til følgende unntak:
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 utvidelse mislyktes (ConnectError: ); nekter å kjøre med en tom opsjonsplan
Implementasjon
Enkelt-bein, kontantsikret ukentlig OTM-put-writing på ETH Deribit europeiske opsjoner, kun trend-portet. Hver uke løser rammeverket den historiske Deribit ETH ukentlige put-kjeden (med mål om en ~25-delta OTM-strike via et -6%-moneyness-offset) og ruller den; strategien SELLS én put ~7 dager til utløp og stenger den ~24t før oppgjør. ONLY-porten er et kun-pris trendfilter: den skriver puten kun når ETH-spot er over sitt ~50-dagers SMA (daglige barer), og sitter ute bekreftede nedtrender. Uten et flerårig IV-persentilvindu handler den hver kvalifiserte uke (~52/år over 365-dagersvinduet) for et statistisk pålitelig handelsantall, og eliminerer direkte 4-handler-tilbakeblikk-veggen som forlatte det IV-portede ETH-ukentlige søskenet. Primær = ETH-PERPETUAL.DERIBIT på 1-DAY-barer (kun rulleklokke, aldri handlet). Kontantsikret størrelse (risk_frac 0.8), ingen gearing, 2 innstilte parametere (put-offset, sma_window).
Verifiseringsresultater
CLEAN RESTART 2026-09-04 — denne kjøringens historikk over vurderinger og læringsregistreringer ble fjernet, og den ble startet på nytt fra verifisering. Den tidligere avbruddet kom fra rørledningen, ikke fra markedet: Layer-2-rammeverket feilbandt @staticmethod-hjelpefunksjoner (fikset), QA avsa terminale ytelsesdommer over en uoptimalisert røyktest (fjernet — QA dømmer nå kun korrekthet), og sandbox-tidsavbruddene stammet fra backtest-slot-sult (fikset). Hypotesen og strategikoden er uendret. Verifiser koden på egne meritter; ytelsen avgjøres senere av full backtest og optimaliseringen.
Verifiseringsresultater
Ingenting nødvendig.
Verifiseringsresultater
Lag-1 flagget self._win.append() som ubegrenset, men on_bar trimmer deque-en hver bar (mens len > sma_window: popleft()), så veksten er begrenset til sma_window. Falsk positiv.
Iteration History
Verifisering mislyktes (Lag 3 — sandbox-backtest): røyktesten overskred 300s-veggklokke-grensen. Dette betyr nesten alltid per-bar-arbeid som skalerer med historikk — f.eks. å skanne hele funding-/tilleggsserien på nytt, eller å gjenoppbygge en liste og kalle min()/sorted() inne i calculate_signal()/on_bar() på hver bar. Forhåndsberegn sorterte tidsstempelmatriser ONCE i __init__ og bruk bisect, eller bufre oppslag nøkklet etter tidsstempel, slik at per-bar-kostnaden er O(log n) ikke O(n).
Iteration History
RuntimeError: rolling_options-ekspansjon mislyktes (ConnectError: ); nekter å kjøre med en tom opsjonsplan
Sporing (siste kall sist):
Fil "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", linje 101, i map_httpcore_exceptions
yield
Fil "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", linje 394, i handle_async_request
resp = await self._pool.handle_async_request(req)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fil "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", linje 256, i handle_async_request
raise exc from None
Fil "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", linje 236, i handle_async_request
response = await connection.handle_async_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fil "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection.py", linje 101, i handle_async_request
raise exc
Fil "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection.py", linje 78, i handle_async_request
stream = await self._connect(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fil "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection.py", linje 156, i _connect
stream = await stream.start_tls(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fil "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_backends/anyio.py", linje 67, i start_tls
with map_exceptions(exc_map):
Fil "/usr/lib/python3.12/contextlib.py", linje 158, i __exit__
self.gen.throw(value)
Fil "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_exceptions.py", linje 14, i map_exceptions
raise to_exc(exc) from exc
httpcore.ConnectError
Det ovenstående unntaket var den direkte årsaken til følgende unntak:
Sporing (siste kall sist):
Fil "/opt/strategy-factory/src/agents/backtest_agent.py", linje 49, i expand_rolling_options_into_config
extra_i, extra_bt, sched = await expand_rolling_options(collector, spec, start, end)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fil "/opt/strategy-factory/src/data/option_chain.py", linje 242, i expand_rolling_options
contracts = await discover_deribit_chain(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fil "/opt/strategy-factory/src/data/option_chain.py", linje 143, i discover_deribit_chain
perp_bars = await collector.fetch_ohlcv(perp, start_ms, end_ms, "1D")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fil "/opt/strategy-factory/src/data/collectors/deribit_collector.py", linje 169, i fetch_ohlcv
result = await self._get("/public/get_tradingview_chart_data", {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fil "/opt/strategy-factory/src/data/collectors/deribit_collector.py", linje 86, i _get
response = await self._client.get(f"{DERIBIT_API_URL}{endpoint}", params=params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fil "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", linje 1768, i get
return await self.request(
^^^^^^^^^^^^^^^^^^^
Fil "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", linje 1540, i request
return await self.send(request, auth=auth, follow_redirects=follow_redirects)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fil "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", linje 1629, i send
response = await self._send_handling_auth(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fil "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", linje 1657, i _send_handling_auth
response = await self._send_handling_redirects(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fil "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", linje 1694, i _send_handling_redirects
response = await self._send_single_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fil "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", linje 1730, i _send_single_request
response = await transport.handle_async_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fil "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", linje 393, i handle_async_request
with map_httpcore_exceptions():
Fil "/usr/lib/python3.12/contextlib.py", linje 158, i __exit__
self.gen.throw(value)
Fil "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", linje 118, i map_httpcore_exceptions
raise mapped_exc(message) from exc
httpx.ConnectError
Det ovenstående unntaket var den direkte årsaken til følgende unntak:
Sporing (siste kall sist):
Fil "/opt/strategy-factory/src/agents/backtest_agent.py", linje 184, i _run_backtest
config = await self._maybe_expand_rolling_options(config, catalog_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fil "/opt/strategy-factory/src/agents/backtest_agent.py", linje 427, i _maybe_expand_rolling_options
config = await expand_rolling_options_into_config(config, catalog_path, self._logger)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fil "/opt/strategy-factory/src/agents/backtest_agent.py", linje 59, i expand_rolling_options_into_config
raise RuntimeError(
RuntimeError: rolling_options-ekspansjon mislyktes (ConnectError: ); nekter å kjøre med en tom opsjonsplan
Årsak til forkastelse
backtest_failed: RuntimeError: rolling_options utvidelse mislyktes (ConnectError: ); nekter å kjøre med en tom opsjonsplan
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
Unntaket ovenfor var den direkte årsaken til følgende unntak:
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
Unntaket ovenfor var den direkte årsaken til følgende unntak:
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 utvidelse mislyktes (ConnectError: ); nekter å kjøre med en tom opsjonsplan
Stratmill er et forsknings- og papirhandelsverktøy, ikke finansiell rådgivning eller en megler. Backtest- og papirresultater er hypotetiske. Handel innebærer risiko for tap.