docs: add example usage for JPMaQSDownload in jpmaqsdownload.rs

This commit is contained in:
Palash Tyagi 2024-11-13 12:18:36 +00:00
parent 332ed9ec25
commit 0978cb0a67

View File

@ -61,6 +61,47 @@ impl Default for JPMaQSDownloadGetIndicatorArgs {
}
/// Struct for downloading data from the JPMaQS data from JPMorgan DataQuery API.
///
/// ## Example Usage
/// ```rust
/// use msyrs::download::jpmaqsdownload::JPMaQSDownload;
/// use msyrs::download::jpmaqsdownload::JPMaQSDownloadGetIndicatorArgs;
/// use polars::prelude::*;
/// // if your client ID & secret are already set in the environment variables
/// // you can create a new JPMaQSDownload instance with the default constructor
///
/// let mut jpamqs_download = JPMaQSDownload::default();
///
/// // or alternatively,
/// let mut jpamqs_download = JPMaQSDownload::new(
/// "your_client_id".to_string(),
/// "your_client_secret".to_string(),
/// );
///
/// match jpamqs_download.check_connection() {
/// Ok(_) => println!("Connection to DataQuery API successful"),
/// Err(e) => println!("Error connecting to DataQuery API: {:?}", e),
/// }
///
/// let tickers: Vec<String> = jpamqs_download.get_catalogue().unwrap();
///
/// let some_tickers = tickers.iter().take(100).map(|s| s.to_string()).collect();
/// // get a dataframe containing the indicators for the first 100 tickers
///
/// let download_args = JPMaQSDownloadGetIndicatorArgs {
/// tickers: some_tickers,
/// start_date: "2024-11-11".to_string(),
/// ..Default::default()
/// };
/// let res_df: DataFrame = jpamqs_download.get_indicators_qdf(download_args).unwrap();
///
/// // save some tickers to disk as CSVs
///
/// match jpamqs_download.save_indicators_as_csv(download_args, "./data/") {
/// Ok(_) => println!("Saved indicators to disk"),
/// Err(e) => println!("Error saving indicators: {:?}", e),
/// }
///
#[derive(Debug, Clone)]
pub struct JPMaQSDownload {
requester: DQRequester,