CLI の使い方
kabukit は、複数のソースからデータを取得するための、コマンドラインインターフェース(CLI)を提供します。
現在サポートしているソースは以下の通りです。
コマンド名は kabu です。このコマンドの役割は大きく分けて 3 つあります。
- J-Quants API および EDINET API の認証情報を設定します。これにより、ノートブックなどで使うときに、認証について気にする必要がなくなります。
- 各コマンドで銘柄コードや日付を引数に与えることで、最小限のネットワークアクセスで各 API から情報を取得します。結果はすぐにターミナルに表示されるので、API との通信が正常であること、および、取得した情報が期待通りであることを迅速に確認できます。
--allオプションを指定することで、非同期並列通信によって、全銘柄・全期間分の情報を取得できます。取得した情報は、キャッシュディレクトリに保存されます。このキャッシュデータを使うことで、ノートブックなどで、分析をすぐに始められます。
以下のガイドでは、これらの特徴を順次説明していきます。
認証設定 (auth)
kabu auth コマンドは、以下の優先順位で認証情報を探索します。
- コマンドラインオプション (例:
--mailaddress) - 設定ファイル (例:
~/.config/kabukit/config.toml) - 環境変数 (例:
J_QUANTS_MAILADDRESS) - 上記いずれにも見つからない場合は、インタラクティブな入力プロンプトを表示
J-Quants API (jquants)
J-Quants API を利用するには、事前に ユーザー登録 が必要です。
kabu auth jquants コマンドで、事前登録したメールアドレスとパスワードを使って認証を行い、ID トークンを取得します。取得した ID トークンは、設定ファイルに保存され、あとから再利用されます。
対話的な使い方
オプションを指定せずにコマンドを実行すると、メールアドレスとパスワードの入力を求められます。
$ kabu auth jquants
Mailaddress: my_email@example.com
Password:
J-QuantsのIDトークンを保存しました。
非対話的な使い方
CI/CD 環境など、対話的な入力ができないときは、コマンドラインオプションまたは環境変数で認証情報を指定できます。
- コマンドラインオプション
$ kabu auth jquants --mailaddress my_email@example.com --password my_password
- 環境変数
$ export J_QUANTS_MAILADDRESS="my_email@example.com"
$ export J_QUANTS_PASSWORD="my_password"
$ kabu auth jquants
EDINET API (edinet)
EDINET API を利用するには、事前に API キーの取得 が必要です。
kabu auth edinet コマンドで API キーを設定ファイルに保存します。
対話的な使い方
$ kabu auth edinet
Api key: my_api_key
EDINETのAPIキーを保存しました。
非対話的な使い方
- コマンドラインオプション
$ kabu auth edinet --api-key my_api_key
- 環境変数
$ export EDINET_API_KEY="my_api_key"
Note
環境変数を設定しているときは、別途
kabu auth edinetコマンドを実行する必要はありません。
認証設定の表示 (show)
認証設定の保存先と内容は、kabu auth show コマンドで表示できます。
$ kabu auth show
設定ファイル: /home/my_name/.config/kabukit/config.toml
J_QUANTS_ID_TOKEN = "..."
EDINET_API_KEY = "..."
情報取得 (get)
kabu get コマンドは、J-Quants API および EDINET API から各種情報を取得します。
銘柄情報 (info)
kabu get info コマンドを使うと、J-Quants API から銘柄情報を取得します。
銘柄コード (4桁) を指定すると、指定した銘柄の最新情報を取得できます。
$ kabu get info 7203
width: 8
┌───────────────┬─────────────┬────────────────┐
│ Column Name │ Data Type │ Value │
╞═══════════════╪═════════════╪════════════════╡
│ Date │ Date │ 2025-12-15 │
│ Code │ String │ 72030 │
│ Company │ String │ トヨタ自動車 │
│ Sector17 │ Categorical │ 自動車・輸送機 │
│ Sector33 │ Categorical │ 輸送用機器 │
│ ScaleCategory │ Categorical │ TOPIX Core30 │
│ Market │ Categorical │ プライム │
│ Margin │ Categorical │ 貸借 │
└───────────────┴─────────────┴────────────────┘
日付 (YYYYMMDD または YYYY-MM-DD) を指定すると、指定した日付または翌営業日における全銘柄の情報を取得できます。
$ kabu get info 20230101
shape: (3_806, 8)
┌────────────┬───────┬──────────────┬───┬───────────────┬──────────────┬────────┐
│ Date ┆ Code ┆ Company ┆ … ┆ ScaleCategory ┆ Market ┆ Margin │
│ date ┆ str ┆ str ┆ ┆ cat ┆ cat ┆ cat │
╞════════════╪═══════╪══════════════╪═══╪═══════════════╪══════════════╪════════╡
│ 2023-01-04 ┆ 13010 ┆ 極洋 ┆ … ┆ TOPIX Small 2 ┆ プライム ┆ 貸借 │
│ 2023-01-04 ┆ 13320 ┆ ニッスイ ┆ … ┆ TOPIX Mid400 ┆ プライム ┆ 貸借 │
│ 2023-01-04 ┆ 13330 ┆ マルハニチロ ┆ … ┆ TOPIX Mid400 ┆ プライム ┆ 貸借 │
│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │
│ 2023-01-04 ┆ 99960 ┆ サトー商会 ┆ … ┆ - ┆ スタンダード ┆ 信用 │
│ 2023-01-04 ┆ 99970 ┆ ベルーナ ┆ … ┆ TOPIX Small 1 ┆ プライム ┆ 貸借 │
└────────────┴───────┴──────────────┴───┴───────────────┴──────────────┴────────┘
--first/--last オプションを指定すると、取得したデータフレームの最初または最後の行を表示できます。
$ kabu get info 20230101 --first
width: 8
┌───────────────┬─────────────┬───────────────┐
│ Column Name │ Data Type │ Value │
╞═══════════════╪═════════════╪═══════════════╡
│ Date │ Date │ 2023-01-04 │
│ Code │ String │ 13010 │
│ Company │ String │ 極洋 │
│ Sector17 │ Categorical │ 食品 │
│ Sector33 │ Categorical │ 水産・農林業 │
│ ScaleCategory │ Categorical │ TOPIX Small 2 │
│ Market │ Categorical │ プライム │
│ Margin │ Categorical │ 貸借 │
└───────────────┴─────────────┴───────────────┘
銘柄コードを省略すると、当日または翌営業日における全銘柄の最新情報を取得できます。
$ kabu get info
shape: (3_780, 8)
┌────────────┬───────┬─────────────────────────────────┬───┬───────────────┬──────────────┬────────┐
│ Date ┆ Code ┆ Company ┆ … ┆ ScaleCategory ┆ Market ┆ Margin │
│ date ┆ str ┆ str ┆ ┆ cat ┆ cat ┆ cat │
╞════════════╪═══════╪═════════════════════════════════╪═══╪═══════════════╪══════════════╪════════╡
│ 2025-12-15 ┆ 13010 ┆ 極洋 ┆ … ┆ TOPIX Small 1 ┆ プライム ┆ 貸借 │
│ 2025-12-15 ┆ 130A0 ┆ Veritas In Sili ┆ … ┆ - ┆ グロース ┆ 信用 │
│ ┆ ┆ co ┆ ┆ ┆ ┆ │
│ 2025-12-15 ┆ 13320 ┆ ニッスイ ┆ … ┆ TOPIX Mid400 ┆ プライム ┆ 貸借 │
│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │
│ 2025-12-15 ┆ 99960 ┆ サトー商会 ┆ … ┆ - ┆ スタンダード ┆ 貸借 │
│ 2025-12-15 ┆ 99970 ┆ ベルーナ ┆ … ┆ TOPIX Small 1 ┆ プライム ┆ 貸借 │
└────────────┴───────┴─────────────────────────────────┴───┴───────────────┴──────────────┴────────┘
全銘柄の銘柄情報を '/home/runner/.cache/kabukit/jquants/info/20251213.parquet' に保存しました。
以下のオプションが追加で設定可能です。
--quietまたは-qオプションを付けると、取得したデータフレームの表示を抑制できます。
銘柄コードまたは日付を指定したときは、表示されたデータフレームは保存されずにプログラムは終了します。単純に J-Quants API へのリクエストが正常に処理され、期待通りの情報が得られていることを確認したいケースで用います。
一方、銘柄コードを省略したときは、取得した銘柄情報はキャッシュディレクトリに保存されます。このキャッシュデータを使うことで、ノートブックなどで、分析をすぐに始められます。
財務情報 (statements)
kabu get statements コマンドを使うと、J-Quants API から財務情報を取得します。
銘柄コードを指定すると、指定した銘柄の全期間分の財務情報を取得できます。
$ kabu get statements 7203
shape: (41, 105)
┌────────────┬───────┬───────────────┬───┬───────────────────┬──────────────────┬──────────────────┐
│ Date ┆ Code ┆ DisclosedDate ┆ … ┆ NextYearForecastN ┆ NextYearForecast ┆ NextYearForecast │
│ date ┆ str ┆ date ┆ ┆ onConsolidate… ┆ NonConsolidate… ┆ NonConsolidate… │
│ ┆ ┆ ┆ ┆ f64 ┆ f64 ┆ f64 │
╞════════════╪═══════╪═══════════════╪═══╪═══════════════════╪══════════════════╪══════════════════╡
│ 2016-02-08 ┆ 72030 ┆ 2016-02-05 ┆ … ┆ null ┆ null ┆ null │
│ 2016-05-12 ┆ 72030 ┆ 2016-05-11 ┆ … ┆ 1.3900e12 ┆ 1.2000e12 ┆ 393.41 │
│ 2016-08-05 ┆ 72030 ┆ 2016-08-04 ┆ … ┆ null ┆ null ┆ null │
│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │
│ 2025-08-07 ┆ 72030 ┆ 2025-08-07 ┆ … ┆ null ┆ null ┆ null │
│ 2025-11-05 ┆ 72030 ┆ 2025-11-05 ┆ … ┆ null ┆ null ┆ null │
└────────────┴───────┴───────────────┴───┴───────────────────┴──────────────────┴──────────────────┘
日付を指定すると、指定した日付に開示された全銘柄の財務情報を取得できます。
$ kabu get statements 20251023
shape: (32, 105)
┌────────────┬───────┬───────────────┬───┬───────────────────┬──────────────────┬──────────────────┐
│ Date ┆ Code ┆ DisclosedDate ┆ … ┆ NextYearForecastN ┆ NextYearForecast ┆ NextYearForecast │
│ date ┆ str ┆ date ┆ ┆ onConsolidate… ┆ NonConsolidate… ┆ NonConsolidate… │
│ ┆ ┆ ┆ ┆ f64 ┆ f64 ┆ f64 │
╞════════════╪═══════╪═══════════════╪═══╪═══════════════════╪══════════════════╪══════════════════╡
│ 2025-10-24 ┆ 80710 ┆ 2025-10-23 ┆ … ┆ null ┆ null ┆ null │
│ 2025-10-24 ┆ 58200 ┆ 2025-10-23 ┆ … ┆ null ┆ null ┆ null │
│ 2025-10-24 ┆ 58200 ┆ 2025-10-23 ┆ … ┆ null ┆ null ┆ null │
│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │
│ 2025-10-24 ┆ 65940 ┆ 2025-10-23 ┆ … ┆ null ┆ null ┆ null │
│ 2025-10-24 ┆ 25310 ┆ 2025-10-23 ┆ … ┆ null ┆ null ┆ null │
└────────────┴───────┴───────────────┴───┴───────────────────┴──────────────────┴──────────────────┘
引数を省略すると、当日に開示された全銘柄の財務情報を取得できます。
$ kabu get statements
取得したデータはありません。
引数を省略して、--all オプションを付けると、全銘柄の全期間分の財務情報を一度に取得できます。
$ kabu get statements --all
100%|█████████████████████████████████████| 3787/3787 [01:28<00:00, 42.61it/s]
shape: (165_891, 105)
(略)
このようにプログレスバーが表示され、進捗状況が把握できるようになっています。上の出力例から、次のことがわかります。
- 1 秒間に 40 銘柄程度の財務情報を取得しました。
- トータルで 1 分 30 秒程度かかりました。
- 取得したデータフレームの行数は約 16 万行です。
以下のオプションが追加で設定可能です。
--max-itemsオプションを付けると、銘柄数の上限を指定できます。--quietまたは-qオプションを付けると、プログレスバーおよび取得したデータフレームの表示を抑制できます。
--all オプションを付け、かつ、--max-items オプションを付けないとき、取得した財務情報はキャッシュディレクトリに保存されます。このキャッシュデータを使うことで、ノートブックなどで、分析をすぐに始められます。
株価情報 (prices)
kabu get prices コマンドを使うと、J-Quants API から株価情報を取得します。
銘柄コードを指定すると、指定した銘柄の全期間分の株価情報を取得できます。
$ kabu get prices 7203
shape: (2_444, 16)
┌────────────┬───────┬────────┬───┬────────┬──────────┬───────────┐
│ Date ┆ Code ┆ Open ┆ … ┆ RawLow ┆ RawClose ┆ RawVolume │
│ date ┆ str ┆ f64 ┆ ┆ f64 ┆ f64 ┆ f64 │
╞════════════╪═══════╪════════╪═══╪════════╪══════════╪═══════════╡
│ 2015-12-14 ┆ 72030 ┆ 1500.0 ┆ … ┆ 7416.0 ┆ 7463.0 ┆ 1.25962e7 │
│ 2015-12-15 ┆ 72030 ┆ 1491.8 ┆ … ┆ 7324.0 ┆ 7324.0 ┆ 1.05023e7 │
│ 2015-12-16 ┆ 72030 ┆ 1494.4 ┆ … ┆ 7454.0 ┆ 7612.0 ┆ 1.16047e7 │
│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │
│ 2025-12-11 ┆ 72030 ┆ 3148.0 ┆ … ┆ 3099.0 ┆ 3110.0 ┆ 1.42422e7 │
│ 2025-12-12 ┆ 72030 ┆ 3191.0 ┆ … ┆ 3168.0 ┆ 3260.0 ┆ 4.26642e7 │
└────────────┴───────┴────────┴───┴────────┴──────────┴───────────┘
--last オプションを追加して、直近営業日の株価情報を確認できます。
$ kabu get prices 7203 --last
width: 16
┌──────────────────┬───────────┬───────────────────┐
│ Column Name │ Data Type │ Value │
╞══════════════════╪═══════════╪═══════════════════╡
│ Date │ Date │ 2025-12-12 │
│ Code │ String │ 72030 │
│ Open │ Float64 │ 3,191.0 │
│ High │ Float64 │ 3,272.0 │
│ Low │ Float64 │ 3,168.0 │
│ Close │ Float64 │ 3,260.0 │
│ UpperLimit │ Boolean │ 0 │
│ LowerLimit │ Boolean │ 0 │
│ Volume │ Float64 │ 42,664,200.0 │
│ TurnoverValue │ Float64 │ 137,335,157,100.0 │
│ AdjustmentFactor │ Float64 │ 1.0 │
│ RawOpen │ Float64 │ 3,191.0 │
│ RawHigh │ Float64 │ 3,272.0 │
│ RawLow │ Float64 │ 3,168.0 │
│ RawClose │ Float64 │ 3,260.0 │
│ RawVolume │ Float64 │ 42,664,200.0 │
└──────────────────┴───────────┴───────────────────┘
日付を指定すると、指定した日付の全銘柄の株価情報を取得できます。
$ kabu get prices 20251023
shape: (4_418, 16)
┌────────────┬───────┬────────┬───┬────────┬──────────┬───────────┐
│ Date ┆ Code ┆ Open ┆ … ┆ RawLow ┆ RawClose ┆ RawVolume │
│ date ┆ str ┆ f64 ┆ ┆ f64 ┆ f64 ┆ f64 │
╞════════════╪═══════╪════════╪═══╪════════╪══════════╪═══════════╡
│ 2025-10-23 ┆ 13010 ┆ 4875.0 ┆ … ┆ 4875.0 ┆ 4905.0 ┆ 18400.0 │
│ 2025-10-23 ┆ 13050 ┆ 3435.0 ┆ … ┆ 3425.0 ┆ 3444.0 ┆ 116940.0 │
│ 2025-10-23 ┆ 13060 ┆ 3400.0 ┆ … ┆ 3389.0 ┆ 3407.0 ┆ 1.17736e6 │
│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │
│ 2025-10-23 ┆ 99960 ┆ 2015.0 ┆ … ┆ 2015.0 ┆ 2015.0 ┆ 200.0 │
│ 2025-10-23 ┆ 99970 ┆ 1011.0 ┆ … ┆ 1010.0 ┆ 1017.0 ┆ 116100.0 │
└────────────┴───────┴────────┴───┴────────┴──────────┴───────────┘
引数を省略すると、当日の全銘柄の株価情報を取得できます。
$ kabu get prices
取得したデータはありません。
引数を省略して、--all オプションを付けると、全銘柄の全期間分の株価情報を一度に取得できます。
$ kabu get prices --all
100%|█████████████████████████████████████| 3787/3787 [12:33<00:00, 5.02it/s]
shape: (8_128_217, 16)
(略)
このようにプログレスバーが表示され、進捗状況が把握できるようになっています。上の出力例から、次のことがわかります。
- 1 秒間に 5 銘柄程度の株価情報を取得しました。
- トータルで 13 分程度かかりました。
- 取得したデータフレームの行数は約 8 百万行です。
以下のオプションが追加で設定可能です。
--max-itemsオプションを付けると、銘柄数の上限を指定できます。--quietまたは-qオプションを付けると、プログレスバーおよび取得したデータフレームの表示を抑制できます。
--all オプションを付け、かつ、--max-items オプションを付けないとき、取得した株価情報はキャッシュディレクトリに保存されます。
J-Quants 情報の一括取得 (jquants)
これまで、J-Quantsが提供する 3 つの情報を、個別のコマンドで取得してきました。kabu get jquants コマンドを使うと、全ての入手可能な情報を一度に取得できます。
$ kabu get jquants [arg]
arg引数で銘柄コードまたは日付を指定すると、指定した銘柄または日付に関する情報を取得します。省略すると、当日の情報を取得します。--allオプションを付けると、全銘柄の全期間分の情報を一度に取得します。--max-itemsオプションを付けると、全銘柄取得時の銘柄数の上限を指定できます。--quietまたは-qオプションを付けると、プログレスバーおよび取得したデータフレームの表示を抑制できます。
--all オプションを付け、かつ、--max-items オプションを付けないとき、取得した各種情報はキャッシュディレクトリに保存されます。
EDINET 書類一覧 (edinet)
kabu get edinet コマンドを使うと、EDINET API から提出書類一覧を取得します。
日付を指定すると、指定した日付に提出された書類一覧を取得できます。
$ kabu get edinet 20251010
shape: (231, 25)
┌────────────┬───────┬───────────────┬───┬─────────┬──────────┬────────────┐
│ Date ┆ Code ┆ SubmittedDate ┆ … ┆ PdfFlag ┆ XbrlFlag ┆ FileDate │
│ date ┆ str ┆ date ┆ ┆ bool ┆ bool ┆ date │
╞════════════╪═══════╪═══════════════╪═══╪═════════╪══════════╪════════════╡
│ 2025-10-10 ┆ 97930 ┆ 2025-10-10 ┆ … ┆ true ┆ true ┆ 2025-10-10 │
│ 2025-10-10 ┆ 82830 ┆ 2025-10-10 ┆ … ┆ true ┆ true ┆ 2025-10-10 │
│ 2025-10-10 ┆ 61130 ┆ 2025-10-10 ┆ … ┆ true ┆ true ┆ 2025-10-10 │
│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │
│ 2025-10-14 ┆ 26870 ┆ 2025-10-10 ┆ … ┆ true ┆ true ┆ 2025-10-10 │
│ 2025-10-14 ┆ 26870 ┆ 2025-10-10 ┆ … ┆ true ┆ false ┆ 2025-10-10 │
└────────────┴───────┴───────────────┴───┴─────────┴──────────┴────────────┘
日付を指定しないと、当日に提出された書類一覧を取得できます。
$ kabu get edinet
取得したデータはありません。
日付を指定せずに、--all オプションを付けると、過去 10 年分の書類一覧を一度に取得できます。
$ kabu get edinet --all
100%|█████████████████████████████████████| 3653/3653 [00:42<00:00, 86.47it/s]
shape: (896_632, 30)
(略)
このようにプログレスバーが表示され、進捗状況が把握できるようになっています。上の出力例から、次のことがわかります。
- 1 秒間に 80 日程度の書類一覧を取得しました。
- トータルで 50 秒程度かかりました。
- 取得したデータフレームの行数は約 90 万行です。
以下のオプションが追加で設定可能です。
--max-itemsオプションを付けると、取得日数の上限を指定できます。--quietまたは-qオプションを付けると、プログレスバーおよび取得したデータフレームの表示を抑制できます。
キャッシュ (cache)
これまでに説明したように、取得した情報はキャッシュディレクトリに保存されます。
kabu cache コマンドを使うと以下のことができます。
kabu cache tree: キャッシュの内容をツリー表示しますkabu cache clean: キャッシュの一部または全体を消去します
キャッシュの仕組みや、Python からの活用方法については、キャッシュの活用ガイドを参照してください。