| Crates.io | financial_symbols |
| lib.rs | financial_symbols |
| version | 1.0.3 |
| created_at | 2023-11-27 15:44:46.535182+00 |
| updated_at | 2025-03-14 18:35:17.360693+00 |
| description | Stock symbols & option contracts structs which implement the Copy trait |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1050609 |
| size | 45,819 |
Stock symbols & option contract symbols which implement the copy trait.
use financial_symbols::{OptionContract, OptionType, Ticker};
use rust_decimal::Decimal;
use chrono::NaiveDate;
use std::str::FromStr;
let ticker = Ticker::try_from("AAPL").unwrap();
let ticker_copy = ticker;
assert_eq!(ticker, ticker_copy);
assert_eq!(ticker, "AAPL");
let contract = OptionContract::from_osi("SPXW231127C03850000").unwrap();
let contract_copy = contract;
assert_eq!(contract, contract_copy);
assert_eq!(contract.ticker(), "SPXW");
assert_eq!(contract.option_type(), OptionType::Call);
assert_eq!(contract.expiry(), NaiveDate::from_str("2023-11-27").unwrap());
assert_eq!(contract.strike(), Decimal::from(3850));
let contract = OptionContract::from_dx_feed(".SPXW231127C3850").unwrap();
assert_eq!(contract.to_osi(), "SPXW231127C03850000");
Tested on Apple M1 Pro 16GB Ram
from_osi SPXW231124P04060000
time: [10.557 ns 10.582 ns 10.629 ns]
from_osi TSLA240119C00066670
time: [10.559 ns 10.595 ns 10.667 ns]
from_osi A231215C00055000
time: [9.7667 ns 9.7743 ns 9.7830 ns]