1#[allow(clippy::derive_partial_eq_without_eq)]
5#[derive(Clone, PartialEq, ::prost::Message)]
6pub struct Fund {
7 #[prost(string, tag="1")]
9 pub code: ::prost::alloc::string::String,
10 #[prost(string, tag="2")]
12 pub name: ::prost::alloc::string::String,
13 #[prost(string, tag="3")]
15 pub category_code: ::prost::alloc::string::String,
16 #[prost(string, tag="4")]
18 pub employee_number: ::prost::alloc::string::String,
19 #[prost(string, tag="5")]
21 pub employee_name: ::prost::alloc::string::String,
22 #[prost(string, tag="6")]
24 pub limit_amount: ::prost::alloc::string::String,
25 #[prost(string, tag="7")]
27 pub department_code: ::prost::alloc::string::String,
28 #[prost(string, tag="8")]
30 pub trade_code: ::prost::alloc::string::String,
31 #[prost(string, tag="9")]
33 pub part_code: ::prost::alloc::string::String,
34 #[prost(string, tag="12")]
36 pub part_name: ::prost::alloc::string::String,
37 #[prost(string, tag="13")]
39 pub product_deal_code: ::prost::alloc::string::String,
40 #[prost(string, tag="14")]
42 pub add_up_position: ::prost::alloc::string::String,
43 #[prost(string, tag="15")]
45 pub trading_system_code: ::prost::alloc::string::String,
46 #[prost(string, tag="16")]
48 pub unique_trading_unit_code: ::prost::alloc::string::String,
49 #[prost(string, tag="17")]
51 pub unique_trading_unit_part_code: ::prost::alloc::string::String,
52 #[prost(int64, tag="18")]
54 pub unique_trading_unit_serial_number: i64,
55 #[prost(bool, tag="19")]
57 pub add_up_unique_trading_unit: bool,
58 #[prost(string, tag="20")]
60 pub short_selling_id: ::prost::alloc::string::String,
61 #[prost(message, optional, tag="21")]
63 pub pnl: ::core::option::Option<FundPnL>,
64 #[prost(message, optional, tag="22")]
66 pub positions: ::core::option::Option<FundPosition>,
67}
68#[allow(clippy::derive_partial_eq_without_eq)]
70#[derive(Clone, PartialEq, ::prost::Message)]
71pub struct FundPnL {
72 #[prost(message, repeated, tag="1")]
74 pub symbols: ::prost::alloc::vec::Vec<SymbolPnL>,
75 #[prost(int64, tag="2")]
77 pub daily_pnl: i64,
78}
79#[allow(clippy::derive_partial_eq_without_eq)]
81#[derive(Clone, PartialEq, ::prost::Message)]
82pub struct SymbolPnL {
83 #[prost(string, tag="1")]
85 pub symbol: ::prost::alloc::string::String,
86 #[prost(double, tag="2")]
88 pub average_buy_price: f64,
89 #[prost(int64, tag="3")]
91 pub quantity: i64,
92 #[prost(int64, tag="4")]
94 pub realized_pnl: i64,
95 #[prost(int64, tag="5")]
97 pub trading_cost: i64,
98}
99#[allow(clippy::derive_partial_eq_without_eq)]
101#[derive(Clone, PartialEq, ::prost::Message)]
102pub struct FundPosition {
103 #[prost(map="string, int64", tag="1")]
105 pub symbols: ::std::collections::HashMap<::prost::alloc::string::String, i64>,
106}
107#[allow(clippy::derive_partial_eq_without_eq)]
109#[derive(Clone, PartialEq, ::prost::Message)]
110pub struct PositionExposure {
111 #[prost(string, tag="1")]
113 pub symbol: ::prost::alloc::string::String,
114 #[prost(int64, tag="2")]
116 pub quantity: i64,
117 #[prost(int64, tag="3")]
119 pub last_updated_at: i64,
120}
121#[allow(clippy::derive_partial_eq_without_eq)]
122#[derive(Clone, PartialEq, ::prost::Message)]
123pub struct FundLimit {
124 #[prost(string, tag="1")]
125 pub fund: ::prost::alloc::string::String,
126 #[prost(enumeration="FundLimitType", tag="2")]
128 pub limit_type: i32,
129 #[prost(int64, tag="3")]
131 pub long_limit_quantity: i64,
132 #[prost(int64, tag="4")]
134 pub long_limit_amount: i64,
135 #[prost(int64, tag="5")]
137 pub short_limit_quantity: i64,
138 #[prost(int64, tag="6")]
140 pub short_limit_amount: i64,
141 #[prost(int64, tag="7")]
143 pub limit_quantity_per_order: i64,
144 #[prost(int64, tag="8")]
146 pub limit_amount_per_order: i64,
147 #[prost(int64, tag="9")]
149 pub tick_limit: i64,
150 #[prost(int64, tag="10")]
152 pub unfilled_limit: i64,
153 #[prost(int64, tag="11")]
155 pub spread_limit_quantity_per_order: i64,
156 #[prost(int64, tag="12")]
158 pub current_long_quantity: i64,
159 #[prost(int64, tag="13")]
161 pub current_long_amount: i64,
162 #[prost(int64, tag="14")]
164 pub current_short_quantity: i64,
165 #[prost(int64, tag="15")]
167 pub current_short_amount: i64,
168 #[prost(int64, tag="16")]
170 pub current_unfilled: i64,
171}
172#[allow(clippy::derive_partial_eq_without_eq)]
176#[derive(Clone, PartialEq, ::prost::Message)]
177pub struct GetFundRequest {
178 #[prost(string, tag="1")]
180 pub fund: ::prost::alloc::string::String,
181}
182#[allow(clippy::derive_partial_eq_without_eq)]
184#[derive(Clone, PartialEq, ::prost::Message)]
185pub struct ListFundsRequest {
186 #[prost(uint32, optional, tag="1")]
188 pub page_size: ::core::option::Option<u32>,
189 #[prost(string, optional, tag="2")]
191 pub page_token: ::core::option::Option<::prost::alloc::string::String>,
192 #[prost(string, tag="3")]
202 pub filter: ::prost::alloc::string::String,
203}
204#[allow(clippy::derive_partial_eq_without_eq)]
206#[derive(Clone, PartialEq, ::prost::Message)]
207pub struct ListFundsResponse {
208 #[prost(message, repeated, tag="1")]
210 pub funds: ::prost::alloc::vec::Vec<Fund>,
211 #[prost(string, tag="2")]
213 pub next_page_token: ::prost::alloc::string::String,
214}
215#[allow(clippy::derive_partial_eq_without_eq)]
216#[derive(Clone, PartialEq, ::prost::Message)]
217pub struct ListFundLimitsRequest {
218 #[prost(string, tag="1")]
220 pub fund: ::prost::alloc::string::String,
221 #[prost(string, tag="2")]
228 pub filter: ::prost::alloc::string::String,
229}
230#[allow(clippy::derive_partial_eq_without_eq)]
231#[derive(Clone, PartialEq, ::prost::Message)]
232pub struct ListFundLimitsResponse {
233 #[prost(message, repeated, tag="1")]
235 pub fund_limits: ::prost::alloc::vec::Vec<FundLimit>,
236 #[prost(string, tag="2")]
238 pub next_page_token: ::prost::alloc::string::String,
239}
240#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
241#[repr(i32)]
242pub enum FundLimitType {
243 FundLimitUnspecified = 0,
244 Kospi200Future = 1,
245 Stock = 2,
246}
247impl FundLimitType {
248 pub fn as_str_name(&self) -> &'static str {
253 match self {
254 FundLimitType::FundLimitUnspecified => "FUND_LIMIT_UNSPECIFIED",
255 FundLimitType::Kospi200Future => "KOSPI_200_Future",
256 FundLimitType::Stock => "STOCK",
257 }
258 }
259 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
261 match value {
262 "FUND_LIMIT_UNSPECIFIED" => Some(Self::FundLimitUnspecified),
263 "KOSPI_200_Future" => Some(Self::Kospi200Future),
264 "STOCK" => Some(Self::Stock),
265 _ => None,
266 }
267 }
268}
269include!("kdo.v1.fund.tonic.rs");
270include!("kdo.v1.fund.serde.rs");
271