Lumaktaw papunta sa nilalaman
Lahat ng estratehiya

Mga Estratehiya

Deribit ETH Weekly Cash-Secured OTM Put-Write — Trend-Gated Lamang, Nakapirming ~25-Delta, NO Long-Lookback IV Gate (Single-Leg VRP Harvest; Direktang Inaayos ang 4-Trades Lookback Wall na Nagpaiwan sa ETH-Weekly Sibling)

Resulta: Inabandona

DeribitEthWeeklyPutWriteTrendGatedOnly

Deribit ETH Weekly Cash-Secured OTM Put-Write — Trend-Gated Lamang, Nakapirming ~25-Delta, NO Long-Lookback IV Gate (Single-Leg VRP Harvest; Direktang Inaayos ang 4-Trades Lookback Wall na Nagpaiwan sa ETH-Weekly…

Hypothesis

Isang SINGLE-LEG, ganap na cash-collateralized na lingguhang programa ng PUT-WRITING sa mga opsyon ng Deribit ETH — ang pangalawang pinaka-liquid na crypto options underlying, na muling gumagamit ng EXACT execution path (pagpili ng strike sa pamamagitan ng greeks, lingguhang cash settlement) ng Sharpe-12.2 promoted na Deribit-BTC-weekly put-write ng factory. Sadyang dinisenyo ito upang FIX ang iisang, paulit-ulit na nadiagnose na dahilan kung bakit iniwan ang ETH-weekly sibling sa loob ng 8 na iterasyon: ang……Magpakita ng higit paMagpakita ng mas kaunti

Isang SINGLE-LEG, ganap na cash-collateralized na lingguhang programa ng PUT-WRITING sa mga opsyon ng Deribit ETH — ang pangalawang pinaka-liquid na crypto options underlying, na muling gumagamit ng EXACT execution path (pagpili ng strike sa pamamagitan ng greeks, lingguhang cash settlement) ng Sharpe-12.2 promoted na Deribit-BTC-weekly put-write ng factory. Sadyang dinisenyo ito upang FIX ang iisang, paulit-ulit na nadiagnose na dahilan kung bakit iniwan ang ETH-weekly sibling sa loob ng 8 na iterasyon: ang IV-rank + IV>RV double-gate nito ay nangangailangan ng ~560-araw na rolling lookback, na nagbawas dito sa 4 na trade lamang / metrics_reliable=false — isang istruktural na dead end na hindi kailanman nalutas ng developer. Ang bersyong ito ay ganap na DROPS ang long-lookback na IV gate at pinananatili ONLY ang trend filter (ang gate na napatunayang load-bearing sa promoted na BTC winner), na nagsusulat ng isang nakapirming ~25-delta OTM ETH put bawat karapat-dapat na linggo. Walang multi-taong IV-percentile dependency, ito ay nag-fire nang ~40-52 beses/taon sa buong magagamit na Deribit ETH weekly history → isang statistically reliable na bilang ng trade, na inaalis ang mismong 4-trades wall. Pinupunan nito ang pinakamababang kinatawan na venue (options: 5.5% Deribit + 0.1% Binance laban sa isang ≥15% target) at dinidiversify ang options book mula BTC-only patungo sa pangalawang uncorrelated-vol underlying. Ito ay NOT isang multi-leg na istruktura (L2), NOT isang data-walled cell (ang lingguhang ETH chain + greeks ay naka-catalogue at napatunayang executable sa pamamagitan ng BTC sibling), NOT directional. Sadyang 2 ang mga parameter (put delta, haba ng trend filter) upang labanan ang overfit.

Ang Iteration 3 ay nag-aayos sa wall-clock timeout ng Layer-3 sa pamamagitan ng pagbabago sa config lamang; hindi nagbabago ang strategy na CODE (nakapasa na ito sa Layers 1-2, O(1) ang trabaho kada bar gamit ang incremental running-sum na SMA, at walang per-bar na min()/sorted()/history scan). Diagnosis: tama ang ginawa ng iteration 2 nang ilipat nito ang paglutas sa primary+leg sa 1-DAY, pero nag-time out ang STILL, na nagpapatunay na hindi bilang ng mga bar ang bottleneck. Ayon sa pagbasa sa……Magpakita ng higit paMagpakita ng mas kaunti

Ang Iteration 3 ay nag-aayos sa wall-clock timeout ng Layer-3 sa pamamagitan ng pagbabago sa config lamang; hindi nagbabago ang strategy na CODE (nakapasa na ito sa Layers 1-2, O(1) ang trabaho kada bar gamit ang incremental running-sum na SMA, at walang per-bar na min()/sorted()/history scan). Diagnosis: tama ang ginawa ng iteration 2 nang ilipat nito ang paglutas sa primary+leg sa 1-DAY, pero nag-time out ang STILL, na nagpapatunay na hindi bilang ng mga bar ang bottleneck. Ayon sa pagbasa sa src/data/option_chain.py: nagsasagawa ang discover_deribit_chain ng network fetch_ohlcv probe para sa bawat candidate strike ng EACH weekly expiry, at sumasaklaw ang sandbox ng Layer-3 sa lookback_days (expand_rolling_options / default ng pipeline na 365). Kaya nakabatay ang gastos ng expansion sa bilang ng weekly expiry = lookback_days, anuman ang timeframe. May lookback_days ~730 ang config ng iter-2 (~104 expiry, kaya dumodoble ang bilang ng probe), kaya lumampas ito sa budget na 300s. Kapag ibinalik ang lookback_days sa 365 (~52 expiry), nahahati sa dalawa ang expiry probe at leg download, alinsunod sa eksaktong antas kung kailan nakakapasa sa Layer 3 ang mga napatunayang ETH/BTC weekly put-write sibling, habang nasasaklaw pa rin ang ~52 kwalipikadong linggo para manatiling maaasahan sa estadistika ang bilang ng trade (~30-52 write pagkatapos ng trend gating) at higit na mataas ito sa dead end na 4-trade. Napanatili at napatunayan ang lahat ng iba pa: direktang subclassing sa RollingOptionsStrategy (kinikilala ito ng Layer-1; pisikal na naroon ang mga abstract hook na 4), walang smoke path (naititrade ang totoong option leg sa pinalawak na iskedyul, kaya natutupad ang options_no_option_trades), iisang price-only trend gate sa _enter_leg, paglutas sa primary na 1-DAY ETH-PERPETUAL + paglutas sa leg na 1-DAY (ang resolusyong ginagamit ng pumapasang ETH put-write sibling), cash-secured sizing (risk_frac 0.8, leverage na 1.0 ayon sa cap ng options venue), at disenyong may 2 parameter (put offset + sma_window).

backtest_failed: RuntimeError: nabigo ang expansion ng rolling_options (ConnectError: ); tumangging tumakbo na may walang-lamang iskedyul ng opsyon Traceback (pinakahuling tawag muna): 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)……Magpakita ng higit paMagpakita ng mas kaunti

backtest_failed: RuntimeError: nabigo ang expansion ng rolling_options (ConnectError: ); tumangging tumakbo na may walang-lamang iskedyul ng opsyon Traceback (pinakahuling tawag muna): 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 Ang exception sa itaas ang tuwirang sanhi ng sumusunod na exception: Traceback (pinakahuling tawag muna): 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 Ang exception sa itaas ang tuwirang sanhi ng sumusunod na exception: Traceback (pinakahuling tawag muna): 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: nabigo ang expansion ng rolling_options (ConnectError: ); tumangging tumakbo na may walang-lamang iskedyul ng opsyon

Implementasyon

Single-leg, cash-secured na lingguhang OTM put-writing sa ETH Deribit European options, trend-gated lamang. Bawat linggo, nireresolba ng framework ang makasaysayang Deribit ETH weekly put chain (na nagta-target ng ~25-delta OTM strike sa pamamagitan ng isang -6% moneyness offset) at ini-roll ito; ang estratehiya ay SELLS isang put ~7 araw bago ang expiry at isinasara ito ~24h bago ang settlement. Ang ONLY gate ay isang price-only na trend filter: isinusulat nito ang put lamang kapag ang ETH spot ay nasa itaas ng ~50-araw na SMA nito (daily bars), na hindi pumapasok sa mga nakumpirmang downtrend. Walang multi-taong IV-percentile window, nagte-trade ito bawat karapat-dapat na linggo (~52/taon sa loob ng 365-araw na window) para sa isang statistically reliable na bilang ng trade, na direktang inaalis ang 4-trades lookback wall na nagpaiwan sa IV-gated ETH-weekly sibling. Pangunahin = ETH-PERPETUAL.DERIBIT sa 1-DAY bars (roll clock lamang, hindi kailanman tinrade). Cash-secured na sizing (risk_frac 0.8), walang leverage, 2 tuned na mga parameter (put offset, sma_window).

Mga Resulta ng Beripikasyon

CLEAN RESTART 2026-09-04 — inalis ang tala ng hatol at pagkatuto ng run na ito at sinimulan itong muli mula sa beripikasyon. Nagmula sa pipeline ang dati nitong pag-abandona, hindi sa merkado: mali ang pagkakatali ng Layer-2 harness sa mga @staticmethod helper (naayos na), nagbigay ang QA ng mga pinal na hatol sa performance batay sa isang smoke test na hindi na-optimize (inalis na — kawastuhan na lamang ang sinusuri ngayon ng QA), at nagmula sa kakulangan ng backtest-slot ang mga timeout sa sandbox (naayos na). Hindi nagbago ang hypothesis at ang code ng estratehiya. Suriin ang code batay sa mga merito nito; ang performance ay pagpapasyahan sa bandang huli ng buong backtest at ng optimizer.

Walang kailangan.

Tinukoy ng Layer-1 na walang limitasyon ang self._win.append(), ngunit pinuputulan ng on_bar ang deque sa bawat bar (habang len > sma_window: popleft()), kaya nalilimitahan ang paglaki sa sma_window. Maling positibo.

Kasaysayan ng Iterasyon

Nabigo ang beripikasyon (Layer 3 — backtest sa sandbox): lumampas ang smoke test sa limitasyong 300 segundo ng wall-clock. Halos palaging nangangahulugan ito ng gawaing bawat bar na lumalaki kasabay ng haba ng kasaysayan — hal., muling pag-scan sa buong serye ng funding/supplementary, o muling pagbuo ng listahan at pagtawag sa min()/sorted() sa loob ng calculate_signal()/on_bar() sa bawat bar. Paunang kalkulahin ang mga nakaayos na array ng timestamp na ONCE sa __init__ at gumamit ng bisect, o mag-cache ng mga lookup ayon sa timestamp, upang maging O(log n) sa halip na O(n) ang gastos sa bawat bar.

RuntimeError: nabigo ang pagpapalawak ng rolling_options (ConnectError: ); tumangging tumakbo nang walang laman ang iskedyul ng opsyon 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)……Magpakita ng higit paMagpakita ng mas kaunti

RuntimeError: nabigo ang pagpapalawak ng rolling_options (ConnectError: ); tumangging tumakbo nang walang laman ang iskedyul ng opsyon 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 The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/opt/strategy-factory/src/agents/backtest_agent.py", line 49, in expand_rolling_options_into_config extra_i, extra_bt, sched = await expand_rolling_options(collector, spec, start, end) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/data/option_chain.py", line 242, in expand_rolling_options contracts = await discover_deribit_chain( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/data/option_chain.py", line 143, in discover_deribit_chain perp_bars = await collector.fetch_ohlcv(perp, start_ms, end_ms, "1D") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/data/collectors/deribit_collector.py", line 169, in fetch_ohlcv result = await self._get("/public/get_tradingview_chart_data", { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/data/collectors/deribit_collector.py", line 86, in _get response = await self._client.get(f"{DERIBIT_API_URL}{endpoint}", params=params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1768, in get return await self.request( ^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1540, in request return await self.send(request, auth=auth, follow_redirects=follow_redirects) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1629, in send response = await self._send_handling_auth( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1657, in _send_handling_auth response = await self._send_handling_redirects( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1694, in _send_handling_redirects response = await self._send_single_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/.venv/lib/python3.12/site-packages/httpx/_client.py", line 1730, in _send_single_request return 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 The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/opt/strategy-factory/src/agents/backtest_agent.py", line 184, in _run_backtest config = await self._maybe_expand_rolling_options(config, catalog_path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/agents/backtest_agent.py", line 427, in _maybe_expand_rolling_options config = await expand_rolling_options_into_config(config, catalog_path, self._logger) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/agents/backtest_agent.py", line 59, in expand_rolling_options_into_config raise RuntimeError( RuntimeError: nabigo ang pagpapalawak ng rolling_options (ConnectError: ); tumangging tumakbo nang walang laman ang iskedyul ng opsyon

Dahilan ng Pag-abandona

backtest_failed: RuntimeError: nabigo ang expansion ng rolling_options (ConnectError: ); tumangging tumakbo na may walang-lamang iskedyul ng opsyon Traceback (pinakahuling tawag muna): 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)……Magpakita ng higit paMagpakita ng mas kaunti

backtest_failed: RuntimeError: nabigo ang expansion ng rolling_options (ConnectError: ); tumangging tumakbo na may walang-lamang iskedyul ng opsyon Traceback (pinakahuling tawag muna): 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 Ang exception sa itaas ang tuwirang sanhi ng sumusunod na exception: Traceback (pinakahuling tawag muna): 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 Ang exception sa itaas ang tuwirang sanhi ng sumusunod na exception: Traceback (pinakahuling tawag muna): 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: nabigo ang expansion ng rolling_options (ConnectError: ); tumangging tumakbo na may walang-lamang iskedyul ng opsyon

Ang Stratmill ay isang tool para sa pananaliksik at paper trading, hindi payo sa pananalapi o isang broker. Ang mga resulta ng backtest at paper trading ay hypothetical. May panganib ng pagkalugi ang pangangalakal.