DeribitEthWeeklyPutWriteTrendGatedOnly
Hipoteze
Deribit ETH Tedensko z gotovino zavarovano OTM zapisovanje put — samo s trendnimi vrati, fiksni ~25-delta, NO vrata z dolgim pogledom nazaj IV (enojno-nožna žetev VRP; neposredno popravlja zid s pogledom nazaj 4-trgovanj, ki je opustil ETH-tedenskega sorodnika)
Hipoteze
A SINGLE-LEG, v celoti z gotovino zavarovan tedenski program PUT-WRITING na opcijah Deribit ETH — drugi najbolj likvidni kripto opcijski podlagi, ki ponovno uporablja pot izvajanja EXACT (izbira strike prek grških črk, tedensko gotovinsko poravnavo) tovarniškega Sharpe-12.2 promoviranega Deribit-BTC-tedenskega zapisa put. Namerno zasnovan za FIX edini, večkrat diagnosticiran razlog, zakaj je bil ETH-tedenski sorodnik opuščen čez 8 iteracij: njegov IV-rang + IV>RV dvojna vrata so zahtevala ~560-dnevni drseči pogled nazaj, kar ga je skrajšalo na le 4 trgovanj / metrics_reliable=false — strukturno slepo ulico, ki je razvijalec ni mogel nikoli razrešiti. Ta različica DROPS vrata z dolgim pogledom nazaj IV v celoti in ohranja ONLY trendni filter (vrata, ki so se izkazala za nosilna v promoviranem zmagovalcu BTC), vsak upravičen teden pa zapiše fiksni ~25-delta OTM ETH put. Brez odvisnosti od večletnega IV-percentilnega okna se sproži ~40-52 krat/leto čez razpoložljivo zgodovino Deribit ETH tedenskih opcij → statistično zanesljivo število trgovanj, kar odpravlja točno 4-trgovanjski zid. Zapolnjuje najbolj premalo zastopano borzo (opcije: 5.5% Deribit + 0.1% Binance proti cilju ≥15%) in diverzificira opcijsko knjigo iz BTC-only v drugo podlago z nekorelirano volatilnostjo. NOT ni večnožna struktura (L2), NOT ni celica s podatkovnim zidom (tedenska veriga ETH + grške črke so katalogizirane in dokazano izvedljive prek BTC sorodnika), NOT smerno. Namerno 2 parametre (delta put, dolžina trendnega filtra), da se upre prekomernemu prileganju.
Hipoteze
Iteracija 3 popravlja časovno omejitev Layer-3 wall-clock s spremembo samo konfiguracije; strategija CODE je nespremenjena (že je prestala Layerje 1-2, delo na vrstico je O(1) prek inkrementalne tekoče vsote SMA, in ni nobenih pregledov min()/sorted()/history na vrstico). Diagnoza: iteracija 2 je pravilno premaknila razreševanje primarne noge in noge na 1-DAY, a STILL je potekla, kar dokazuje, da ozko grlo ni število vrstic. Branje src/data/option_chain.py: discover_deribit_chain pošlje omrežno fetch_ohlcv poizvedbo za vsakega kandidata strike za EACH tedensko zapadlost, Layer-3 peskovnik pa zajema lookback_days (expand_rolling_options / privzeta vrednost cevovoda 365). Torej se strošek razširitve povečuje s številom tedenskih zapadlosti = lookback_days, ne glede na časovni okvir. Konfiguracija iter-2 je prenesla lookback_days ~730 (~104 zapadlosti, kar podvoji število poizvedb), kar je preseklo proračun 300s. Vračanje lookback_days na 365 (~52 zapadlosti) razpolovi poizvedbe zapadlosti in prenose nog, kar se ujema z natančnim obsegom, pri katerem dokazani ETH/BTC tedenski sorodniki zapisa put prečkajo Layer 3, hkrati pa še vedno pokriva ~52 upravičenih tednov, tako da število trgovanj ostane statistično zanesljivo (~30-52 zapisov po trendnem filtriranju) in daleč nad mrtvo točko 4-trgovanj. Vse ostalo je ohranjeno in dokazano: neposredno podrazredovanje RollingOptionsStrategy (Layer-1 ga prepozna; abstraktne kljuke 4 so fizično prisotne), brez poti preizkusa (dejanske opcijske noge trgujejo prek razširjenega razporeda, kar izpolnjuje options_no_option_trades), enojna vrata samo na ceno v _enter_leg, 1-DAY ETH-PERPETUAL primarna + 1-DAY razreševanje nog (razreševanje, ki ga uporablja sorodnik zapisa put ETH, ki je prestal), z gotovino zavarovano pozicioniranje (risk_frac 0.8, vzvod 1.0 v skladu s kapo opcijske borze), in zasnova s 2 parametroma (odmik put + sma_window).
Hipoteze
backtest_failed: RuntimeError: rolling_options razširitev ni uspela (ConnectError: ); zavrnitev izvajanja s praznim razporedom opcij
Sled izvajanja (zadnji klic je zadnji):
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
Zgornja izjema je bila neposredni vzrok naslednje izjeme:
Sled izvajanja (zadnji klic je zadnji):
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
Zgornja izjema je bila neposredni vzrok naslednje izjeme:
Sled izvajanja (zadnji klic je zadnji):
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 razširitev ni uspela (ConnectError: ); zavrnitev izvajanja s praznim razporedom opcij
Implementacija
Eno-nožno, z gotovino zavarovano tedensko OTM zapisovanje put na ETH evropskih opcijah Deribit, samo s trendnimi vrati. Vsak teden ogrodje razreši zgodovinsko verigo tedenskih put ETH na Deribit (cilja na strike ~25-delta OTM prek -6% odmika moneyness) in jo previje; strategija SELLS en put ~7 dni do zapadlosti in ga zapre ~24h pred poravnavo. Vrata ONLY so trendni filter samo na ceno: put zapiše le, ko je ETH spot nad svojo ~50-dnevno SMA (dnevne vrstice), med potrjenimi padajočimi trendi pa miruje. Brez večletnega IV-percentilnega okna trguje vsak upravičen teden (~52/leto čez 365-dnevno okno) za statistično zanesljivo število trgovanj, kar neposredno odpravlja zid s pogledom nazaj 4-trgovanj, ki je opustil IV-vratni ETH-tedenski sorodnik. Primarni = ETH-PERPETUAL.DERIBIT na 1-DAY vrsticah (samo ura previjanja, nikoli ne trguje). Z gotovino zavarovano pozicioniranje (risk_frac 0.8), brez vzvoda, 2 uglašenih parametrov (odmik put, sma_window).
Rezultati preverjanja
CLEAN RESTART 2026-09-04 — zgodovina razsodb in zapisi o učenju tega teka so bili odstranjeni in bil je ponovno zagnan iz preverjanja. Prejšnja opustitev je prišla iz cevovoda, ne iz trga: ogrodje Layer-2 je napačno vezalo pomočnike @staticmethod (popravljeno), QA je izdajalo končne razsodbe o zmogljivosti na neoptimiziranem preizkusu (odstranjeno — QA zdaj presoja le pravilnost), časovne omejitve peskovnika pa so bile posledica zasičenosti rež za povratne preizkuse (popravljeno). Hipoteza in koda strategije sta nespremenjeni. Preverite kodo po njenih zaslugah; zmogljivost bo pozneje odločena s celotnim povratnim preizkusom in optimizatorjem.
Rezultati preverjanja
Ni potrebno.
Rezultati preverjanja
Layer-1 je označil self._win.append() kot neomejen, toda on_bar ob vsaki vrstici poreže deque (while len > sma_window: popleft()), zato je rast omejena na sma_window. Lažno pozitivno.
Iteration History
Preverjanje ni uspelo (Layer 3 — povratni preizkus v peskovniku): preizkus je presegel 300s časovno omejitev. To skoraj vedno pomeni delo na vrstico, ki se povečuje z zgodovino — npr. ponovno pregledovanje celotne funding/dodatne serije, ali obnavljanje seznama in klicanje min()/sorted() znotraj calculate_signal()/on_bar() na vsaki vrstici. Vnaprej izračunajte razvrščene nize časovnih žigov ONCE v __init__ in uporabite bisect, ali predpomnite iskanja po ključu časovnega žiga, tako da je strošek na vrstico O(log n) in ne O(n).
Iteration History
RuntimeError: rolling_options razširitev ni uspela (ConnectError: ); zavračam zagon s praznim razporedom opcij
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
Navedena izjema je bila neposredni vzrok naslednje izjeme:
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
Navedena izjema je bila neposredni vzrok naslednje izjeme:
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 razširitev ni uspela (ConnectError: ); zavračam zagon s praznim razporedom opcij
Razlog za opustitev
backtest_failed: RuntimeError: rolling_options razširitev ni uspela (ConnectError: ); zavrnitev izvajanja s praznim razporedom opcij
Sled izvajanja (zadnji klic je zadnji):
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
Zgornja izjema je bila neposredni vzrok naslednje izjeme:
Sled izvajanja (zadnji klic je zadnji):
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
Zgornja izjema je bila neposredni vzrok naslednje izjeme:
Sled izvajanja (zadnji klic je zadnji):
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 razširitev ni uspela (ConnectError: ); zavrnitev izvajanja s praznim razporedom opcij
Stratmill je orodje za raziskave in simulirano trgovanje, ne finančno svetovanje ali borzni posrednik. Rezultati backtestov in simuliranega trgovanja so hipotetični. Trgovanje vključuje tveganje izgube.