rust_okx/api/account/responses/
risk.rs1use serde::Deserialize;
2
3use crate::model::NumberString;
4
5#[derive(Debug, Clone, Deserialize)]
7#[serde(rename_all = "camelCase")]
8#[non_exhaustive]
9pub struct RiskState {
10 #[serde(default)]
12 pub at_risk: String,
13 #[serde(default)]
15 pub ts: NumberString,
16}
17
18#[derive(Debug, Clone, Deserialize)]
20#[serde(rename_all = "camelCase")]
21#[non_exhaustive]
22pub struct SimulatedMargin {
23 #[serde(default)]
25 pub imr: NumberString,
26 #[serde(default)]
28 pub mmr: NumberString,
29 #[serde(default)]
31 pub mr: NumberString,
32 #[serde(default)]
34 pub notional_usd: NumberString,
35 #[serde(default)]
37 pub details: Vec<SimulatedMarginDetail>,
38}
39
40#[derive(Debug, Clone, Deserialize)]
42#[serde(rename_all = "camelCase")]
43#[non_exhaustive]
44pub struct SimulatedMarginDetail {
45 #[serde(default)]
47 pub inst_id: String,
48 #[serde(default)]
50 pub pos: NumberString,
51 #[serde(default)]
53 pub imr: NumberString,
54 #[serde(default)]
56 pub mmr: NumberString,
57 #[serde(default)]
59 pub upl: NumberString,
60}
61
62#[derive(Debug, Clone, Deserialize)]
64#[serde(rename_all = "camelCase")]
65#[non_exhaustive]
66pub struct Greek {
67 #[serde(default)]
69 pub ccy: String,
70 #[serde(rename = "deltaBS", default)]
72 pub delta_bs: NumberString,
73 #[serde(rename = "deltaPA", default)]
75 pub delta_pa: NumberString,
76 #[serde(rename = "gammaBS", default)]
78 pub gamma_bs: NumberString,
79 #[serde(rename = "thetaBS", default)]
81 pub theta_bs: NumberString,
82 #[serde(rename = "vegaBS", default)]
84 pub vega_bs: NumberString,
85}
86
87#[derive(Debug, Clone, Deserialize)]
89#[serde(rename_all = "camelCase")]
90#[non_exhaustive]
91pub struct AccountPositionTier {
92 #[serde(default)]
94 pub inst_type: String,
95 #[serde(default)]
97 pub uly: String,
98 #[serde(default)]
100 pub inst_family: String,
101 #[serde(default)]
103 pub pos_type: String,
104 #[serde(default)]
106 pub min_sz: NumberString,
107 #[serde(default)]
109 pub max_sz: NumberString,
110}
111
112#[derive(Debug, Clone, Deserialize)]
114#[serde(rename_all = "camelCase")]
115#[non_exhaustive]
116pub struct PositionBuilderResult {
117 #[serde(default)]
119 pub acct_lv: String,
120 #[serde(default)]
122 pub adj_eq: NumberString,
123 #[serde(default)]
125 pub imr: NumberString,
126 #[serde(default)]
128 pub mmr: NumberString,
129 #[serde(default)]
131 pub mr: NumberString,
132 #[serde(default)]
134 pub pos_data: Vec<PositionBuilderPosition>,
135 #[serde(default)]
137 pub asset_data: Vec<PositionBuilderAsset>,
138}
139
140#[derive(Debug, Clone, Deserialize)]
142#[serde(rename_all = "camelCase")]
143#[non_exhaustive]
144pub struct PositionBuilderPosition {
145 #[serde(default)]
147 pub inst_type: String,
148 #[serde(default)]
150 pub inst_id: String,
151 #[serde(default)]
153 pub pos: NumberString,
154 #[serde(default)]
156 pub avg_px: NumberString,
157 #[serde(default)]
159 pub upl: NumberString,
160}
161
162#[derive(Debug, Clone, Deserialize)]
164#[serde(rename_all = "camelCase")]
165#[non_exhaustive]
166pub struct PositionBuilderAsset {
167 #[serde(default)]
169 pub ccy: String,
170 #[serde(default)]
172 pub eq: NumberString,
173}