#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EtfPricing {
#[prost(oneof="etf_pricing::Method", tags="1, 2, 3, 4, 5")]
pub method: ::core::option::Option<etf_pricing::Method>,
}
pub mod etf_pricing {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Method {
#[prost(message, tag="1")]
PdfNavHedge(super::PdfNavHedgePricing),
#[prost(message, tag="2")]
IndexTrackingHedge(super::IndexTrackingHedgePricing),
#[prost(message, tag="3")]
FutureBasis(super::FutureBasis),
#[prost(message, tag="4")]
LeverageFuture(super::LeverageFuturePricing),
#[prost(message, tag="5")]
PdfDecomposeHedge(super::PdfDecomposeHedgePricing),
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PdfNavHedgePricing {
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct IndexTrackingHedgePricing {
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FutureBasis {
#[prost(string, tag="1")]
pub prev_index: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeverageFuturePricing {
#[prost(double, tag="1")]
pub prev_index: f64,
#[prost(double, tag="2")]
pub prev_future: f64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PdfDecomposeHedgePricing {
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum OrderSide {
Unspecified = 0,
Bid = 1,
Ask = 2,
}
impl OrderSide {
pub fn as_str_name(&self) -> &'static str {
match self {
OrderSide::Unspecified => "ORDER_SIDE_UNSPECIFIED",
OrderSide::Bid => "ORDER_SIDE_BID",
OrderSide::Ask => "ORDER_SIDE_ASK",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ORDER_SIDE_UNSPECIFIED" => Some(Self::Unspecified),
"ORDER_SIDE_BID" => Some(Self::Bid),
"ORDER_SIDE_ASK" => Some(Self::Ask),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MarketType {
Unspecified = 0,
Kospi = 1,
Kosdaq = 2,
Derivative = 3,
}
impl MarketType {
pub fn as_str_name(&self) -> &'static str {
match self {
MarketType::Unspecified => "MARKET_TYPE_UNSPECIFIED",
MarketType::Kospi => "MARKET_TYPE_KOSPI",
MarketType::Kosdaq => "MARKET_TYPE_KOSDAQ",
MarketType::Derivative => "MARKET_TYPE_DERIVATIVE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MARKET_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"MARKET_TYPE_KOSPI" => Some(Self::Kospi),
"MARKET_TYPE_KOSDAQ" => Some(Self::Kosdaq),
"MARKET_TYPE_DERIVATIVE" => Some(Self::Derivative),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ProductType {
Unspecified = 0,
Stock = 1,
Futures = 2,
Etf = 3,
Cash = 4,
}
impl ProductType {
pub fn as_str_name(&self) -> &'static str {
match self {
ProductType::Unspecified => "PRODUCT_TYPE_UNSPECIFIED",
ProductType::Stock => "PRODUCT_TYPE_STOCK",
ProductType::Futures => "PRODUCT_TYPE_FUTURES",
ProductType::Etf => "PRODUCT_TYPE_ETF",
ProductType::Cash => "PRODUCT_TYPE_CASH",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PRODUCT_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"PRODUCT_TYPE_STOCK" => Some(Self::Stock),
"PRODUCT_TYPE_FUTURES" => Some(Self::Futures),
"PRODUCT_TYPE_ETF" => Some(Self::Etf),
"PRODUCT_TYPE_CASH" => Some(Self::Cash),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TradingSession {
Unspecified = 0,
PreMarket = 1,
OpeningAuction = 2,
Regular = 3,
ClosingAuction = 4,
Closed = 5,
}
impl TradingSession {
pub fn as_str_name(&self) -> &'static str {
match self {
TradingSession::Unspecified => "TRADING_SESSION_UNSPECIFIED",
TradingSession::PreMarket => "TRADING_SESSION_PRE_MARKET",
TradingSession::OpeningAuction => "TRADING_SESSION_OPENING_AUCTION",
TradingSession::Regular => "TRADING_SESSION_REGULAR",
TradingSession::ClosingAuction => "TRADING_SESSION_CLOSING_AUCTION",
TradingSession::Closed => "TRADING_SESSION_CLOSED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"TRADING_SESSION_UNSPECIFIED" => Some(Self::Unspecified),
"TRADING_SESSION_PRE_MARKET" => Some(Self::PreMarket),
"TRADING_SESSION_OPENING_AUCTION" => Some(Self::OpeningAuction),
"TRADING_SESSION_REGULAR" => Some(Self::Regular),
"TRADING_SESSION_CLOSING_AUCTION" => Some(Self::ClosingAuction),
"TRADING_SESSION_CLOSED" => Some(Self::Closed),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum OrderConditionType {
Unspecified = 0,
Fas = 1,
Fak = 2,
Fok = 3,
}
impl OrderConditionType {
pub fn as_str_name(&self) -> &'static str {
match self {
OrderConditionType::Unspecified => "ORDER_CONDITION_TYPE_UNSPECIFIED",
OrderConditionType::Fas => "ORDER_CONDITION_TYPE_FAS",
OrderConditionType::Fak => "ORDER_CONDITION_TYPE_FAK",
OrderConditionType::Fok => "ORDER_CONDITION_TYPE_FOK",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ORDER_CONDITION_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"ORDER_CONDITION_TYPE_FAS" => Some(Self::Fas),
"ORDER_CONDITION_TYPE_FAK" => Some(Self::Fak),
"ORDER_CONDITION_TYPE_FOK" => Some(Self::Fok),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AmendMethodType {
Unspecified = 0,
Aggressive = 1,
Evasive = 2,
BestPrice = 3,
StopLoss = 4,
TimedMarket = 5,
TickAdvance100ms = 6,
TickAdvance500ms = 7,
TickAdvance1s = 8,
SpreadFollow = 9,
}
impl AmendMethodType {
pub fn as_str_name(&self) -> &'static str {
match self {
AmendMethodType::Unspecified => "AMEND_METHOD_TYPE_UNSPECIFIED",
AmendMethodType::Aggressive => "AMEND_METHOD_TYPE_AGGRESSIVE",
AmendMethodType::Evasive => "AMEND_METHOD_TYPE_EVASIVE",
AmendMethodType::BestPrice => "AMEND_METHOD_TYPE_BEST_PRICE",
AmendMethodType::StopLoss => "AMEND_METHOD_TYPE_STOP_LOSS",
AmendMethodType::TimedMarket => "AMEND_METHOD_TYPE_TIMED_MARKET",
AmendMethodType::TickAdvance100ms => "AMEND_METHOD_TYPE_TICK_ADVANCE_100MS",
AmendMethodType::TickAdvance500ms => "AMEND_METHOD_TYPE_TICK_ADVANCE_500MS",
AmendMethodType::TickAdvance1s => "AMEND_METHOD_TYPE_TICK_ADVANCE_1S",
AmendMethodType::SpreadFollow => "AMEND_METHOD_TYPE_SPREAD_FOLLOW",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"AMEND_METHOD_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"AMEND_METHOD_TYPE_AGGRESSIVE" => Some(Self::Aggressive),
"AMEND_METHOD_TYPE_EVASIVE" => Some(Self::Evasive),
"AMEND_METHOD_TYPE_BEST_PRICE" => Some(Self::BestPrice),
"AMEND_METHOD_TYPE_STOP_LOSS" => Some(Self::StopLoss),
"AMEND_METHOD_TYPE_TIMED_MARKET" => Some(Self::TimedMarket),
"AMEND_METHOD_TYPE_TICK_ADVANCE_100MS" => Some(Self::TickAdvance100ms),
"AMEND_METHOD_TYPE_TICK_ADVANCE_500MS" => Some(Self::TickAdvance500ms),
"AMEND_METHOD_TYPE_TICK_ADVANCE_1S" => Some(Self::TickAdvance1s),
"AMEND_METHOD_TYPE_SPREAD_FOLLOW" => Some(Self::SpreadFollow),
_ => None,
}
}
}
include!("kdo.v1.common.serde.rs");