tinkoff_api/models/
portfolio_position.rs1#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
15pub struct PortfolioPosition {
16 #[serde(rename = "figi")]
17 pub figi: String,
18 #[serde(rename = "ticker", skip_serializing_if = "Option::is_none")]
19 pub ticker: Option<String>,
20 #[serde(rename = "isin", skip_serializing_if = "Option::is_none")]
21 pub isin: Option<String>,
22 #[serde(rename = "instrumentType")]
23 pub instrument_type: crate::models::InstrumentType,
24 #[serde(rename = "balance")]
25 pub balance: f64,
26 #[serde(rename = "blocked", skip_serializing_if = "Option::is_none")]
27 pub blocked: Option<f64>,
28 #[serde(rename = "expectedYield", skip_serializing_if = "Option::is_none")]
29 pub expected_yield: Option<crate::models::MoneyAmount>,
30 #[serde(rename = "lots")]
31 pub lots: i32,
32 #[serde(rename = "averagePositionPrice", skip_serializing_if = "Option::is_none")]
33 pub average_position_price: Option<crate::models::MoneyAmount>,
34 #[serde(rename = "averagePositionPriceNoNkd", skip_serializing_if = "Option::is_none")]
35 pub average_position_price_no_nkd: Option<crate::models::MoneyAmount>,
36 #[serde(rename = "name")]
37 pub name: String,
38}
39
40impl PortfolioPosition {
41 pub fn new(figi: String, instrument_type: crate::models::InstrumentType, balance: f64, lots: i32, name: String) -> PortfolioPosition {
42 PortfolioPosition {
43 figi,
44 ticker: None,
45 isin: None,
46 instrument_type,
47 balance,
48 blocked: None,
49 expected_yield: None,
50 lots,
51 average_position_price: None,
52 average_position_price_no_nkd: None,
53 name,
54 }
55 }
56}
57
58