msyrs/src/main.rs

53 lines
1.6 KiB
Rust

// use crate::oauth_client::OAuthClient;
// use crate::requester::Requester;
use macrosynergy_dataquery::oauth_client::OAuthClient;
use macrosynergy_dataquery::requester::Requester;
use macrosynergy_dataquery::timeseries::DQResponse;
// use macrosynergy_dataquery::timeseries::DQTimeSeries;
use macrosynergy_dataquery::timeseries::JPMaQSIndicator;
// use macrosynergy_dataquery::timeseries::TimeSeriesList;
use std::env;
fn main() {
let client_id = env::var("DQ_CLIENT_ID").unwrap();
let client_secret = env::var("DQ_CLIENT_SECRET").unwrap();
let mut oauth_client = OAuthClient::new(client_id, client_secret);
oauth_client.fetch_token().unwrap();
let mut requester = Requester::new(oauth_client);
requester.check_connection().unwrap();
let expressions_a = vec![
"DB(JPMAQS,USD_EQXR_NSA,value)",
"DB(JPMAQS,USD_EQXR_NSA,grading)",
// ];
// let expressions_b = vec![
"DB(JPMAQS,GBP_EQXR_NSA,value)",
"DB(JPMAQS,GBP_EQXR_NSA,grading)",
];
// expressions_b.len();
let response = requester
.get_timeseries_with_defaults(expressions_a)
.unwrap();
let json_data = response.text().unwrap();
let dqresponse: DQResponse = serde_json::from_str(&json_data).unwrap();
let timeseries_list = dqresponse.get_all_timeseries();
for ts in timeseries_list {
// println!("{:?}", ts);
// ts.to_dataframe().unwrap();
println!("{:?}", ts.to_dataframe().unwrap());
}
for ts_group in dqresponse.get_timeseries_by_ticker() {
let jpmi = JPMaQSIndicator::new(ts_group).unwrap();
println!("{:?}", jpmi.as_qdf().unwrap());
}
}