Files
Danglewood 869cfed125 [Release] openbb-v5.0.0 (#7741)
* merge branch develop with main

* bump desktop version

* fix the merge

* sync Cargo.lock to desktop 2.0.0

* fix cli conftest.py

---------

Co-authored-by: deeleeramone <>
2026-09-29 10:58:44 -07:00

108 lines
4.1 KiB
Python

"""The Deribit commands and parameters both consumption surfaces are exercised with."""
SHARED = {
("futures", "curve"),
("futures", "historical"),
("futures", "info"),
("futures", "instruments"),
("options", "chains"),
}
MODELS = [
("futures", "curve", {"symbol": "BTC"}),
(
"futures",
"historical",
{
"symbol": "BTC-PERPETUAL",
"start_date": "2026-01-01",
"end_date": "2026-02-01",
},
),
("futures", "info", {"symbol": "BTC-PERPETUAL"}),
("futures", "instruments", {}),
("index", "delivery_prices", {"index_name": "btc_usd", "limit": 5}),
("index", "historical", {"index_name": "btc_usd", "span": "1h"}),
("index", "price", {"index_name": "btc_usd,eth_usd"}),
("market", "block_rfq_trades", {"limit": 10}),
("market", "book_summary", {"currency": "BTC", "kind": "future"}),
("market", "order_book", {"symbol": "BTC-PERPETUAL", "depth": 5}),
("market", "settlements", {"currency": "BTC", "limit": 5}),
("market", "ticker", {"symbol": "BTC-PERPETUAL"}),
("market", "trade_volumes", {}),
("market", "trades", {"symbol": "BTC-PERPETUAL", "limit": 5}),
("options", "chains", {"symbol": "BTC"}),
("rates", "apr_history", {"currency": "usde", "limit": 5}),
("rates", "funding_chart", {"symbol": "BTC-PERPETUAL"}),
("rates", "funding_history", {"symbol": "BTC-PERPETUAL"}),
("reference", "announcements", {"limit": 3}),
("reference", "combos", {"currency": "BTC"}),
("reference", "currencies", {}),
("reference", "expirations", {"currency": "BTC", "kind": "any"}),
("reference", "instruments", {"currency": "BTC", "kind": "future"}),
("volatility", "index", {"currency": "BTC", "interval": "1d"}),
("volatility", "realized", {"currency": "BTC"}),
]
FEEDS = [
("futures", "curve_choices", {}),
("futures", "perpetual_choices", {}),
("options", "underlying_choices", {}),
("options", "expiration_choices", {"symbol": "BTC"}),
("options", "strike_choices", {"symbol": "BTC"}),
("options", "strategy_choices", {"symbol": "BTC"}),
("rates", "funding_value", {"symbol": "BTC-PERPETUAL"}),
("reference", "combo_choices", {"currency": "BTC"}),
("reference", "contract_size", {"symbol": "BTC-PERPETUAL"}),
("reference", "currency_choices", {}),
("reference", "index_choices", {}),
("reference", "index_choices", {"supported": True}),
("reference", "instrument_choices", {"kind": "future"}),
("reference", "server_time", {}),
("reference", "status", {}),
]
TABLES = [
("optimizer", {"symbol": "BTC", "target_price": 100000, "limit": 5}),
("straddle", {"symbol": "BTC"}),
("strangle", {"symbol": "BTC", "moneyness": 5}),
("spreads", {"symbol": "BTC", "moneyness": 5}),
("straddle", {"symbol": "ETH"}),
]
CHARTS = [
("smile", {"symbol": "BTC"}),
("smile", {"symbol": "BTC", "otm": True, "skew": True}),
("smile", {"symbol": "ETH"}),
("stats", {"symbol": "BTC"}),
("stats", {"symbol": "BTC", "metric": "volume", "unit": "pcr"}),
("stats", {"symbol": "BTC", "by": "strike", "unit": "percent"}),
("stats", {"symbol": "SOL_USDC"}),
("surface", {"symbol": "BTC"}),
("surface", {"symbol": "BTC", "metric": "gex", "option_type": "calls"}),
("surface", {"symbol": "BTC", "dte_min": 7, "dte_max": 90, "oi": True}),
("term_structure", {"symbol": "BTC"}),
("term_structure", {"symbol": "BTC", "metric": "price", "moneyness": 5}),
("payoff", {"symbol": "BTC"}),
("payoff", {"symbol": "BTC", "target_price": 100000, "budget": 1000}),
]
def namespace(router: str, name: str) -> str:
"""Return where a command is served: its own namespace or the shared one."""
from openbb_deribit import DERIVATIVES_INSTALLED
return (
"derivatives"
if DERIVATIVES_INSTALLED and (router, name) in SHARED
else "deribit"
)
def case_id(case: tuple) -> str:
"""Name a parametrized case by its command and parameters."""
*path, params = case
written = ",".join(f"{key}={value}" for key, value in params.items())
return ".".join(path) + (f"[{written}]" if written else "")