Stratégiák
Deribit ETH heti készpénzfedezetű OTM Put-Write — csak trendkapuval, fix ~25-deltával, NO hosszú visszatekintésű IV kapuval (egylábú VRP hozam; közvetlenül javítja a 4-kötéses visszatekintési falat, amely miatt a ETH-heti testvért elvetették)
Eredmény: Elvetve
DeribitEthWeeklyPutWriteTrendGatedOnly
Deribit ETH heti készpénzfedezetű OTM Put-Write — csak trendkapuval, fix ~25-deltával, NO hosszú visszatekintésű IV kapuval (egylábú VRP hozam; közvetlenül javítja a 4-kötéses visszatekintési falat, amely miatt a…
Hipotézis
Egy SINGLE-LEG, teljesen készpénzfedezetű heti PUT-WRITING program Deribit ETH opciókra — a második leglikvidebb kripto opciós mögöttes termék, amely újrahasználja a factory Sharpe-12.2 által előléptetett Deribit-BTC-heti put-write stratégiájának EXACT végrehajtási útvonalát (strike-választás görögökön keresztül, heti készpénzes elszámolás). Kifejezetten úgy tervezték, hogy FIX azt az egyetlen, ismételten diagnosztizált okot, ami miatt a ETH-heti testvérstratégiát 8 iteráción át elvetették: a IV-rank + IV>RV……Több megjelenítéseKevesebb megjelenítése
Egy SINGLE-LEG, teljesen készpénzfedezetű heti PUT-WRITING program Deribit ETH opciókra — a második leglikvidebb kripto opciós mögöttes termék, amely újrahasználja a factory Sharpe-12.2 által előléptetett Deribit-BTC-heti put-write stratégiájának EXACT végrehajtási útvonalát (strike-választás görögökön keresztül, heti készpénzes elszámolás). Kifejezetten úgy tervezték, hogy FIX azt az egyetlen, ismételten diagnosztizált okot, ami miatt a ETH-heti testvérstratégiát 8 iteráción át elvetették: a IV-rank + IV>RV kettős kapu ~560-napos gördülő visszatekintést igényelt, ami mindössze 4 kötésre / metrics_reliable=false értékre szűkítette — egy strukturális zsákutca, amelyet a fejlesztő soha nem tudott feloldani. Ez a verzió DROPS a hosszú visszatekintésű IV kaput teljesen, és ONLY csak a trendfiltert tartja meg (a kaput, amely bizonyítottan teherviselő volt az előléptetett BTC nyertesben), minden jogosult héten egy fix ~25-deltás OTM ETH putot kiírva. Többéves IV-percentilis függőség nélkül ~40-52 alkalommal/év aktiválódik az elérhető Deribit ETH heti történeten → statisztikailag megbízható kötésszám, kiküszöbölve a pontos 4-kötéses falat. Kitölti a leginkább alulreprezentált helyszínt (opciók: 5.5% Deribit + 0.1% Binance vs. ≥15% cél), és diverzifikálja az opciós könyvet a BTC-only állapotból egy második, nem korreláló vol-mögöttes termékre. NOT többlábú struktúra (L2), NOT adatfallal körülvett cella (a heti ETH lánc + görögök katalogizáltak és bizonyítottan végrehajthatók a BTC testvéren keresztül), NOT irányított. Szándékosan 2 paraméterek (put delta, trendfilter hossza) a túltanulás ellen.
Az 3. iteráció a Layer-3 wall-clock időtúllépést csak konfig-változással javítja; a stratégia CODE változatlan (már átment a Layers 1-2 rétegeken, a baronkénti munka O(1) egy inkrementális futóösszegű SMA révén, és nincsenek baronkénti min()/sorted()/history szkennelések). Diagnózis: a 2. iteráció helyesen mozgatta a primary+leg feloldást 1-DAY-re, de a STILL időtúllépett, ami bizonyítja, hogy a szűk keresztmetszet nem a barok száma. Az src/data/option_chain.py olvasása: a discover_deribit_chain hálózati……Több megjelenítéseKevesebb megjelenítése
Az 3. iteráció a Layer-3 wall-clock időtúllépést csak konfig-változással javítja; a stratégia CODE változatlan (már átment a Layers 1-2 rétegeken, a baronkénti munka O(1) egy inkrementális futóösszegű SMA révén, és nincsenek baronkénti min()/sorted()/history szkennelések). Diagnózis: a 2. iteráció helyesen mozgatta a primary+leg feloldást 1-DAY-re, de a STILL időtúllépett, ami bizonyítja, hogy a szűk keresztmetszet nem a barok száma. Az src/data/option_chain.py olvasása: a discover_deribit_chain hálózati fetch_ohlcv próbát ad ki minden jelölt strike-ra EACH heti lejáratonként, és a Layer-3 sandbox lookback_days-t ölel fel (expand_rolling_options / pipeline alapértelmezett 365). Így a bővítési költség a heti lejáratok számával skálázódik = lookback_days, az időkerettől függetlenül. Az iter-2 konfigja lookback_days ~730-t tartalmazott (~104 lejárat, megduplázva a próbaszámot), ami szétfeszítette a 300s költségkeretet. A lookback_days visszaállítása 365-re (~52 lejárat) felezi a lejárati próbákat és a leg-letöltéseket, megfelelve pontosan annak a skálának, amelyen a bizonyított ETH/BTC heti put-write testvérek teljesítik a Layer 3-t, miközben továbbra is lefed ~52 jogosult hetet, így a kötésszám statisztikailag megbízható marad (~30-52 kiírás trendkapuzás után), és messze a 4-kötéses zsákutca felett. Minden más megőrzött és bizonyított: közvetlen RollingOptionsStrategy alosztályozás (a Layer-1 felismeri; a 4 absztrakt hookok fizikailag jelen vannak), nincs smoke útvonal (valódi opciós lábak kereskednek a bővített ütemezésen keresztül, teljesítve a options_no_option_trades-t), az egyetlen csak ár alapú trendkapu az _enter_leg-ben, 1-DAY ETH-PERPETUAL primary + 1-DAY leg feloldás (az a feloldás, amelyet az átmenő ETH put-write testvér használ), készpénzfedezetű méretezés (risk_frac 0.8, tőkeáttétel 1.0 az opciós helyszíni korlát szerint), és a 2-paraméteres kialakítás (put eltolás + sma_window).
backtest_failed: RuntimeError: rolling_options bővítése sikertelen (ConnectError: ); üres opciós ütemezéssel nem futtatható 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) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^……Több megjelenítéseKevesebb megjelenítése
backtest_failed: RuntimeError: rolling_options bővítése sikertelen (ConnectError: ); üres opciós ütemezéssel nem futtatható 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 A fenti kivétel közvetlen oka a következő kivétel volt: 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 A fenti kivétel közvetlen oka a következő kivétel volt: 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 bővítése sikertelen (ConnectError: ); üres opciós ütemezéssel nem futtatható
Megvalósítás
Egylábú, készpénzfedezetű heti OTM put-kiírás ETH Deribit európai opciókra, csak trendkapuval. Minden héten a keretrendszer feloldja a historikus Deribit ETH heti put láncot (egy ~25-deltás OTM strike-ot célozva egy -6% moneyness eltoláson keresztül), és görgeti azt; a stratégia SELLS egy putot ~7 nappal a lejárat előtt, és ~24 órával az elszámolás előtt zárja. A ONLY kapu egy csak ár alapú trendfilter: csak akkor írja ki a putot, amikor a ETH spot az ~50-napos SMA felett van (napi barok), a megerősített csökkenő trendeket kihagyva. Többéves IV-percentilis ablak nélkül minden jogosult héten kereskedik (~52/év a 365-napos ablakon) a statisztikailag megbízható kötésszámért, közvetlenül kiküszöbölve a 4-kötéses visszatekintési falat, amely miatt a IV-kapus ETH-heti testvért elvetették. Elsődleges = ETH-PERPETUAL.DERIBIT 1-DAY barokon (csak görgetési óra, soha nem kereskedett). Készpénzfedezetű méretezés (risk_frac 0.8), tőkeáttétel nélkül, 2 hangolt paraméter (put eltolás, sma_window).
Ellenőrzési eredmények
CLEAN RESTART 2026-09-04 — ennek a futtatásnak az ítélettörténetét és tanulási rekordjait eltávolították, és az ellenőrzéstől újraindították. Korábbi elvetése a pipeline-ból eredt, nem a piacból: a Layer-2 harnesz helytelenül kötötte be a @staticmethod segédfüggvényeket (javítva), a QA végleges teljesítményítéleteket hozott egy nem optimalizált smoke teszten (eltávolítva — a QA most csak a helyességet ítéli meg), és a sandbox időtúllépések a backtest-slotok kiéheztetéséből adódtak (javítva). A hipotézis és a stratégia kódja változatlan. Ellenőrizd a kódot az érdemei alapján; a teljesítményről később a teljes backtest és az optimalizáló dönt.
Nincs szükség rá.
A Layer-1 korlátlannak jelölte a self._win.append() hívást, de a on_bar minden gyertyánál megvágja a deque-et (while len > sma_window: popleft()), így a növekedés sma_window értékre korlátozott. Téves pozitív.
Iterációs előzmények
Az ellenőrzés sikertelen (Layer 3 — sandbox backtest): a smoke teszt túllépte a 300s wall-clock limitet. Ez szinte mindig azt jelenti, hogy a baronkénti munka a történettel skálázódik — pl. a teljes funding/kiegészítő sorozat újraszkennelése, vagy egy lista újraépítése és min()/sorted() hívása calculate_signal()/on_bar()-ban minden baron. Számítsd előre a rendezett timestamp tömböket ONCE az __init__-ben, és használj bisect-et, vagy gyorsítótárazd a timestamp-kulcsolt lekérdezéseket, így a baronkénti költség O(log n) lesz, nem O(n).
RuntimeError: rolling_options bővítés sikertelen (ConnectError: ); üres opciós ütemezéssel megtagadja a futtatást 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……Több megjelenítéseKevesebb megjelenítése
RuntimeError: rolling_options bővítés sikertelen (ConnectError: ); üres opciós ütemezéssel megtagadja a futtatást 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 A fenti kivétel volt a következő kivétel közvetlen oka: 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 A fenti kivétel volt a következő kivétel közvetlen oka: 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 bővítés sikertelen (ConnectError: ); üres opciós ütemezéssel megtagadja a futtatást
Elvetés oka
backtest_failed: RuntimeError: rolling_options bővítés sikertelen (ConnectError: ); üres opciós ütemtervvel megtagadja a futtatást Visszakövetés (a legutóbbi hívás utoljára): Fájl "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", 101. sor, itt: map_httpcore_exceptions yield Fájl "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", 394. sor, itt: handle_async_request resp = await self._pool.handle_async_request(req)……Több megjelenítéseKevesebb megjelenítése
backtest_failed: RuntimeError: rolling_options bővítés sikertelen (ConnectError: ); üres opciós ütemtervvel megtagadja a futtatást Visszakövetés (a legutóbbi hívás utoljára): Fájl "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", 101. sor, itt: map_httpcore_exceptions yield Fájl "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", 394. sor, itt: handle_async_request resp = await self._pool.handle_async_request(req) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Fájl "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", 256. sor, itt: handle_async_request raise exc from None Fájl "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", 236. sor, itt: handle_async_request response = await connection.handle_async_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Fájl "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection.py", 101. sor, itt: handle_async_request raise exc Fájl "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection.py", 78. sor, itt: handle_async_request stream = await self._connect(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Fájl "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_async/connection.py", 156. sor, itt: _connect stream = await stream.start_tls(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Fájl "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_backends/anyio.py", 67. sor, itt: start_tls with map_exceptions(exc_map): Fájl "/usr/lib/python3.12/contextlib.py", 158. sor, itt: __exit__ self.gen.throw(value) Fájl "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpcore/_exceptions.py", 14. sor, itt: map_exceptions raise to_exc(exc) from exc httpcore.ConnectError A fenti kivétel volt a következő kivétel közvetlen oka: Visszakövetés (a legutóbbi hívás utoljára): Fájl "/opt/strategy-factory/src/agents/backtest_agent.py", 49. sor, itt: expand_rolling_options_into_config extra_i, extra_bt, sched = await expand_rolling_options(collector, spec, start, end) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Fájl "/opt/strategy-factory/src/data/option_chain.py", 242. sor, itt: expand_rolling_options contracts = await discover_deribit_chain( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Fájl "/opt/strategy-factory/src/data/option_chain.py", 143. sor, itt: discover_deribit_chain perp_bars = await collector.fetch_ohlcv(perp, start_ms, end_ms, "1D") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Fájl "/opt/strategy-factory/src/data/collectors/deribit_collector.py", 169. sor, itt: fetch_ohlcv result = await self._get("/public/get_tradingview_chart_data", { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Fájl "/opt/strategy-factory/src/data/collectors/deribit_collector.py", 86. sor, itt: _get response = await self._client.get(f"{DERIBIT_API_URL}{endpoint}", params=params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Fájl "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", 1768. sor, itt: get return await self.request( ^^^^^^^^^^^^^^^^^^^ Fájl "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", 1540. sor, itt: request return await self.send(request, auth=auth, follow_redirects=follow_redirects) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Fájl "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", 1629. sor, itt: send response = await self._send_handling_auth( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Fájl "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", 1657. sor, itt: _send_handling_auth response = await self._send_handling_redirects( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Fájl "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", 1694. sor, itt: _send_handling_redirects response = await self._send_single_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Fájl "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", 1730. sor, itt: _send_single_request response = await transport.handle_async_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Fájl "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", 393. sor, itt: handle_async_request with map_httpcore_exceptions(): Fájl "/usr/lib/python3.12/contextlib.py", 158. sor, itt: __exit__ self.gen.throw(value) Fájl "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_transports/default.py", 118. sor, itt: map_httpcore_exceptions raise mapped_exc(message) from exc httpx.ConnectError A fenti kivétel volt a következő kivétel közvetlen oka: Visszakövetés (a legutóbbi hívás utoljára): Fájl "/opt/strategy-factory/src/agents/backtest_agent.py", 184. sor, itt: _run_backtest config = await self._maybe_expand_rolling_options(config, catalog_path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Fájl "/opt/strategy-factory/src/agents/backtest_agent.py", 427. sor, itt: _maybe_expand_rolling_options config = await expand_rolling_options_into_config(config, catalog_path, self._logger) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Fájl "/opt/strategy-factory/src/agents/backtest_agent.py", 59. sor, itt: expand_rolling_options_into_config raise RuntimeError( RuntimeError: rolling_options bővítés sikertelen (ConnectError: ); üres opciós ütemtervvel megtagadja a futtatást
A Stratmill egy kutatási és papíralapú kereskedési eszköz, nem befektetési tanácsadás vagy bróker. A backteszt- és papírkereskedési eredmények hipotetikusak. A kereskedés veszteség kockázatával jár.