0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

kabu STATION API Ver5.41 でコードが壊れた人へ:SOR移行を自動診断・修正するツールを作りました

0
Posted at

はじめに

2026年5月18日、kabu STATION API の Ver5.41 アップデートに合わせて eスマート証券の国内株手数料が無料化されました。

しかしこのリリースには「破壊的変更」が含まれており、従来の Python コードが発注時にエラーになるという問題が発生しています。

本記事はこんな方向け

  • kabu STATION API を使った自動売買/ボットを運用している
  • Ver5.41 以降に「発注が通らない」「API エラーになる」という症状が出ている
  • 修正箇所が多くて手作業では時間がかかる

対処ツールを OSS として公開したので、紹介します。

👉 kabu-sor-migrate (GitHub)


何が変わったか

問題の根本は市場コード TSE (1) の廃止です。

項目 Ver5.41 以前 Ver5.41 以降
市場コード 1 ("TSE") 廃止
移行先 9 ("SOR") または 27 ("TSE+")
影響 API 発注・板照会など exchange を指定する全 API

SOR と TSE+ どちらを使うか

通常は SOR (コード 9) を推奨します。

  • SOR (コード 9): 複数市場を横断して最良価格で執行。eスマート証券の手数料無料化もこちらが対象。
  • TSE+ (コード 27): 東証を優先して執行。特別な理由がある場合のみ。

自動診断・修正ツール: kabu-sor-migrate

修正箇所を手作業で探すのは漏れが出やすいため、自動で診断・修正するツールを作りました。

git clone https://github.com/ballondol/kabu-sor-migrate
cd kabu-sor-migrate

# まず診断(コードは変更されません)
python migrate.py diagnose your_kabu_script.py

# 問題なければ自動修正
python migrate.py fix your_kabu_script.py

診断の出力例

============================================================
⚠️  kabu STATION API Ver5.41 SOR移行 診断結果
============================================================
対象: your_kabu_script.py
検出件数: 2 件

📄 your_kabu_script.py
  行   10 [numeric JSON PascalCase]
    現在: "Exchange": 1,
    推奨: "Exchange": 9,
  行   26 [JSON lowercase]
    現在: "exchange": "TSE"
    推奨: "exchange": "SOR"

診断だけなら既存コードは一切変更されません。安心して実行できます。


対応しているコードパターン

以下のパターンをすべて検出・修正します。

JSON / dict スタイル

{"Exchange": "TSE"}    # → {"Exchange": "SOR"}
{"exchange": "TSE"}    # → {"exchange": "SOR"}
{"Exchange": 1}        # → {"Exchange": 9}
{"exchange": 1}        # → {"exchange": 9}

キーワード引数スタイル

exchange="TSE"    # → exchange="SOR"
exchange=1        # → exchange=9

ライブラリ定数スタイル(kabusapi パッケージ使用時)

ExchangeType.TSE    # → ExchangeType.SOR
Exchange.TSE        # → Exchange.SOR

手動で修正する場合

ツールを使わず手動で修正する場合は、以下を置換してください。

# 修正前
"Exchange": "TSE"
"Exchange": 1

# 修正後
"Exchange": "SOR"    # または "TSE+"
"Exchange": 9        # SOR
"Exchange": 27       # TSE+

修正後の確認

修正後は必ず動作確認をしてください。

kabu STATION を起動した状態で、小額で発注テストを行うことを強く推奨します。自動修正後のコードを本番環境で無確認のまま使わないでください。


おわりに

Ver5.41 の破壊的変更は、手数料無料化という良いニュースと同時に来たため見落としがちです。

同じ問題で詰まっていた方の参考になれば幸いです。バグ報告・改善要望は GitHub Issues へどうぞ。

👉 kabu-sor-migrate (GitHub)


この記事は Zenn の同記事 を Qiita 向けに改稿したものです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?