#[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 SessionId {
Unspecified = 0,
Previous = 1,
Connected = 2,
OpeningOnePrice = 3,
OnePrice = 4,
ClosingOnePrice = 5,
ViOnePrice = 6,
ViOpeningOnePrice = 7,
ViClosingOnePrice = 8,
UnitTrade = 9,
PostMarket = 10,
AuctionBid = 11,
AuctionAsk = 12,
Suspended = 13,
Shutdown = 14,
Closed = 15,
Etc = 16,
}
impl SessionId {
pub fn as_str_name(&self) -> &'static str {
match self {
SessionId::Unspecified => "SESSION_ID_UNSPECIFIED",
SessionId::Previous => "PREVIOUS",
SessionId::Connected => "CONNECTED",
SessionId::OpeningOnePrice => "OPENING_ONE_PRICE",
SessionId::OnePrice => "ONE_PRICE",
SessionId::ClosingOnePrice => "CLOSING_ONE_PRICE",
SessionId::ViOnePrice => "VI_ONE_PRICE",
SessionId::ViOpeningOnePrice => "VI_OPENING_ONE_PRICE",
SessionId::ViClosingOnePrice => "VI_CLOSING_ONE_PRICE",
SessionId::UnitTrade => "UNIT_TRADE",
SessionId::PostMarket => "POST_MARKET",
SessionId::AuctionBid => "AUCTION_BID",
SessionId::AuctionAsk => "AUCTION_ASK",
SessionId::Suspended => "SUSPENDED",
SessionId::Shutdown => "SHUTDOWN",
SessionId::Closed => "CLOSED",
SessionId::Etc => "ETC",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SESSION_ID_UNSPECIFIED" => Some(Self::Unspecified),
"PREVIOUS" => Some(Self::Previous),
"CONNECTED" => Some(Self::Connected),
"OPENING_ONE_PRICE" => Some(Self::OpeningOnePrice),
"ONE_PRICE" => Some(Self::OnePrice),
"CLOSING_ONE_PRICE" => Some(Self::ClosingOnePrice),
"VI_ONE_PRICE" => Some(Self::ViOnePrice),
"VI_OPENING_ONE_PRICE" => Some(Self::ViOpeningOnePrice),
"VI_CLOSING_ONE_PRICE" => Some(Self::ViClosingOnePrice),
"UNIT_TRADE" => Some(Self::UnitTrade),
"POST_MARKET" => Some(Self::PostMarket),
"AUCTION_BID" => Some(Self::AuctionBid),
"AUCTION_ASK" => Some(Self::AuctionAsk),
"SUSPENDED" => Some(Self::Suspended),
"SHUTDOWN" => Some(Self::Shutdown),
"CLOSED" => Some(Self::Closed),
"ETC" => Some(Self::Etc),
_ => 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");