use finance_query::{Interval, Tickers, TimeRange};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let tickers = Tickers::new(vec!["AAPL", "MSFT"]).await?;
let response = tickers.spark(Interval::OneDay, TimeRange::FiveDays).await?;
for (symbol, spark) in &response.sparks {
println!("{}: {} data points", symbol, spark.len());
if let Some(change) = spark.percent_change() {
println!(" Change: {:+.2}%", change);
}
if let Some(min) = spark.min_close() {
println!(" Low: ${:.2}", min);
}
if let Some(max) = spark.max_close() {
println!(" High: ${:.2}", max);
}
}
for (symbol, error) in &response.errors {
eprintln!("Failed to fetch spark for {}: {}", symbol, error);
}
Ok(())
}