#![allow(unused)]
#[rustfmt::skip]
#[allow(dead_code)]
fn doc_block_line_12() {
use finance_query::{Interval, Providers, TimeRange};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let providers = Providers::builder().build().await?;
let gold = providers.commodity("GC=F");
let quote = gold.quote().await?;
let chart = gold.chart(Interval::OneDay, TimeRange::OneMonth).await?;
let history = gold.history(TimeRange::OneMonth).await?;
println!("{}: {:?} ({} candles)", quote.symbol, quote.price, chart.candles.len() + history.candles.len());
Ok(())
}
}
#[cfg(feature = "fmp")]
#[rustfmt::skip]
#[allow(dead_code)]
fn doc_block_line_44() {
use finance_query::{Capability, Provider, Providers};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let providers = Providers::builder()
.route(Capability::COMMODITIES, [Provider::Fmp, Provider::Yahoo])
.build()
.await?;
let gold = providers.commodity("GCUSD");
let quote = gold.quote().await?;
println!("Symbol: {}", quote.symbol);
if let Some(price) = quote.price {
println!("Price: {:.2}", price);
}
Ok(())
}
}
#[rustfmt::skip]
#[allow(dead_code)]
fn doc_block_line_71() {
use finance_query::Providers;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let providers = Providers::builder().build().await?;
let gold = providers.commodity("GC=F");
let quote = gold.quote().await?;
println!("Symbol: {}", quote.symbol);
if let Some(name) = "e.name {
println!("Name: {}", name);
}
if let Some(price) = quote.price {
println!("Price: {:.2}", price);
}
if let (Some(change), Some(pct)) = (quote.change, quote.change_percent) {
println!("Change: {:+.2} ({:+.2}%)", change, pct);
}
Ok(())
}
}
#[rustfmt::skip]
#[allow(dead_code)]
fn doc_block_line_98() {
use finance_query::{Interval, Providers, TimeRange};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let providers = Providers::builder().build().await?;
let crude = providers.commodity("CL=F");
let chart = crude.chart(Interval::OneDay, TimeRange::ThreeMonths).await?;
println!("Symbol: {}", chart.symbol);
println!("Candles: {}", chart.candles.len());
for candle in chart.candles.iter().take(3) {
println!(" t={} o={:.2} h={:.2} l={:.2} c={:.2}",
candle.timestamp, candle.open, candle.high, candle.low, candle.close);
}
Ok(())
}
}
#[rustfmt::skip]
#[allow(dead_code)]
fn doc_block_line_122() {
use finance_query::{Providers, TimeRange};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let providers = Providers::builder().build().await?;
let silver = providers.commodity("SI=F");
let history = silver.history(TimeRange::SixMonths).await?;
println!("Symbol: {}", history.symbol);
println!("Candles: {}", history.candles.len());
Ok(())
}
}
#[cfg(feature = "risk")]
#[rustfmt::skip]
#[allow(dead_code)]
fn doc_block_line_142() {
use finance_query::indicators::Indicator;
use finance_query::{Interval, Providers, TimeRange};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let providers = Providers::builder().build().await?;
let gold = providers.commodity("GC=F");
let summary = gold.indicators(Interval::OneDay, TimeRange::ThreeMonths).await?;
if let Some(rsi) = summary.rsi_14 {
println!("RSI(14): {:.2}", rsi);
}
let rsi_21 = gold
.indicator(Indicator::Rsi(21), Interval::OneDay, TimeRange::ThreeMonths)
.await?;
let risk = gold.risk(Interval::OneDay, TimeRange::OneYear).await?;
println!("VaR 95%: {:.2}%", risk.var_95 * 100.0);
println!("Max Drawdown: {:.2}%", risk.max_drawdown * 100.0);
Ok(())
}
}