কনটেন্টে যান

মূল লেখা দেখুন

DeribitEthWeeklyPutWriteTrendGatedOnly

হাইপোথিসিস

Deribit ETH সাপ্তাহিক ক্যাশ-সিকিউরড OTM পুট-রাইট — শুধুমাত্র ট্রেন্ড-গেটেড, নির্দিষ্ট ~25-ডেল্টা, NO দীর্ঘ-লুকব্যাক IV গেট (সিঙ্গেল-লেগ VRP হার্ভেস্ট; 4-ট্রেডের লুকব্যাক প্রাচীর সরাসরি সমাধান করে যা ETH-weekly সিবলিংকে পরিত্যক্ত করেছিল)

হাইপোথিসিস

একটি SINGLE-LEG, সম্পূর্ণ নগদ-জামানতযুক্ত সাপ্তাহিক PUT-WRITING প্রোগ্রাম Deribit ETH অপশনের উপর — দ্বিতীয়-সবচেয়ে তরল ক্রিপ্টো অপশন আন্ডারলায়িং, ফ্যাক্টরির Sharpe-12.2 প্রোমোটেড Deribit-BTC-weekly put-write এর EXACT এক্সিকিউশন পাথ (গ্রিকসের মাধ্যমে স্ট্রাইক নির্বাচন, সাপ্তাহিক নগদ নিষ্পত্তি) পুনর্ব্যবহার করে। এটি ইচ্ছাকৃতভাবে ডিজাইন করা হয়েছে যাতে FIX সেই একক, বারবার নির্ণয় করা কারণটি যার জন্য ETH-weekly সিবলিং 8 ইটারেশন জুড়ে পরিত্যক্ত হয়েছিল: এর IV-র‍্যাঙ্ক + IV>RV ডাবল-গেটের জন্য প্রায় 560-দিনের রোলিং লুকব্যাক প্রয়োজন ছিল, যা এটিকে মাত্র 4 ট্রেড / metrics_reliable=false-এ নামিয়ে এনেছিল — একটি কাঠামোগত ডেড এন্ড যা ডেভেলপার কখনও সমাধান করতে পারেননি। এই সংস্করণটি দীর্ঘ-লুকব্যাক IV গেটকে সম্পূর্ণরূপে DROPS এবং ট্রেন্ড ফিল্টার ONLY রাখে (গেটটি প্রোমোটেড BTC বিজয়ীতে লোড-বেয়ারিং হিসেবে প্রমাণিত), প্রতিটি যোগ্য সপ্তাহে একটি নির্দিষ্ট ~25-ডেল্টা OTM ETH পুট লিখে। কোনো বহু-বছরের IV-পার্সেন্টাইল নির্ভরতা ছাড়াই, এটি উপলব্ধ Deribit ETH সাপ্তাহিক ইতিহাসের উপর বছরে ~40-52 বার ফায়ার করে → একটি পরিসংখ্যানগতভাবে নির্ভরযোগ্য ট্রেড সংখ্যা, ঠিক 4-ট্রেডের প্রাচীর দূর করে। এটি সবচেয়ে কম-প্রতিনিধিত্বকারী ভেন্যু (অপশন: 5.5% Deribit + 0.1% Binance বনাম ≥15% লক্ষ্যমাত্রা) পূরণ করে এবং অপশন বইকে BTC-only থেকে দ্বিতীয় একটি আনকরিলেটেড-ভোল আন্ডারলায়িংয়ে বৈচিত্র্যময় করে তোলে। এটি NOT একটি মাল্টি-লেগ স্ট্রাকচার (L2), NOT একটি ডেটা-ওয়ালড সেল (সাপ্তাহিক ETH চেইন + গ্রিকস ক্যাটালগড এবং BTC সিবলিংয়ের মাধ্যমে প্রমাণিত-এক্সিকিউটেবল), NOT ডিরেকশনাল। ইচ্ছাকৃতভাবে 2 প্যারামিটার (পুট ডেল্টা, ট্রেন্ড-ফিল্টার দৈর্ঘ্য) ওভারফিট প্রতিরোধ করতে।

হাইপোথিসিস

ইটারেশন 3 একটি কনফিগ-শুধুমাত্র পরিবর্তন দিয়ে Layer-3 ওয়াল-ক্লক টাইমআউট সমাধান করে; স্ট্র্যাটেজি CODE অপরিবর্তিত রয়েছে (এটি ইতিমধ্যে Layers 1-2 পাস করেছে, প্রতি-বার কাজ একটি ইনক্রিমেন্টাল রানিং-সাম SMA এর মাধ্যমে O(1), এবং কোনো প্রতি-বার min()/sorted()/history স্ক্যান নেই)। নির্ণয়: ইটারেশন 2 সঠিকভাবে প্রাইমারি+লেগ রেজোলিউশন 1-DAY এ সরিয়েছিল কিন্তু STILL টাইমআউট হয়েছে, যা প্রমাণ করে বটলনেকটি বার সংখ্যা নয়। src/data/option_chain.py পড়ে: discover_deribit_chain EACH সাপ্তাহিক মেয়াদপূর্তির প্রতিটি প্রার্থী স্ট্রাইকের জন্য একটি নেটওয়ার্ক fetch_ohlcv প্রোব জারি করে, এবং Layer-3 স্যান্ডবক্স lookback_days বিস্তৃত (expand_rolling_options / পাইপলাইন ডিফল্ট 365)। তাই এক্সপ্যানশন খরচ সাপ্তাহিক মেয়াদপূর্তির সংখ্যা = lookback_days এর সাথে স্কেল করে, টাইমফ্রেম নির্বিশেষে। iter-2 এর কনফিগে lookback_days ~730 বহন করছিল (~104 মেয়াদপূর্তি, প্রোব সংখ্যা দ্বিগুণ করে), যা 300s বাজেট উড়িয়ে দিয়েছে। lookback_days কে 365 এ ফিরিয়ে নেওয়া (~52 মেয়াদপূর্তি) মেয়াদপূর্তি প্রোব এবং লেগ ডাউনলোড অর্ধেক করে দেয়, ঠিক সেই স্কেলের সাথে মিলে যায় যেখানে প্রমাণিত ETH/BTC সাপ্তাহিক পুট-রাইট সিবলিংগুলি Layer 3 ক্লিয়ার করে, এবং তবুও ~52 যোগ্য সপ্তাহ কভার করে যাতে ট্রেড সংখ্যা পরিসংখ্যানগতভাবে নির্ভরযোগ্য থাকে (ট্রেন্ড গেটিং এর পরে ~30-52 রাইট) এবং 4-ট্রেডের ডেড এন্ডের অনেক উপরে। বাকি সবকিছু সংরক্ষিত এবং প্রমাণিত: সরাসরি RollingOptionsStrategy সাবক্লাসিং (Layer-1 এটি চিনতে পারে; 4 অ্যাবস্ট্র্যাক্ট হুকগুলি শারীরিকভাবে উপস্থিত), কোনো স্মোক পাথ নেই (আসল অপশন লেগ এক্সপ্যান্ডেড শিডিউলের মাধ্যমে ট্রেড করে, options_no_option_trades সন্তুষ্ট করে), _enter_leg-এ একক মূল্য-শুধুমাত্র ট্রেন্ড গেট, 1-DAY ETH-PERPETUAL প্রাইমারি + 1-DAY লেগ রেজোলিউশন (যে রেজোলিউশন পাসিং ETH পুট-রাইট সিবলিং ব্যবহার করে), ক্যাশ-সিকিউরড সাইজিং (risk_frac 0.8, লিভারেজ 1.0 অপশন ভেন্যু ক্যাপ অনুযায়ী), এবং 2-প্যারামিটার ডিজাইন (পুট অফসেট + sma_window)।

হাইপোথিসিস

backtest_failed: RuntimeError: rolling_options বিস্তৃতকরণ ব্যর্থ হয়েছে (ConnectError: ); একটি খালি অপশন শিডিউল নিয়ে চালাতে অস্বীকার করা হচ্ছে 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 উপরের ব্যতিক্রমটি নিম্নলিখিত ব্যতিক্রমের প্রত্যক্ষ কারণ ছিল: 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 উপরের ব্যতিক্রমটি নিম্নলিখিত ব্যতিক্রমের প্রত্যক্ষ কারণ ছিল: 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 বিস্তৃতকরণ ব্যর্থ হয়েছে (ConnectError: ); একটি খালি অপশন শিডিউল নিয়ে চালাতে অস্বীকার করা হচ্ছে

구현

সিঙ্গেল-লেগ, ক্যাশ-সিকিউরড সাপ্তাহিক OTM পুট-রাইটিং ETH Deribit ইউরোপীয় অপশনের উপর, শুধুমাত্র ট্রেন্ড-গেটেড। প্রতি সপ্তাহে ফ্রেমওয়ার্ক ঐতিহাসিক Deribit ETH সাপ্তাহিক পুট চেইন সমাধান করে (একটি -6% মানিনেস অফসেটের মাধ্যমে ~25-ডেল্টা OTM স্ট্রাইক লক্ষ্য করে) এবং এটি রোল করে; স্ট্র্যাটেজি SELLS একটি পুট মেয়াদপূর্তির ~7 দিন আগে এবং নিষ্পত্তির ~24 ঘণ্টা আগে বন্ধ করে। ONLY গেটটি একটি মূল্য-শুধুমাত্র ট্রেন্ড ফিল্টার: এটি শুধুমাত্র তখনই পুট লেখে যখন ETH স্পট তার ~50-দিনের SMA এর উপরে থাকে (দৈনিক বার), নিশ্চিত ডাউনট্রেন্ডে বাইরে বসে থাকে। কোনো বহু-বছরের IV-পার্সেন্টাইল উইন্ডো ছাড়াই এটি প্রতিটি যোগ্য সপ্তাহে ট্রেড করে (365-দিনের উইন্ডোতে বছরে ~52) একটি পরিসংখ্যানগতভাবে নির্ভরযোগ্য ট্রেড সংখ্যার জন্য, সরাসরি 4-ট্রেডের লুকব্যাক প্রাচীর দূর করে যা IV-গেটেড ETH-weekly সিবলিংকে পরিত্যক্ত করেছিল। প্রাইমারি = ETH-PERPETUAL.DERIBIT 1-DAY বারে (শুধুমাত্র রোল ক্লক, কখনও ট্রেড করা হয় না)। ক্যাশ-সিকিউরড সাইজিং (risk_frac 0.8), কোনো লিভারেজ নেই, 2 টিউনড প্যারামিটার (পুট অফসেট, sma_window)।

검증 결과

CLEAN RESTART 2026-09-04 — এই রানের রায়ের ইতিহাস এবং শেখার রেকর্ড মুছে ফেলা হয়েছিল এবং এটি যাচাইকরণ থেকে পুনরায় শুরু করা হয়েছিল। এর পূর্ববর্তী পরিত্যাগ বাজার থেকে নয়, পাইপলাইন থেকে এসেছিল: Layer-2 হার্নেস @staticmethod হেল্পারগুলিকে ভুলভাবে বাইন্ড করেছিল (সংশোধন করা হয়েছে), QA একটি অ-অপ্টিমাইজড স্মোক টেস্টে চূড়ান্ত পারফরম্যান্স রায় জারি করেছিল (সরিয়ে ফেলা হয়েছে — QA এখন শুধুমাত্র সঠিকতা বিচার করে), এবং স্যান্ডবক্স টাইমআউট ব্যাকটেস্ট-স্লট অনাহার থেকে এসেছিল (সংশোধন করা হয়েছে)। হাইপোথিসিস এবং স্ট্র্যাটেজি কোড অপরিবর্তিত রয়েছে। কোডটি এর গুণাগুণের ভিত্তিতে যাচাই করুন; পারফরম্যান্স পরে সম্পূর্ণ ব্যাকটেস্ট এবং অপ্টিমাইজার দ্বারা নির্ধারিত হবে।

검증 결과

কোনো প্রয়োজন নেই।

검증 결과

Layer-1 self._win.append() কে unbounded হিসেবে চিহ্নিত করেছে, কিন্তু on_bar প্রতি বারে deque ছেঁটে ফেলে (while len > sma_window: popleft()), তাই বৃদ্ধি sma_window এ সীমাবদ্ধ। ফলস পজিটিভ।

Iteration History

যাচাইকরণ ব্যর্থ হয়েছে (Layer 3 — স্যান্ডবক্স ব্যাকটেস্ট): স্মোক টেস্ট 300s ওয়াল-ক্লক সীমা অতিক্রম করেছে। এর অর্থ প্রায় সবসময়ই এমন প্রতি-বার কাজ যা ইতিহাসের সাথে স্কেল করে — যেমন সম্পূর্ণ ফান্ডিং/সাপ্লিমেন্টারি সিরিজ পুনরায় স্ক্যান করা, অথবা প্রতিটি বারে calculate_signal()/on_bar() এর ভেতরে একটি তালিকা পুনর্নির্মাণ করা এবং min()/sorted() কল করা। __init__-এ সাজানো টাইমস্ট্যাম্প অ্যারে ONCE প্রিকম্পিউট করুন এবং bisect ব্যবহার করুন, অথবা টাইমস্ট্যাম্প দিয়ে কী করা ক্যাশ লুকআপ ব্যবহার করুন, যাতে প্রতি-বার খরচ O(log n) হয়, O(n) নয়।

Iteration History

RuntimeError: rolling_options এক্সপ্যানশন ব্যর্থ হয়েছে (ConnectError: ); খালি অপশন শিডিউল নিয়ে চালাতে অস্বীকার করা হচ্ছে 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 উপরের ব্যতিক্রমটি (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 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 উপরের ব্যতিক্রমটি (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: rolling_options এক্সপ্যানশন ব্যর্থ হয়েছে (ConnectError: ); খালি অপশন শিডিউল নিয়ে চালাতে অস্বীকার করা হচ্ছে

বাতিলের কারণ

backtest_failed: RuntimeError: rolling_options বিস্তৃতকরণ ব্যর্থ হয়েছে (ConnectError: ); একটি খালি অপশন শিডিউল নিয়ে চালাতে অস্বীকার করা হচ্ছে 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 উপরের ব্যতিক্রমটি নিম্নলিখিত ব্যতিক্রমের প্রত্যক্ষ কারণ ছিল: 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 উপরের ব্যতিক্রমটি নিম্নলিখিত ব্যতিক্রমের প্রত্যক্ষ কারণ ছিল: 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 বিস্তৃতকরণ ব্যর্থ হয়েছে (ConnectError: ); একটি খালি অপশন শিডিউল নিয়ে চালাতে অস্বীকার করা হচ্ছে
কৌশল প্রতিবেদন

Stratmill একটি রিসার্চ ও পেপার-ট্রেডিং টুল, আর্থিক পরামর্শ বা ব্রোকার নয়। ব্যাকটেস্ট ও পেপার ফলাফল কাল্পনিক। ট্রেডিংয়ে ক্ষতির ঝুঁকি রয়েছে।