プログラミング言語で株の自動取引?「kabuステーション® API」という画期的なツールがリリースされたので使い方を教えてもらった

プログラミング言語で株の自動取引?「kabuステーション® API」という画期的なツールがリリースされたので使い方を教えてもらった

Kazuya Takato

Kazuya Takato

こんにちは。エンジニアのづやです。

最近、テレビを見ていると日経平均株価に関するニュースが気になるようになりました。コロナの影響でリーマンショック以来の下落をしたとか、その後に急回復してコロナ前の水準に戻ったとか、色々と変動がありますよね。

 
PCを見ながら悩むづやの写真
家族のためにも、「資産運用を真剣に考えなければ」と、アラフォーにしてに思っていたところでもありましたし……。老後資金のために自分で2,000万円くらい資産形成しないと大変だよって最近よく聞きますし……。

ただ、最近の投資環境を調べてみると、なんだか個人投資家は勝ちにくいみたいですね。資金力のある大口の機関投資家が株価をコントロールしていて、アルゴリズムを使った自動取引で株価の急騰や急落に対応しているのだとか。

そんなの、個人が勝てるわけない……。

平日は仕事で日中の値動きに張り付いているわけにはいきません。急な値動きに対応できないのが不安だし、たとえ張り付いていたとしてもプログラムされた自動取引に対抗できるわけなんてないことは容易に想像できます。

でも諦めきれなかった僕は、なにか便利な取引ツールがないのかと、調べることに……。

 
づやがPCを見ている写真
すると、auカブコム証券の「kabuステーション® API」が目に止まりました。これなら、個人でもシステムトレードができるはず!

「kabuステーション®API」って?
kabuステーション® API」は、自分の好きな開発言語を使って株取引におけるデータの取得や注文執行が可能なツール。auカブコム証券が提供している。

調べた限り、このツールの特徴を簡単にまとめると以下の通りです。

  • APIを利用して自由度の高い取引環境を構築できる
  • 汎用性の高い「REST形式」により、C#やPython、Java、PHPなどのプログラミング言語を選んで実装できる
  • マクロや関数等のExcel諸機能も利用可能
  • GitHub上でシステム部員やユーザー同士でソースコード、分析手法の情報共有が可能

……どうですかエンジニアのみなさん。

このツールを使って、「自分が考えた最強のトレードシステム」を構築してみたくなるのが、エンジニアって職業じゃないでしょうか。

ですが、そもそも株取引にそんな詳しくありません。そこでauカブコム証券を訪問して、「kabuステーション® API」のことや株取引のことをいろいろ聞いてしまおうという案を思い付きました。さっそくお話を聞きにauカブコム証券へ訪問することになりました!

auカブコム証券の担当者へインタビュー!

auカブコム証券を訪問するづやの写真
ここがエントランスです。さらに先に進むと、大きな株価ボードとトレード用のマルチモニターが!

 
トレード用のモニターの前に座るづやの写真
せっかくなので許可をもらい、デスクに座ってデイトレーダーの気分を味わせてもらいました(笑)

感動しているうちに、担当の方が到着していました。さっそくお話を伺っていきます!

 

「個人投資家にデジタルの武器を」から生まれた株取引ツール

auカブ証券の小崎さんの写真

人物紹介:小崎(こさき)さんauカブコム証券 執行役員 システム統括。システム開発や運用全般を担当。最近の趣味はブロックチェーンブームが再到来し、DefiやUNISWAPそのものや、将来性について調べること。

づや:よろしくお願いします!

小崎さん:こちらこそよろしくお願いします。

づや:まずauカブコム証券さんはどんなサービスを提供しているのか教えてください。

小崎さん:当社は個人投資家を対象に資産形成に関するサービスを提供する「ネット証券会社」の一つです。詳しくはこちらも参考してください。

そもそも「auカブコム証券」ってどんな会社?(クリックすると詳細が表示されます)

auカブコム証券は、三菱UFJフィナンシャル・グループとauフィナンシャルホールディングスの2社によって運営されるインターネット専業の証券会社。対面型の証券会社とは異なり、実店舗がなくネットでの取引をメインに提供している。

 

づや:ありがとうございます! それでは「kabuステーション® API」とはどういうサービスなんですか?

 
づやに説明する小崎さんの写真
小崎さん:kabuステーション® API」は国内の証券会社で唯一(※)となるREST形式のAPIを提供しています。これを使えば、個人でも自分のパソコンを使ってプログラミングを構築し、システムトレードで高速取引ができる発注環境を作れます。

(※)auカブコム証券調べ(2020年8月11日時点)

づや:既存の取引方法とAPIを使った取引方法とは、実際どのように違いますか?

小崎さん:従来ネット証券で株取引をする場合、証券会社の提供するWebサイトや専用アプリでしかできませんでした。ですから、取引手法はそのアプリの機能に依存するしかありませんでした。しかしAPIを利用すれば、独自の自由な環境を構築して取引できるようになるんです。

 
小崎さんに話しかけるづやの写真
づや:なるほど! 次は、「kabuステーション® API」を開発した経緯について教えてください。

小崎さん:すべてのひとに資産形成をという社会的使命のもと、個人投資家へ「デジタルの武器」を提供するために開発しました。

づや:(なんかかっこいい……)

小崎さん:開発した背景は主に2つあります。

づや:詳しく聞きたいです!

個人にもシステムトレードができるインフラを提供したい

づやに話しかける小崎さんの写真
小崎さん:まず1つ目ですが、機関投資家と個人投資家の間には、現状大きな取引インフラの格差があることがきっかけでした。

機関投資家とは?
保険会社や投資信託、信託銀行、年金基金など、巨額の資金を使って株式や
債券を運用する大口投資家のこと。

小崎さん:東京証券取引所では売買注文の高速処理が可能なシステムが盛んに用いられており、機関投資家を中心にアルゴリズムトレードが活発化しています。一方、個人はそういった環境が十分ではなかったため、どうしても取引インフラに格差が生まれてしまっていたのです。

づや:そこで個人でもシステムトレードができるようにしたってことなんですね!

小崎さん:おっしゃる通りです。機関投資家と個人投資家のインフラ格差を解消するためにも、個人へ自由度の高い投資環境を開放するに至りました。

システムトレードは手動の売買に比べてパフォーマンスが高い

笑顔で話すづやの写真
づや:とはいえ、個人が誰でも自動売買の環境を作れるようになったからといって、投資のパフォーマンスって上がるものなんでしょうか……?

小崎さん:はい。当社で提供している「kabu.com API」経由のシステムトレードは、裁量取引(手動で売買すること)よりも投資成績がずっと優れているんです。これが当社で同ツールを開発した2つ目の理由ですね。

づや:実際にどのくらいパフォーマンスが違うのでしょうか?

小崎さん:裁量取引を中心とする既存チャンネルと、API経由での自動売買との信用取引実現損益を比較すると、API経由の方が遥かに高パフォーマンスでした。以下のグラフをみていただくと、かなり開きがあることがお分かりいただけるかと思います。

▲API経由による自動取引(青のグラフ線)と、逐一自分の判断で売買を行う裁量取引(白のグラフ線)の比較

づや:たしかに、API経由の損益だけはずっとプラスで推移していますし、その差が一目瞭然ですね! これなら、個人が自動売買を使わない手はないってことが僕でも分かります!

小崎さん:なので「kabuステーション® API」を通じ、個人投資家の方々も「デジタルの武器」を持っていただきたいと考え開発しました。

づや:なるほど。「プログラミングで自動売買ができる」という魅力はよく分かったんですが、僕のような投資初心者でもプログラムを組んでトレードできるようになるんでしょうか……?

小崎さん:はい、もちろん初心者でも自身で戦略を考えていただくことで、誰でもプログラムで組んだトレードが実現できます。
初心者だけでなく「既に自分の戦略を持っているけどそれを実行できるツールがない」と悩まれていた方や、「デイトレードでの短期売買を効率化したい」と考えられた方などにも使っていただけますね!

 

「kabuステーション® API」で使える機能や手数料について

横を向くづやの写真
づや:早く使ってみたいんですが、その前に基本的なことについて教えてください! 「kabuステーション® API」では、どんな商品が取引できるんでしょうか?

小崎さん:現状は国内の株式がメインでして、現物取引と信用取引の両方可能です。なお、10月中には先物取引やオプション取引にも対応予定ですね。

 

現物取引:自分の自己資金で行う取引のこと。
信用取引:証券会社に担保を入れ、金銭や株式を借りて行う取引のこと。

づや:そうなんですね! このツールでは、株の取引においてどんな機能が使えるようになりますか?

小崎さん:ざっくり言うと、「発注系」「参照系」「情報系」といった3つに関する事項を使っていただけます。

 

情報系:時価情報、銘柄情報、板情報
発注系:成行・指値など
参照系:注文照会、約定照会、残高照会

たとえば株を注文する場合だと、「成行注文」や「指値注文」「逆指値注文」といった様々な注文方法に対応していますね。

 

成行注文:値段を指定せずに注文すること。
指値注文:自分が指定した値段で注文すること。
逆指値注文:予め指定した価格以上、または以下に達した場合に注文を実行すること。

他にも取引余力や残高の照会もできますし、銘柄の時価や板(※)、企業の業績に関する情報も確認できますよ。

(※)価格ごとの「買い注文」と「売り注文」の一覧表のことを板と言う。

「kabuステーション® API」の利用料や取引手数料は?

づや:ここまでの機能が「kabuステーション® API」を通じて使えるのはすごいと思うのですが、利用料金などは発生するのでしょうか……?

熱っぽく話す小崎さんの写真
小崎さん:kabuステーション®のFintechプラン以上が適用になっていれば無料になります(※)。

(※)Fintechプラン適用条件には信用口座の開設や、前月の取引回数1回以上などの無料利用適用条件があります。

づや:条件をクリアすれば無料! ただ利用料金とは別に、株取引には「取引手数料」が発生しますよね……? その辺どうなんですか?


小崎さん:当社は2019年12月より信用取引の手数料を無料化させていただきましたが、さらに現在「API割キャンペーン」が開催されております。2020年12月30日までであれば、現物取引手数料が実質月額3,960円、そして信用取引の金利は無料となります!

づや:月額固定の料金体系だったら手数料の計算もかなり楽になりますね!

小崎さん:はい。月に何度取引をしても、実質この金額を上回ることはありません。都度手数料を取る形だと、どうしても手数料コストの計算がしにくいうえ、頻繁に取引すると手数料だけで莫大になってしまいます。なので、トレーダーの方々にとって分かりやすい報酬体系を実現させました。

▼API割キャンペーンの概要

期間 2020年8月21日(金)~2020年12月30日(水)
特典1 kabuステーション® API」経由の現物株式取引手数料を実質月額定額(3,960円・税込)に
特典2 kabuステーション® API」経由の信用取引について
→信用取引の買方金利をダイヤモンドプラン(手数料無料・買方金利1.69%〜)を適用
→さらに日計り分の買方金利を全額キャッシュバック

国内の証券会社で唯一となるREST形式のAPIを提供

づや:実際にどんな方法でプログラムを組んでいけばよいのでしょうか?

小崎さん:kabuステーション® API」はREST形式のAPIを提供しているので、C#やPython、Java、PHPなどのプログラミング言語を選んで実装できます。

REST形式とは?
RESTとは、(REpresentational State Transfer)の略称で、Webサービスの設計モデルのこと。 REST形式のWebサービスは、サービスのURIにHTTPメソッドでアクセスすることで、データの送受信が行える。

づや:おお! これならいつも仕事で使っている言語を選んだりもできますね。自分の使いやすい言語でプログラムが作れるし自由度が高そう……!

 
大画面を見るづやと小崎さんの写真
小崎さん:はい、それにスクリプトベースでの提供方式に加え、専用のExcelアドインもお使いいただけますよ。例えばマクロや関数といったExcelの機能を使いながらトレーディングもできますし、集計機能を活かしながら、Excel上で自動的に注文を発注できたりもします。

づや:Excelはよく仕事で使うし、これはありがたいです。

小崎さん:エンジニアにとって「これがスタンダード」だと思えるものは全て揃えています! まずは「プログラミングで独自の環境を組み立てる」という行為そのものを楽しんでいただけたらと思います。

GitHubのコミュニティで質問ができる安心感

づや:とはいえ、投資初心者がいきなり取引のプログラムを組むには少し不安もあります。具体的なプログラムの組み方はどこかで教えてもらえるんでしょうか?

小崎さん:kabuステーション® API」における質問や要望は、全てGitHubのコミュニティで受けています。

づや:GitHub上で技術的な質問をやり取りするんですね。

小崎さん:はい。個々の取引手法のような話は展開されていませんが、当社のエンジニアがツールの使い方に関する部分はお答えするので、システム面での質問や要望などを投稿してみてください。

 
づやに話しかける小崎さんの写真
小崎さん:なお、今後はどんなトレードのロジックを組めば良いのかわからないという人のために、アルゴリズムトレードのサンプルなども拡充していく予定です。

づや:サンプルがあると嬉しいですね。投資初心者にとってはとてもありがたいです!

 

「kabuステーション® API」を使ったアルゴリズムトレードの具体例

小崎さんの説明を聞くづやの写真
づや:具体的にどんなプログラムが組めるのか、正直まだイメージが掴めておらず……。実際に「こんなトレードができる!」というものを教えていただきたいんですが……。

小崎さん:そうですね。手法はさまざまですが、例えばこんなプログラムが組めたりします。

 

  • ある価格から5%下落したら自動的にロスカットするプログラム
  • 要人のTwitterでの発言で株価が変動した際、その方向に従い取引するプログラム

具体的にご説明しますね。

価格が5%下落したら自動的に「ロスカット」するプログラム

小崎さん:例えば、自分が保有している株が、設定した価格から5%下落したら自動的に「ロスカット」されるようなプログラムも組めるんです。

ロスカット(損切り)とは?
損失を抱えている状態で保有している株式などを売却して、損失を確定させることをいう。

づや:なるほど。一定水準の損失額に達すると、自動的に自分の抱えている損失がそれ以上膨らまないように制御してくれるってことでしょうか……?

小崎さん:はい。特に自動トレードは「損切り」のルールを徹底できる点がメリットなんですよ。

PCを見るづやの写真
づや:なぜ損切りのルールが重要なんですか?

小崎さん:なぜなら、トレードは損切りが上手な人ほどパフォーマンスが向上しやすいからです。損を抱えていると「損をしたくない」「明日こそは上がるだろう」といった感情で売買してしまう心理があるんです。しかし、感情に頼っていては自分で決めたルールを遵守して取引できません。

づや:人間だから感情で動くことありますよね。でもシステムトレードだったら、予め自分で決めたルールに沿って売買ができるし、感情的にならなくても勝手に損切りができるようになりますね!

小崎さん:感情ではなく理論で取引するためにシステムトレードを活用するというのも方法の一つです。もちろん、投資は余剰資金で行ってくださいね(笑)

要人のTwitterでの発言に沿って取引するプログラム

笑顔で話す小崎さんの写真
小崎さん:他にも、TwitterのAPIと組み合わせて、要人がTwitter上で思わぬ発言をした際に取引を行うようなプログラムも組めます。たとえば、某国の大統領が市場に大きな影響を与えるような金融政策や貿易などに関する発言をしたタイミングとか。

づや:確かに、最近はニュースでもTwitterでの発言が言及されるようになりましたからね。ではそういった重要な発言を察知して、すぐに取引を行えるようなプログラムも組めるんですか?

小崎さん:はい。当社のツールならそれも実現可能ですよ。

づや:予めプログラムを組むだけでそういったトレードが実現するなら、僕でもなんだかできそうな気がしてきました! ちなみにAPIってどんな感じで動くのでしょう? もしよければ、実際にプログラムを組んでいただけないでしょうか……?

小崎さん:はい、できますよ。

づや:ぜひ見せてください!

大画面を見るづやの写真
小崎さん:プログラムを組むと、こんな感じで動きます。

づや:すごい!!!

どんな感じかプログラムを組んでみたい!

 
づや:ちなみに、レイテンシーってどんなものなのでしょう? いつも何かサービスを使う際はレイテンシーを気にしているのですが……。

レイテンシーとは?
データ転送において、転送要求を出して実際にデータが送られるまでに生じる、通信の遅延時間のこと。

小崎さん:既に多くのユーザーからツールをご利用いただいてますが、通信速度に関する不満は届いておりませんので、レイテンシーに関しては特に問題はないかと思います。

 

「kabuステーション® API」の利用手順

づや:実際に「kabuステーション® API」の使い方について教えていただけますでしょうか?

小崎さん:ご利用方法はとても簡単で、「kabuステーション® API利用設定」「APIシステム設定」といった2つの設定のみです。

※ツールの利用にはauカブコム証券の口座開設が必要となるので、事前に口座開設しておいてください。

づや:主に2つの設定が完了すればいいんですね……!

小崎さん:はい。ただ、ここで説明すると少し長くなるので、折りたたみますね。詳しく知りたい人は以下をクリックするか、こちらからご確認ください!

づや:(なんか新しい手法……)

「kabuステーション® API利用設定」について、ここをクリックしてください

マイページから「kabuステーション® API利用設定」を行う


まずはメンバーズサイトにログインします。


次に「設定・申込」を選択して、「らくらく電子契約」をクリックしましょう。


その後、らくらく電子契約画面の下にある「取引ツール」の「設定」をクリックしてください。


続いてkabuステーションAPI利用設定画面の「設定」をクリックしましょう。


設問に回答すると「kabuステーション利用規定」に同意にチェックを入れてください。その後パスワードを入力し、「設定する」ボタンをクリックしましょう。

これで設定完了です!

「APIシステム設定」について、ここをクリックしてください

kabuステーション®で「APIシステム設定」を行う

次に、kabuステーション®を起動します。そして画面右上の「</>」アイコンを右クリックして「APIシステム設定」を選択してください。


そして、下記の設定を行います。

  1. 「APIを利用する」にチェック
  2. パスワードを設定
  3. 「ソフトリミット」の金額を設定
  4. 「OK」ボタンをクリック


「はい」をクリック後、kabuステーション®を再起動しましょう。


再起動後、画面右上に表示されるアイコンが緑になれば、kabuステーション®APIをお使いいただけるようになります。

 

多くの人に資産形成の機会を提供できるように

PCを見て説明する小崎さんとそれを聞くづやの写真

まずは気軽に「ポイント投資」から試すのもOK

づや:今後のサービス展開について教えてください。

小崎さん:KDDIやMUFGグループとの協業で、当社では今後「ポイント投資」もできるようにしていく予定です。auでは2020年5月に従来のau WALLETポイントがPontaポイントへ統合されましたが、auカブコム証券においても、Pontaポイントを使って投資ができるようにしたいと計画しています。

づや:ほんとですか! 僕もPontaポイントはたくさん余らせているので、これは投資するチャンスですね(笑)

自分のプログラミングスキルが、投資に活かせる。

づや:では最後になりますが、これからシステムトレードを始めていきたいと考えている方々に向けて、メッセージをお願いします!

小崎さん:投資における取引インフラがどんどん高度になる中、システムやアルゴリズムを使ったトレードは勝つ為に必要不可欠な存在となりました。

そこで十分な取引インフラをプログラミングで作れる環境をユーザーへ提供しようと思い、「kabuステーション® API」を開発したので、ぜひご自身のプログラミング技術を活かして投資に触れてみてください。
こちらを見て微笑むづやと小崎さんの写真

 

まとめ


というわけで、今回お話を伺ったkabuステーション® API」のポイントを簡潔に分かりやすくまとめました!

  • プログラミングを使って自分でカスタマイズできるトレードツール
  • ExcelのマクロやPythonなどのプログラミング言語でシステムトレードができる
  • 自動で取引ができるので、急騰急落などの急な値動きに対応しやすい
  • GitHubで有効なプログラムを共有できる
  • サポート対策も万全
  • 安心できるサーバーやセキュリティ

つまり、自分が考える「勝てるトレードシステム」を自由に構築することができる、最強の取引ツールであることがわかりました。

取引インフラの格差が広がる今、今後トレードで生き残るためには、プログラミングを使ったシステムトレードが必要不可欠となるのではないでしょうか……!

自分なりの投資戦略を自動で行いたい、機関投資家のシステムトレードやアルゴリズム取引を個人でもやりたい、と思った方は、ぜひこちらから詳細をチェックしてみてください!

「kabuステーション®API」についてもっと知りたい!

 

【auカブコム証券について】
auカブコム証券株式会社
〒100-0004 東京都千代田区大手町1-3-2 経団連会館6F
お問い合わせはこちら(https://kabu.com/support/detail.html
金融商品取引業者登録:関東財務局長(金商)第61号
銀行代理業許可:関東財務局長(銀代)第8号
電子決済等代行業者登録:関東財務局長(電代)第18号
加入協会:日本証券業協会、一般社団法人 金融先物取引業協会、一般社団法人 日本投資顧問業協会
【APIについて】
・APIの提供は、技術的に不可避な理由によって情報伝達の遅延や中断が生じる場合があります。
・APIの内容については万全を期しておりますが、当社はその内容を保証するものではありません。APIサービスによって生じたいかなる損害についても、当社は、当社に故意又は重過失がない限り、その一切の責任を負いません。また当社の責に帰すべき場合を除き、APIの正確性及び信頼性について責任を負いません。
・通信機器、通信回線、商用ネットワーク及びコンピュータ等の障害によって生じたAPIの処理及び伝達遅延、誤謬並びに欠陥については、当社に故意又は重過失が無い限り、その責任を負いません。
・APIサービスを利用した結果、お客さまが不正利用をおこなっていると認められた場合及び取引所又は当社システムに過度な負荷を与える利用等が認められた場合、当社は当社の判断に基づき事前の通告なしにAPIの提供を中止することがあります。また、これによって生じたいかなる損害についても当社は一切責任を負いません。ただし、当社に故意又は重過失が認められる場合には、この限りではありません。
・当社は、API サービスに関し、API を用いて外部サービス会社が提供するサービスと APIとの連携が常時適切におこなわれること、お客さまの利用目的に適合すること、連携結果が正確性、適格性、信頼性、適時性を有すること、外部サービス会社のシステム管理態勢その他のセキュリティレベル、顧客 保護態勢、信用性等が十分であること、外部サービス会社の知的財産権その他の権利を侵害していないことの保証をおこなうものではありません。
・当社は第三者作成物等に起因してお客さまに発生したすべての損害について、当社に故意又は重過失が認められない限り、お客様さまに対して、一切の責任を負うものではありません。
・kabu.com API利用ツールのご利用について、各サードパーティ事業者のツール利用料、お客さまとのツール利用契約や、投資顧問契約等の契約、および解約は、お客さまが各サードバーティ事業者との当事者間で直接行うものであり、お客さまの責任のもとご利用ください。
・kabuステーション®APIのご利用については、kabuステーション®Fintechプラン以上の適用が必要です。

この記事のシェア数

1983年生まれ。SIerとしてのキャリアをスタートし、JavaやC#を中心に多岐にわたる開発プロジェクトにエンジニアとして参加。その経験を活かし、LIGを創業。バックエンドおよびフロントエンドエンジニアとしての深い知識と経験をもとに、多様なプロジェクトに従事。2023年7月には社長室室長に就任にし、社内の体制やルールの最適化、AI技術の推進など、経営戦略の一翼を担っています。

このメンバーの記事をもっと読む