Show OTM options in chain even when ticker has no quotes.

Stop skipping contracts with empty ask, bid, and mark so out-of-the-money strikes remain visible in the list.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-08 07:28:11 +08:00
parent 7f225c7407
commit 43fa1ad1f3
3 changed files with 16 additions and 3 deletions
-2
View File
@@ -411,8 +411,6 @@ def build_option_chain(
mark = q["mark_px"]
ask_sz = q["ask_sz"]
bid_sz = q["bid_sz"]
if ask is None and bid is None and mark is None:
continue
expiry_be = expiry_breakeven_from_ask(
opt_type=opt_type,
strike=strike,
+1 -1
View File
@@ -136,4 +136,4 @@
</div>
</div>
</div>
<script src="/static/options_panel.js?v=10"></script>
<script src="/static/options_panel.js?v=11"></script>
+15
View File
@@ -90,6 +90,21 @@ def test_estimate_expiry_profit_at_index():
assert p2 == round(-12.2 * 0.01, 4)
def test_resolve_chain_quote_otm_no_quote():
from lib.exchange.okx_options_lib import _resolve_chain_quote
q = _resolve_chain_quote(
ticker={},
meta={"tickSz": "0.2"},
opt_type="C",
strike=1800,
index_px=1776,
)
assert q["ask"] is None
assert q["bid"] is None
assert q["ask_estimated"] is False
def test_resolve_chain_quote_estimated_ask():
from lib.exchange.okx_options_lib import _resolve_chain_quote