Skip to main content

qs_instruments/
binding.rs

1use serde::{Deserialize, Serialize};
2
3use crate::{
4    EffectiveInterval, ExecutionVenueId, MarketDataSourceId, ResolvedInstrumentRef,
5    TradingPlatformId,
6};
7
8/// Binds an existing stored series namespace to one resolved instrument.
9#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
10#[serde(deny_unknown_fields)]
11pub struct StoredSeriesBinding {
12    pub data_source: MarketDataSourceId,
13    pub source_partition: String,
14    pub source_symbol: String,
15    pub instrument: ResolvedInstrumentRef,
16    pub effective: EffectiveInterval,
17}
18
19/// Binds a broker execution context and trading platform identifier to one instrument.
20#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
21#[serde(deny_unknown_fields)]
22pub struct PlatformInstrumentBinding {
23    pub execution_venue: ExecutionVenueId,
24    pub platform: TradingPlatformId,
25    pub platform_instrument_id: String,
26    pub instrument: ResolvedInstrumentRef,
27    pub effective: EffectiveInterval,
28}