finance-query 3.1.0

A Rust library for querying financial data
Documentation
// @generated by `cargo soothfast docs gen-tests`
// source: docs/library/dataframe.md line 395
#[cfg(feature = "dataframe")]
mod soothfast_capture_body {
    use chrono::DateTime;
    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::OneYear).await?;
        let df = chart.to_dataframe()?;

        // Convert timestamp to datetime
        let dates: Vec<_> = df
            .column("timestamp")?
            .i64()?
            .into_iter()
            .map(|ts| ts.map(|t| DateTime::from_timestamp(t, 0).unwrap()))
            .collect();
        println!("{} rows", dates.len());

        // Filter by date range
        let start_ts = 1704067200i64; // 2024-01-01
        let df_filtered = df
            .lazy()
            .filter(col("timestamp").gt_eq(lit(start_ts)))
            .collect()?;
        println!("Rows since 2024-01-01: {}", df_filtered.height());
        Ok(())
    }
}
#[cfg(feature = "dataframe")]
pub use soothfast_capture_body::main;

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