mcpField
J
jquants-cli-usage

jquants-cli-usage

github.com/j-quants数据与数据库50119 次安装4 周前更新
代码仓库

关于 jquants-cli-usage

jquants-cli-usage 是指导使用 jquants CLI 的技能,面向需要查询日本市场、股票及财务数据的用户。它涵盖命令构建、字段核验、套餐限制和数据更新时机。

主要功能

  1. 01按数据类别选择命令
  2. 02核对套餐与 API 可用性
  3. 03通过 schema 查找字段
  4. 04选择单项查询或批量下载
  5. 05处理输出格式与文件保存
  6. 06参考请求速率和数据更新时间

适用场景

  1. 01构建股票或财务数据查询
  2. 02确认字段名称并筛选结果
  3. 03批量获取全市场数据
  4. 04根据套餐与更新时间规划查询

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/j-quants/jquants-cli --skill jquants-cli-usage

安装后在 Claude Code 中输入/jquants-cli-usage确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
commands-bulk.md
commands-deriv.md
commands-edinet.md
commands-eq.md
commands-fins.md
commands-idx.md
commands-mkt.md
commands-td.md
data-update-schedule.md
plans.md

详细介绍

J-Quants CLI 使用スキル

Role & Decision Flow

jquants コマンドを構築するときは、以下の順序で判断する:

  1. データ種別を決める — 株式(eq)・市場(mkt)・デリバティブ(deriv)・EDINET書類(edinet)・財務(fins)・指数(idx)
  2. プラン制限を確認する — ユーザーのプランで利用可能か確認する(下記「Subscription Plans & API Availability」参照)。プランが不明な場合は、コマンドを提示しつつ必要プランを明記する
  3. フィールド名を確認する — -f で絞り込む前に jquants schema <endpoint> で正確な名前を調べる(推測しない)
  4. 個別API vs バルクを選ぶ — 「全銘柄」「1ヶ月以上」「大量」のいずれかに該当 → バルク(references/commands-bulk.md 参照)。個別APIを大量に繰り返すとレートリミットに抵触するため(下記 Rate Limits 参照)。Free プランは CSV/バルク不可(mkt calendar を除く)
  5. コマンドを組み立てる — グローバルオプション(--output, --save, -f)をサブコマンドの前に置く
  6. パイプを考慮する — パイプ先がある場合は --output を省略するだけで自動的に CSV が流れる

Prerequisites

推奨: jquants login でブラウザログイン(API キーを自動取得・保存)

jquants login   # ブラウザが開き、Cognito OAuth2 PKCE でログイン
                # → ~/.config/jquants/credentials.json に API キーを自動保存

フォールバック: 環境変数で直接指定

export JQUANTS_API_KEY="your-api-key"
# または .env ファイルに記載

認証優先順位: ~/.config/jquants/credentials.json の api_key → JQUANTS_API_KEY 環境変数 → エラー(jquants login を促す)

**jquants schema は認証不要。**ログイン前でもフィールド名の確認に使える。

Command Syntax Rules

グローバルオプション (--output, --save, -f) はサブコマンドの前に置く:

# ✅ 正しい
jquants --output csv --save out.csv eq daily --code 86970

# ❌ 誤り(サブコマンド後は無効)
jquants eq daily --code 86970 --output csv

なぜ: clap の設計上、サブコマンド以降のフラグはサブコマンド自身のオプションとして解析される。サブコマンドの後に置くと「不明なフラグ」エラーになる。

パイプ時の自動CSV切替:

stdout が TTY でない場合(パイプ先がある場合)、--output table(デフォルト)は自動的にCSV形式で出力される。

# パイプすると自動でCSVが流れる
jquants eq daily --code 86970 | head -5

# 明示的にJSONをパイプしたい場合は指定が必要
jquants --output json eq daily --code 86970 | jq '.[] | .AdjustmentClose'

フィールド選択 (--fields / -f) でカラムを絞り込む:

# 日付・コード・調整済終値だけを取得
jquants -f Date,Code,AdjustmentClose eq daily --code 86970

# 不正なフィールド名を指定するとエラーで利用可能フィールド一覧が表示される

Schema-First: フィールド名の確認

--fields でカラムを絞り込む前に、jquants schema <endpoint> で正確なフィールド名を確認する。フィールド名を推測しない(PascalCase が多いが一致しないことがある)。

jquants schema                  # 全エンドポイント一覧(キー・説明・フィールド数)
jquants schema eq.daily         # eq.daily の全フィールド(名前・型・説明)
jquants --output json schema    # JSON 形式で出力

エンドポイントキーは カテゴリ.コマンド 形式(例: eq.daily, fins.summary, mkt.short-ratio)。

手順:

  1. jquants schema eq.daily でフィールド一覧を取得
  2. 必要なフィールド名をコピーして -f に指定
  3. 不正なフィールド名はエラーで拒否される(利用可能フィールド一覧が表示される)

Quick Reference

認証 & ユーティリティ
やりたいことコマンド
ログイン(初回セットアップ)jquants login
ログアウトjquants logout
API フィールド一覧を確認jquants schema
特定エンドポイントのフィールド詳細jquants schema eq.daily
株式データ(eq)
やりたいことコマンド更新時刻
全銘柄マスタjquants eq master日次 17:30頃
株価四本値jquants eq daily日次 16:30頃
バリュエーション指標jquants eq valuation日次 16:30頃
前場四本値jquants eq am日次 12:00頃
分足データjquants eq minute日次 16:30頃
投資部門別売買状況jquants eq investor-types週次(木) 18:00頃
決算発表予定日jquants eq earnings-calendar不定期 19:00頃
株価ティックjquants eq trades日次 16:30頃
市場データ(mkt)
やりたいことコマンド更新時刻
売買内訳jquants mkt breakdown日次 18:00頃
日々公表信用残jquants mkt margin-alert日次 16:30頃
信用取引残高jquants mkt margin-interest日次 16:00頃
取引カレンダーjquants mkt calendar不定期
業種別空売り比率jquants mkt short-ratio日次 16:30頃
空売り残高報告jquants mkt short-sale-report日次 17:30頃
デリバティブ(deriv)
やりたいことコマンド更新時刻
先物四本値jquants deriv futures日次 27:00頃
オプション四本値jquants deriv options日次 27:00頃
日経225オプションjquants deriv options-225日次 27:00頃
EDINET書類由来データ(edinet)※ Standard プラン以上
やりたいことコマンド更新時刻
大株主状況(有報)jquants edinet major-shareholders随時(平日 8:00〜17:59)
政策保有株式(有報)jquants edinet cross-shareholdings随時(平日 8:00〜17:59)
大量保有報告書jquants edinet large-volume-shareholders随時(平日 8:00〜17:59)
財務データ(fins)
やりたいことコマンド更新時刻
財務諸表jquants fins details日次 18:00頃(速報) / 24:30頃(確報)
配当金情報jquants fins dividend日次 12〜19時頃
決算発表予定日jquants fins earnings-date日次 10:05頃
財務情報サマリーjquants fins summary日次 18:00頃(速報) / 24:30頃(確報)
指数データ(idx)
やりたいことコマンド更新時刻
TOPIX指数四本値jquants idx daily-topix日次 16:30頃
指数四本値jquants idx daily日次 16:30頃
適時開示(td)※ TDnet/適時開示情報アドオン必要
やりたいことコマンド更新時刻
適時開示インデックス一覧jquants td list随時更新
適時開示ファイルURL取得jquants td files随時更新
適時開示一括ダウンロードURL取得jquants td bulk日次 26:00頃

Category Reference Files

各类别的详细命令语法、标志和示例均记载于参考文件中。如果 Quick Reference 中的信息已足够,则无需阅读参考文件。

在以下情况下参阅参考文件:

类别参考文件应参阅的情况
eqreferences/commands-eq.md股票代码、日期、期间筛选,eq trades 的特殊行为
mktreferences/commands-mkt.md--s33、--disc-date/--calc-date 等特殊标志
derivreferences/commands-deriv.md--category、--contract-flag 的用法
edinetreferences/commands-edinet.md嵌套项的处理、edinet_code/code 的互斥关系、3 个命令的具体规范
finsreferences/commands-fins.mdfins details 的 FS 字段(必须使用 JSON 输出)、fins earnings-date 的互斥查询
idxreferences/commands-idx.md指数代码指定、TOPIX
bulkreferences/commands-bulk.md批量下载的判断标准、工作流、端点列表
tdreferences/commands-td.md使用 --cursor 进行实时轮询、--download 的用法、文件名规则
plansreferences/plans.md各套餐的 API 可用性、可获取期间、附加组件信息
schedulereferences/data-update-schedule.md需要判断数据新鲜度、了解更新时间的详细信息、查看不同场景的判断示例时

Output, Fields, and Save

# 出力形式: table(デフォルト)、json、csv、parquet
jquants --output json eq master
jquants --output csv eq master
jquants --output parquet --save master.parquet eq master   # Parquet は --save 必須

# ファイル保存(--save は --output table と併用不可)
jquants --output csv --save master.csv eq master
jquants --output json --save daily.json eq daily --code 86970

# フィールド選択: -f でカラムを絞り込み(全形式で有効)
jquants -f Date,Code,AdjustmentClose eq daily --code 86970
jquants --output csv -f Date,Code,AdjustmentClose --save daily.csv eq daily --code 86970

# パイプでデータを加工
jquants eq daily --code 86970 | head -5                         # 自動CSV
jquants --output json eq daily --code 86970 | jq '.[0]'        # JSON明示

Workflow Recipes

分析特定股票的股价趋势
# 1. 銘柄コードを確認
jquants eq master --code 72030

# 2. フィールド名を確認
jquants schema eq.daily

# 3. 過去3ヶ月の日次データを CSV で保存
jquants --output csv --save toyota.csv \
  -f Date,AdjustmentClose,Volume \
  eq daily --code 72030 --from 2026-01-01 --to 2026-03-31
获取所有股票的月度数据(批量)
# 個別APIでループしない。全銘柄は bulk を使う。
jquants bulk get --endpoint /equities/bars/daily --date 2026-03 --download

# 解凍して CSV として利用
gunzip *.gz
获取财务信息
# 配当情報(期間指定)
jquants --output csv --save div.csv fins dividend --from 2026-01-01 --to 2026-03-31

# 財務サマリー(銘柄指定、JSON推奨)
jquants --output json fins summary --code 86970

# 財務諸表の完全データ(FS フィールドは JSON 必須)
jquants --output json fins details --code 86970

Special Behaviors

eq trades 在内部使用批量 API

与其他 eq 命令不同,eq trades 会在内部调用 /equities/trades 批量 API。因此:

  • 不能使用 --code 标志
  • 可以使用 --date YYYY-MM 格式指定月份(与单项 API 的 YYYY-MM-DD 不同)
  • 使用 --download 标志可将文件保存到当前目录
jquants eq trades --date 2025-12             # URL取得のみ
jquants eq trades --date 2025-12 --download  # ファイルダウンロード
fins details 的 FS 字段

fins details 的 FS(Financial Statement)字段是嵌套的 JSON 对象。在表格视图中会简写为 "N items"。如需获取完整数据,请使用 --output json。

deriv 的 --contract-flag

--contract-flag 1 仅获取主力合约月份(交易最活跃的合约月份)。省略时会返回所有合约月份的数据。deriv futures 和 deriv options 均可使用此标志。

Rate Limits

J-Quants API 会按套餐设置每分钟的请求上限。合理设计命令以避免触及上限,可避免不必要的访问限制。

各套餐的上限(请求/分钟)
套餐上限
Free5
Light60
Standard120
Premium500
各附加组件的上限(独立于套餐适用)
附加组件上限
股价分钟线・逐笔数据60
TDnet/及时披露信息100
超出限制时的行为
  • 会返回 HTTP 429 Too Many Requests
  • 持续大幅超限时,访问会被完全阻断约 5 分钟(立即重试会适得其反)
避免超限的要点
  • 不要对所有股票 × 所有日期进行逐项循环 — 使用 bulk get,通过 1 次请求批量获取所有股票的数据
  • 收到 429 后不要立即重试 — 等待一段时间(数十秒至数分钟)后再试
  • 使用查询参数筛选 — 减少不需要的字段或日期范围,以便通过 1 次请求获取所需数据

Subscription Plans & API Availability

不同套餐的 API 访问权限和可获取期间各不相同。提出命令前,请先确认套餐限制。如果套餐不明确,请提供命令并注明所需套餐。

最低所需套餐速查表
最低所需套餐CLI 命令
Freeeq master, eq daily, eq valuation, eq earnings-calendar, fins summary, fins earnings-date, mkt calendar
Lighteq investor-types, idx daily-topix
Standardmkt margin-interest, mkt short-ratio, mkt short-sale-report, mkt margin-alert, idx daily, deriv options-225, edinet major-shareholders, edinet cross-shareholdings, edinet large-volume-shareholders
Premiumeq am, fins details, fins dividend, mkt breakdown, deriv futures, deriv options
Add-oneq minute, eq trades(需要订购分钟线・逐笔数据专用附加组件)
Add-ontd list, td files, td bulk(需要订购 TDnet/及时披露信息附加组件)

**套餐层级:**Free < Light < Standard < Premium(高级套餐包含所有低级套餐的 API)

**Free 套餐的限制:**无法下载 CSV/批量数据(mkt calendar 除外)。仅限 API 访问。数据仅限于「12 周前至 2 年 12 周前」的时间窗口(无法获取最近 12 周和 2 年以前的历史数据)。

可获取期间和数据范围的详细信息请参阅 references/plans.md。

Data Freshness(更新时间)

J-Quants API 的数据会在市场事件发生后陆续更新。当前时间与更新时间的关系会影响可获取数据的新鲜度。

按时段划分的更新摘要(JST)
预计更新时间更新的数据
〜10:05财报发布日期(fins earnings-date)更新为当天已公布的数据
〜12:00当天前场四本值(eq am)更新
〜16:30当天股价四本值、分钟线、逐笔数据、指数、卖空比例、融资余额(日次)更新
〜17:30股票主数据、卖空余额报告更新
〜18:00交易明细、投资部门分类(周次)、财务信息(速报)更新
〜19:00财报发布日期(仅 3 月和 9 月期,eq earnings-calendar)更新(不定期,与 JPX 联动)
随时EDINET 文件来源的数据(edinet 系列)在披露发生后立即反映(工作日 8:00〜17:59)
〜24:30财务信息(定报)、财务报表(定报)更新
〜27:00衍生品(期货、期权)当天的数据更新(27:00 = 次日 3:00 AM)
エージェント判断の指針
  • 更新時刻前に当日データを聞かれた場合: 「○○:○○頃に当日分が反映されます。現時点では前営業日のデータが最新です」と伝える
  • 週次データ(投資部門別): 投資部門別は木曜18:00が更新目安。それ以外の曜日は前週分が最新。信用取引残高(mkt margin-interest)は 2026-09-25 申込分以降は日次(毎営業日 16:00頃)
  • デリバティブは27:00(翌日3:00 AM)更新: 翌営業日の早朝にならないと前日分が揃わない
  • 「データが古い」と言われたとき: 更新時刻・週次サイクル・休祝日・プランの期間制限を順に確認する

詳細な判断フローとシナリオ例は references/data-update-schedule.md を参照。

Common Pitfalls

誤り正しい書き方なぜ
eq daily --code X --output csv--output csv eq daily --code Xclap がサブコマンド後のフラグをサブコマンドのオプションとして解析するため
--save out.csv eq daily(output 未指定)--output csv --save out.csv eq dailytable 形式は --save 非対応。保存には csv/json/parquet を明示する
mkt short-ratio --code 0050mkt short-ratio --s33 0050short-ratio は銘柄ではなく33業種分類でフィルタする API 設計のため
mkt short-sale-report --date 2024-08-01--disc-date または --calc-date を使う公表日と計算日は別概念。--date フラグは存在しない
eq daily --date 2026-03(月のみ)--date は YYYY-MM-DD 形式月指定は bulk 系のみ対応。個別 API は日単位
全銘柄ループで eq daily --code X を繰り返すbulk get --endpoint /equities/bars/daily --date YYYY-MM --downloadAPI rate limit 回避 & 効率。1ファイルで全銘柄取得可能
--output parquet eq daily(--save 未指定)--output parquet --save out.parquet eq dailyParquet はストリーミング出力できないため、ファイル保存が必須
-f date,code(小文字のフィールド名)-f Date,Code(jquants schema <endpoint> で確認)API フィールド名は PascalCase。大文字小文字を区別する
fins details でテーブル表示すると FS が "N items" になる--output json fins details を使うFS フィールドはネストされた JSON オブジェクト。テーブル表示では要約される
429 を受けてすぐリトライする数十秒〜数分待機してから再試行する大幅超過が続くと約5分間遮断される。即時リトライは遮断を長引かせる
Free プランで bulk get や --output csv を使う個別 API(eq daily --code X)を使う、または上位プランへアップグレードを促すFree プランは CSV/バルクダウンロード非対応(mkt calendar を除く)。API のみ利用可能
Light プランで idx daily や deriv options-225 を使うStandard プランが必要である旨を伝えるStandard 以上が必要な API。プランとコマンドの対応は references/plans.md を参照
16:00に eq daily で「今日の株価」を取得して最新と思い込む「16:30頃に当日分が反映されます。現時点では前営業日のデータです」と伝える株価四本値は16:30頃に当日分が更新される。更新前は前営業日のデータが最新
mkt margin-interest --published-date X --date Y のように公表日と申込日付を同時指定する--published-date 単独(--code との併用は可)にする公表日と申込日付(--date/--from/--to)は排他。2026-09-25 申込分以降は毎営業日 16:00頃に前営業日分が反映される日次データ。2026-09-24 以前は週末時点のデータのみで、PubDate と金額 6 項目は null

评论

支持 Markdown