Skip to content

Commit 61cf327

Browse files
committed
Refine databento request_instruments granularity
1 parent d2a083f commit 61cf327

File tree

1 file changed

+15
-14
lines changed
  • nautilus_trader/adapters/databento

1 file changed

+15
-14
lines changed

nautilus_trader/adapters/databento/data.py

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ async def _subscribe_instruments(self, command: SubscribeInstruments) -> None:
440440
async def _subscribe_instrument(self, command: SubscribeInstrument) -> None:
441441
try:
442442
dataset: Dataset = self._loader.get_dataset_for_venue(command.instrument_id.venue)
443-
start: int | None = command.params.get("start") if command.params else None
443+
start = command.params.get("start")
444444

445445
live_client = self._get_live_client(dataset)
446446
live_client.subscribe(
@@ -603,16 +603,16 @@ async def _subscribe_quote_ticks(self, command: SubscribeQuoteTicks) -> None:
603603
try:
604604
await self._ensure_subscribed_for_instrument(command.instrument_id)
605605

606-
schema: str | None = command.params.get("schema") if command.params else None
607606
# allowed schema values: mbp-1, bbo-1s, bbo-1m
607+
schema = command.params.get("schema")
608608
if schema is None or schema not in [
609609
DatabentoSchema.MBP_1.value,
610610
DatabentoSchema.BBO_1S.value,
611611
DatabentoSchema.BBO_1M.value,
612612
]:
613613
schema = DatabentoSchema.MBP_1.value
614614

615-
start: int | None = command.params.get("start") if command.params else None
615+
start = command.params.get("start")
616616

617617
dataset: Dataset = self._loader.get_dataset_for_venue(command.instrument_id.venue)
618618
live_client = self._get_live_client(dataset)
@@ -636,7 +636,7 @@ async def _subscribe_trade_ticks(self, command: SubscribeTradeTicks) -> None:
636636

637637
await self._ensure_subscribed_for_instrument(command.instrument_id)
638638

639-
start: int | None = command.params.get("start") if command.params else None
639+
start = command.params.get("start")
640640

641641
dataset: Dataset = self._loader.get_dataset_for_venue(command.instrument_id.venue)
642642
live_client = self._get_live_client(dataset)
@@ -661,7 +661,7 @@ async def _subscribe_bars(self, command: SubscribeBars) -> None:
661661
self._log.error(f"Cannot subscribe: {e}")
662662
return
663663

664-
start: int | None = command.params.get("start") if command.params else None
664+
start = command.params.get("start")
665665

666666
live_client = self._get_live_client(dataset)
667667
live_client.subscribe(
@@ -893,21 +893,22 @@ async def _request_instruments(self, request: RequestInstruments) -> None:
893893
LogColor.BLUE,
894894
)
895895

896-
use_exchange_as_venue = request.params is not None and request.params.get(
897-
"use_exchange_as_venue",
898-
False,
899-
)
896+
use_exchange_as_venue = request.params.get("use_exchange_as_venue", False)
897+
898+
instrument_ids = request.params.get("instrument_ids") or [
899+
InstrumentId.from_str(f"{ALL_SYMBOLS}.{request.venue}"),
900+
]
901+
pyo3_instrument_ids = [
902+
instrument_id_to_pyo3(instrument_id) for instrument_id in instrument_ids
903+
]
900904

901905
pyo3_instruments = await self._http_client.get_range_instruments(
902906
dataset=dataset,
903-
instrument_ids=[
904-
instrument_id_to_pyo3(InstrumentId.from_str(f"{ALL_SYMBOLS}.{request.venue}")),
905-
],
907+
instrument_ids=pyo3_instrument_ids,
906908
start=start.value,
907909
end=end.value,
908910
use_exchange_as_venue=use_exchange_as_venue,
909911
)
910-
911912
instruments = instruments_from_pyo3(pyo3_instruments)
912913

913914
self._handle_instruments(instruments, request.venue, request.id, request.params)
@@ -929,8 +930,8 @@ async def _request_quote_ticks(self, request: RequestQuoteTicks) -> None:
929930
LogColor.BLUE,
930931
)
931932

932-
schema: str | None = request.params.get("schema") if request.params else None
933933
# allowed schema values: mbp-1, bbo-1s, bbo-1m
934+
schema = request.params.get("schema")
934935
if schema is None or schema not in [
935936
DatabentoSchema.MBP_1.value,
936937
DatabentoSchema.BBO_1S.value,

0 commit comments

Comments
 (0)