mirror of
https://github.com/Magnus167/msyrs.git
synced 2025-08-20 14:20:00 +00:00
71 lines
2.2 KiB
Rust
71 lines
2.2 KiB
Rust
use msyrs::download::jpmaqsdownload::{JPMaQSDownload, JPMaQSDownloadGetIndicatorArgs};
|
|
use msyrs::utils::dftools::is_quantamental_dataframe;
|
|
fn main() {
|
|
println!("Authentication to DataQuery API");
|
|
let mut jpamqs_download = JPMaQSDownload::default();
|
|
|
|
println!("Checking connection to DataQuery API");
|
|
jpamqs_download.check_connection().unwrap();
|
|
|
|
println!("Retrieving catalogue of tickers");
|
|
let start = std::time::Instant::now();
|
|
let tickers = jpamqs_download.get_catalogue().unwrap();
|
|
println!(
|
|
"Retrieved catalogue with {} tickers in {:?}",
|
|
tickers.len(),
|
|
start.elapsed()
|
|
);
|
|
|
|
let num_ticks = 100;
|
|
let sel_tickers: Vec<String> = tickers
|
|
.iter()
|
|
.take(num_ticks)
|
|
.map(|s| s.to_string())
|
|
.collect();
|
|
// let mut df_deets = Vec::new();
|
|
|
|
println!("Retrieving indicators for {} tickers", sel_tickers.len());
|
|
// start = std::time::Instant::now();
|
|
// let all_metrics: Vec<String> = ["value", "grading", "eop_lag", "mop_lag"]
|
|
// .iter()
|
|
// .map(|x| x.to_string())
|
|
// .collect();
|
|
// let res = jpamqs_download.save_indicators_as_csv(
|
|
// JPMaQSDownloadGetIndicatorArgs {
|
|
// tickers: sel_tickers.clone(),
|
|
// metrics: all_metrics,
|
|
// ..Default::default()
|
|
// },
|
|
// "./data/",
|
|
// );
|
|
|
|
// match res {
|
|
// Ok(_) => println!(
|
|
// "Saved indicators for {} tickers in {:?}",
|
|
// sel_tickers.len(),
|
|
// start.elapsed()
|
|
// ),
|
|
// Err(e) => println!("Error saving indicators: {:?}", e),
|
|
// }
|
|
|
|
let res_df = jpamqs_download
|
|
.get_indicators_qdf(JPMaQSDownloadGetIndicatorArgs {
|
|
tickers: sel_tickers.clone(),
|
|
start_date: "2024-11-05".to_string(),
|
|
..Default::default()
|
|
})
|
|
.unwrap();
|
|
|
|
println!(
|
|
"Retrieved indicators for {} tickers in {:?}",
|
|
sel_tickers.len(),
|
|
start.elapsed()
|
|
);
|
|
|
|
if !is_quantamental_dataframe(&res_df) {
|
|
println!("DataFrame is not a quantamental DataFrame");
|
|
} else {
|
|
println!("DataFrame is a quantamental DataFrame");
|
|
}
|
|
}
|