4 releases (2 breaking)
0.3.0 | Sep 9, 2020 |
---|---|
0.2.0 | Apr 4, 2020 |
0.1.1 | Mar 28, 2020 |
0.1.0 | Mar 28, 2020 |
#228 in Finance
Used in 2 crates
83KB
1.5K
SLoC
Yahoo Finance for Rust
A Rust library for getting financial information from Yahoo!
- Historical OHLCV pricing information
use yahoo_finance::history;
fn main() {
// retrieve 6 months worth of data for Apple
let data = history::retrieve("AAPL").unwrap();
// print the date and closing price for each day we have data
for bar in &data {
println!("On {} Apple closed at ${:.2}", bar.timestamp.format("%b %e %Y"), bar.close)
}
}
- Realtime pricing information
use futures::{ future, StreamExt };
use yahoo_finance::Streamer;
#[tokio::main]
async fn main() {
let mut streamer = Streamer::new(vec!["AAPL", "^DJI", "^IXIC"]);
streamer.stream().await
.for_each(|quote| {
println!("At {}, {} is trading for ${} [{}]", quote.timestamp, quote.symbol, quote.price, quote.volume);
future::ready(())
})
.await;
}
- Symbol profile information
use futures::{ future, StreamExt };
use yahoo_finance::Streamer;
#[tokio::main]
async fn main() {
let mut streamer = Streamer::new(vec!["AAPL", "^DJI", "^IXIC"]);
streamer.stream().await
.for_each(|quote| {
println!("At {}, {} is trading for ${} [{}]", quote.timestamp, quote.symbol, quote.price, quote.volume);
future::ready(())
})
.await;
}
Usage
Add this to your Cargo.toml
:
yahoo-finance = "0.3"
Dependencies
~13–27MB
~414K SLoC