pub struct SecurityInfo {Show 41 fields
pub asset_category: Option<AssetCategory>,
pub symbol: Option<String>,
pub description: Option<String>,
pub conid: Option<String>,
pub security_id: Option<String>,
pub security_id_type: Option<SecurityIdType>,
pub cusip: Option<String>,
pub isin: Option<String>,
pub figi: Option<String>,
pub sedol: Option<String>,
pub multiplier: Option<Decimal>,
pub strike: Option<Decimal>,
pub expiry: Option<NaiveDate>,
pub put_call: Option<PutCall>,
pub underlying_conid: Option<String>,
pub underlying_symbol: Option<String>,
pub maturity: Option<NaiveDate>,
pub principal_adjust_factor: Option<Decimal>,
pub currency: Option<String>,
pub listing_exchange: Option<String>,
pub underlying_security_id: Option<String>,
pub underlying_listing_exchange: Option<String>,
pub issuer: Option<String>,
pub issuer_country_code: Option<String>,
pub sub_category: Option<SubCategory>,
pub delivery_month: Option<String>,
pub serial_number: Option<String>,
pub delivery_type: Option<String>,
pub commodity_type: Option<String>,
pub fineness: Option<Decimal>,
pub weight: Option<String>,
pub code: Option<String>,
pub underlying_category: Option<String>,
pub issue_date: Option<NaiveDate>,
pub type: Option<String>,
pub settlement_policy_method: Option<String>,
pub related_trade_id: Option<String>,
pub orig_transaction_id: Option<String>,
pub related_transaction_id: Option<String>,
pub rtn: Option<String>,
pub initial_investment: Option<bool>,
}Expand description
Security information (reference data)
Provides detailed reference data for securities in the statement. Includes identifiers (CUSIP, ISIN, FIGI), exchange info, and derivative details. Fields are organized into CORE and EXTENDED sections.
§Example
use ib_flex::parse_activity_flex;
use ib_flex::AssetCategory;
let xml = std::fs::read_to_string("activity.xml")?;
let statement = parse_activity_flex(&xml)?;
for security in &statement.securities_info.items {
println!("{:?} ({:?})", security.symbol, security.conid);
// Print description
if let Some(desc) = &security.description {
println!(" Description: {}", desc);
}
// Print identifiers
if let Some(cusip) = &security.cusip {
println!(" CUSIP: {}", cusip);
}
if let Some(isin) = &security.isin {
println!(" ISIN: {}", isin);
}
// Show derivative info for options
if security.asset_category == Some(AssetCategory::Option) {
println!(" Underlying: {:?}", security.underlying_symbol);
println!(" Strike: {:?}", security.strike);
println!(" Expiry: {:?}", security.expiry);
println!(" Type: {:?}", security.put_call);
println!(" Multiplier: {:?}", security.multiplier);
}
}Fields§
§asset_category: Option<AssetCategory>Asset category
symbol: Option<String>Ticker symbol
description: Option<String>Security description
conid: Option<String>IB contract ID
security_id: Option<String>Security ID
security_id_type: Option<SecurityIdType>Security ID type
cusip: Option<String>CUSIP
isin: Option<String>ISIN
figi: Option<String>FIGI
sedol: Option<String>SEDOL
multiplier: Option<Decimal>Multiplier
strike: Option<Decimal>Strike (for options)
expiry: Option<NaiveDate>Expiry (for options/futures)
put_call: Option<PutCall>Put or Call
underlying_conid: Option<String>Underlying contract ID
underlying_symbol: Option<String>Underlying symbol
maturity: Option<NaiveDate>Maturity date (for bonds)
principal_adjust_factor: Option<Decimal>Principal adjustment factor
currency: Option<String>Currency
listing_exchange: Option<String>Listing exchange
underlying_security_id: Option<String>Underlying security ID
underlying_listing_exchange: Option<String>Underlying listing exchange
issuer: Option<String>Issuer
issuer_country_code: Option<String>Issuer country code
sub_category: Option<SubCategory>Sub-category
delivery_month: Option<String>Delivery month (for futures)
serial_number: Option<String>Serial number
delivery_type: Option<String>Delivery type
commodity_type: Option<String>Commodity type
fineness: Option<Decimal>Fineness (for precious metals)
weight: Option<String>Weight
code: Option<String>Code
underlying_category: Option<String>underlyingCategory (added for full ibflex coverage)
issue_date: Option<NaiveDate>issueDate (added for full ibflex coverage)
type: Option<String>type (added for full ibflex coverage)
settlement_policy_method: Option<String>settlementPolicyMethod (added for full ibflex coverage)
relatedTradeID (added for full ibflex coverage)
orig_transaction_id: Option<String>origTransactionID (added for full ibflex coverage)
relatedTransactionID (added for full ibflex coverage)
rtn: Option<String>rtn (added for full ibflex coverage)
initial_investment: Option<bool>initialInvestment (added for full ibflex coverage)
Trait Implementations§
Source§impl Clone for SecurityInfo
impl Clone for SecurityInfo
Source§fn clone(&self) -> SecurityInfo
fn clone(&self) -> SecurityInfo
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SecurityInfo
impl Debug for SecurityInfo
Source§impl<'de> Deserialize<'de> for SecurityInfo
impl<'de> Deserialize<'de> for SecurityInfo
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for SecurityInfo
impl PartialEq for SecurityInfo
Source§fn eq(&self, other: &SecurityInfo) -> bool
fn eq(&self, other: &SecurityInfo) -> bool
self and other values to be equal, and is used by ==.