| Crates.io | jquants_rs |
| lib.rs | jquants_rs |
| version | 0.1.1 |
| created_at | 2025-01-24 11:08:38.215992+00 |
| updated_at | 2025-01-24 11:24:59.179723+00 |
| description | Unofficial wrapper for jquants api. |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1529304 |
| size | 79,185 |
これは何? J-Quants APIの非公式ラッパーです。
使い方
** インストール
#+begin_src shell cargo add jquants_rs #+end_src
** 使い方
対応するエンドポイントのRequest構造体に必要事項を入力して
*** インスタンス生成と認証 #+begin_src rust let mut client = HttpClient::new(); client.set_id_token("your_id_token".to_string()); #+end_src
*** リクエスト送信
対応するエンドポイントのRequest構造体に必要事項を入力して client.send_request(request).await でリクエストを送信します。
** 例 下記は
という流れを示しています。
#+begin_src rust let user_id = "your_user_id".to_string(); let user_password = "your_password".to_string();
let mut client = HttpClient::new();
// リフレッシュトークン作成 let login_request = token_auth_user::AuthUserRequest { mailaddress: user_id, password: user_password, }; let login_response: Result<token_auth_user::AuthUserResponse, _> = client.send_request(login_request).await; let refresh_token = login_response.unwrap().refreshToken;
// IDトークン作成 let id_token_request = token_auth_refresh::AuthRefreshRequest { refreshtoken: refresh_token, }; let id_token_response: Result<token_auth_refresh::AuthRefreshResponse, _> = client.send_request(id_token_request).await; client.set_id_token(id_token_response.unwrap().idToken);
// 上場銘柄一覧 let stock_list_request = api::listed_info::ListedInfoRequest::builder().code("13010".to_string()).build(); let stock_list_response: Result<api::listed_info::ListedInfoResponse, _> = client.send_request(stock_list_request).await; println!("{:?}", stock_list_response);
// 日足データ取得 let daily_query = api::prices_daily_quotes::DailyQuotesRequest::builder().code("13010".to_string()).date("20240605".to_string()).build(); let res = client.send_request(daily_query).await; println!("{:?}", res);
// 投資部門別情報 let query = api::markets_investment_sector::InvestmentSectorRequest::builder().code("13010".to_string()).from("20240324".to_string()).to("20240601".to_string()).build(); let res = client.send_request(query).await; println!("{:?}", res);
// 信用取引週末残高 let query = api::markets_weekly_margin_interest::WeeklyMarginInterestRequest::builder().code("13010".to_string()).from("20240324".to_string()).to("20240601".to_string()).build(); let res = client.send_request(query).await; println!("{:?}", res);
// 業種別空売り残高 let query = api::markets_short_selling::ShortSellingRequest::builder().sector33code("0050".to_string()).from("20240324".to_string()).to("20240601".to_string()).build(); let res = client.send_request(query).await; println!("{:?}", res);
// 取引カレンダー let query = api::markets_trading_calendar::TradingCalendarRequest::builder().holidaydivision("1".to_string()).from("20240324".to_string()).to("20240601".to_string()).build(); let res = client.send_request(query).await; println!("{:?}", res);
// 指数四本足 let query = api::indices::IndicesRequest::builder().code("13010".to_string()).from("20240324".to_string()).to("20240601".to_string()).build(); let res = client.send_request(query).await; println!("{:?}", res);
// // TOPIX let query = api::indices_topix::TopixRequest::builder().from("20240324".to_string()).to("20240601".to_string()).build(); let res = client.send_request(query).await; println!("{:?}", res);
// 財務情報 let query = api::fins_statements::StatementsRequest::builder().code("86970".to_string()).date("20230130".to_string()).build(); let res = client.send_request(query).await; println!("{:?}", res);
// 決算発表日 let query = api::fins_announcement::AnnouncementRequest::builder().build(); let res = client.send_request(query).await; println!("{:?}", res);
// オプションデータ let query = api::option_index_option::IndexOptionRequest::builder().date("20240601".to_string()).build(); let res = client.send_request(query).await; println!("{:?}", res);
#+end_src
/token/auth_user
/token/auth_refresh
/listed/info
/prices/daily_quotes
/prices/prices_am
/markets/trades_spec
/markets/weekly_margin_interest
/markets/short_selling
/markets/breakdown
/markets/trading_calendar
/indices
/indices/topix
/fins/statements
/fins/fs_details
/fins/dividend
/fins/announcement
/option/index_option