finance-query 3.0.0

A Rust library for querying financial data
Documentation
// @generated by `cargo soothfast docs gen-tests`
// source: docs/library/dataframe.md line 701
#[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::OneMonth).await?;
        let df = chart.to_dataframe()?;

        // Calculate daily price range as percentage
        let range_pct = df
            .lazy()
            .select([
                col("timestamp"),
                ((col("high") - col("low")) / col("close") * lit(100.0)).alias("range_pct"),
            ])
            .collect()?;

        // Find days with highest volatility
        let volatile_days = range_pct
            .sort(
                ["range_pct"],
                SortMultipleOptions::default().with_order_descending(true),
            )?
            .head(Some(10));

        println!("Most volatile days:\n{}", volatile_days);
        Ok(())
    }
}
#[cfg(feature = "dataframe")]
pub use soothfast_capture_body::main;

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