J-Quantsは、日本取引所グループ(JPX)が提供する個人投資家向けデータ配信APIです。
JQuantsRは、J-QuantsをRから扱いやすいようにラップしたRパッケージです。
インストールには4.1.0以上のバージョンのRが必要です。
install.packages("remotes")
remotes::install_github("J-Quants/JQuantsR")事前にJ-Quantsよりユーザー登録を行ってください。
library(JQuantsR)
# 各Rセッションの最初にJQuantsR::authorize()を実行してください
authorize(mail_address = "YOUR MAIL ADDRESS", password = "YOUR PASSWORD")
get_daily_quotes(code = "86970")なお、日付の範囲を指定して取得することができない株価四本値のようなエンドポイントからデータを一括で取得したい場合は、forループやpurrr::mapなどを利用してください。
library(purrr)
start_date <- as.Date("2022-07-01")
end_date <- as.Date("2022-07-31")
dates <- seq(start_date, end_date, by = "1 day") |>
format(format = "%Y-%m-%d")
purrr::map_dfr(dates, \(date) {
print(date)
get_daily_quotes(date = date)
})本パッケージに含まれる関数は以下の通りです。authorize()を除き、取得したデータをtibbleで返します。
契約しているプランが関数の対象プランではない場合、データを取得することができません。
各関数の引数や返り値、取得できるデータの詳細は、JQuantsRのヘルプやJ-Quants API Referenceをご参照ください。
- Freeプラン以上
authorize(): メールアドレスとパスワードを用いてリフレッシュトークンを取得後、リフレッシュトークンを用いてIDトークンを取得する- [POST] /token/auth_user
- [POST] /token/auth_refresh
get_info(): 上場銘柄一覧- [GET] /listed/info
get_daily_quotes(): 株価四本値- [GET] /prices/daily_quotes
get_financial_statements(): 財務情報- [GET] /fins/statements
get_financial_announcement(): 3月期・9月期決算会社の翌営業日の決算発表予定銘柄- [GET] /fins/annoucement
get_trading_calendar(): 取引カレンダー- [GET] /markets/trading_calendar
- Lightプラン以上
get_trades_spec(): 投資部門別売買状況(金額)- [GET] /markets/trades_spec
get_topix(): TOPIX四本値- [GET] /indices/topix
- Standardプラン以上
get_indices(): 指数四本値- [GET] /indices
get_index_option():日経225オプション四本値- [GET] /option/index_option
get_weekly_margin_interest(): 信用取引週末残高- [GET] /markets/weekly_margin_interest
get_short_selling(): 業種別空売り比率- [GET] /markets/short_selling
get_short_selling_positions(): 空売り残高報告- [GET] /markets/short_selling_positions
- Premiumプラン以上
get_breakdown(): 売買内訳データ- [GET] /markets/breakdown
get_prices_am(): 前場の株価(前場終了時)- [GET] /prices/prices_am
get_financial_dividend(): 配当金情報- [GET] /fins/dividend
get_financial_details(): 財務諸表- [GET] /fins/fs_details
get_futures(): 先物四本値- [GET] /derivatives/futures
get_options(): オプション四本値- [GET] /derivatives/options
- 各Rセッションにおいて、最初に
JQuantsR::authorize()を実行してリフレッシュトークンとIDトークンを取得する必要があります。JQuantsR::authorize()は、リフレッシュトークンとIDトークンを取得し、JQUANTSR_REFRESH_TOKENとJQUANTSR_ID_TOKENという変数名の環境変数にそれぞれリフレッシュトークンとIDトークンをセットします。
- 各Rセッション内で一度
JQuantsR::authorize()を実行すれば、id_tokenを引数に取る各関数にIDトークンを渡す必要はありません。 - メールアドレスとパスワードをそれぞれ
JQUANTSR_MAIL_ADDRESSとJQUANTSR_PASSWORDという変数名の環境変数に設定すれば、JQuantsR::authorize()の引数mail_addressとpasswordにそれぞれメールアドレスとパスワードを指定する必要はありません。.RenvironファイルにJQUANTSR_MAIL_ADDRESSとJQUANTSR_PASSWORDを記載することを推奨します。
- リフレッシュトークンとIDトークンの有効期限はそれぞれ1週間、24時間です。いずれかの有効期限が切れた場合、
JQuantsR::authorize()を再度実行してください。
- 本パッケージは現在開発途上であるため、本パッケージの仕様は今後変更される可能性があります。
- バグ報告や機能追加のリクエストなどはIssuesにご投稿ください。Pull Requestも歓迎です。