【環境構築検証③】Python自動売買のAPI連携に「kabuステーション」を選定した理由

前回までで、自動売買プログラムを安定して稼働させるためのハードウェア環境(ミニPC+ダミープラグ)の構築記録をまとめました。 今回からは、検証用ミニPCの中身である「ソフトウェア環境」の構築に入ります。まずは、プログラムから注文を出すための窓口となる「証券会社のAPI」の選定理由について記録します。

Python開発に適したAPI環境の比較検討

Pythonを使って株の自動売買を行うには、証券会社が公式に提供している「API(アプリケーション・プログラミング・インターフェース)」を利用する必要があります。

システムの検証を始めるにあたり、国内の証券会社が提供する複数のAPI仕様を比較検討しました。個人開発の観点から、「REST APIやWebSocketが公式にサポートされているか」「Pythonのプログラムから安全かつ柔軟にリクエストを処理できる仕様設計になっているか」といった技術的な要件を精査した結果、今回のシステム検証環境として「auカブコム証券(現在の三菱UFJeスマート証券)のAPI」を採用することとしました。

最大の選定理由は「開発情報の多さ」

最終的にこのAPI環境でシステムを構築しようと決断した最大の理由は、「インターネット上にPythonとkabuステーションAPIを連携させる技術記事や有志のコード(知見)が豊富に存在していたから」です。

プログラミングによる個人開発において、予期せぬエラーやバグは必ず発生します。その際、利用者の少ないマイナーなAPI環境を選んでしまうと、検索しても解決策が見つからず開発が頓挫するリスクがあります。 その点、kabuステーションAPIは個人の自動売買開発者によく利用されており、トラブルシューティングが行いやすい(デバッグのハードルが下がる)という技術的なメリットがありました。

現在の検証用API環境について

このような開発のしやすさ(技術的な情報のアクセス性)を考慮し、本ブログの検証システムでは「三菱UFJeスマート証券」の口座を開設し、kabuステーションAPIを利用して日々の稼働テストを行っています。

※なお、APIへの資金移動に用いる連携銀行口座については、証券会社が指定する範囲内で任意の金融機関を利用しています。


次回は、このkabuステーションをミニPCにインストールした後の「APIの利用設定」と、専用機におけるPCの負荷を極限まで下げる「グレー画面化(描画の軽量化)」の技術的な設定手順について解説します。

⚠ 免責事項 本記事は管理人がシステムの検証に用いているAPI環境の選定理由(技術的背景)を記録したものであり、特定の証券会社の利用や口座開設を推奨するものではありません。各証券会社のAPI仕様や手数料は変更される可能性があるため、ご利用の際は必ず公式サイトの最新情報をご確認いただき、自己責任にてご判断ください。