finance-query 3.3.0

A Rust library for querying financial data
Documentation
// @generated by `cargo soothfast docs gen-tests`
// source: docs/library/dataframe.md line 314
#[cfg(feature = "dataframe")]
mod soothfast_capture_body {
    use finance_query::{Interval, Ticker, TimeRange};
    use polars::prelude::*;

    #[tokio::main]
    pub async fn main() -> Result<(), Box<dyn std::error::Error>> {
        let ticker = Ticker::new("AAPL").await?;
        let chart = ticker.chart(Interval::OneDay, TimeRange::SixMonths).await?;
        let df = chart.to_dataframe()?;

        // Average close, max high, min low in one pass
        let stats = df
            .lazy()
            .select([
                col("close").mean().alias("avg_close"),
                col("high").max().alias("max_high"),
                col("low").min().alias("min_low"),
            ])
            .collect()?;

        let avg_close: f64 = stats.column("avg_close")?.f64()?.get(0).unwrap();
        let max_high: f64 = stats.column("max_high")?.f64()?.get(0).unwrap();
        let min_low: f64 = stats.column("min_low")?.f64()?.get(0).unwrap();
        println!("Average close: ${:.2}", avg_close);
        println!("Range: ${:.2} - ${:.2}", min_low, max_high);
        Ok(())
    }
}
#[cfg(feature = "dataframe")]
pub use soothfast_capture_body::main;

#[cfg(not(feature = "dataframe"))]
fn main() {}