Pythonによるシステムトレード(sbi証券ログイン)

10年前にシステムトレードをVBSで検討したが、結局何もせずに終わった。

NOVAでお金を失って株の自動売買を検討
2007年11月09日(金) NOVAにまた授業料支払いか・・・世の中には二種類の人間がいるんだ。一人は前例を基にいい仕事をする。一人は前例を壊すことを仕事にしている。前者が文系で、後者が理系だ。...

Deep Learningを使っても株の勝率60%程度だと色々なブログで書かれており、自動売買は夢なのかな・・・。

pythonの学習とDeep Learningの学習、株のシステムトレードの学習再開という位置づけで、ゆっくり作るか・・・

と、考える猶予はない!

何度失敗したことか・・・

まずは

バックテスト環境を早く作ること

に注力します。

Python3で自作する事を検討

ネットで調べると情報が多すぎてどのライブラリを使うのが最適なのか迷ってしまいます。

まずは今どのようなライブラリがあるのか、主要なものだけリストアップしてみました。

ライブラリ名
フレームワーク scrapy
HTTPリクエストを行うライブラリ requests
htmlパーサのライブラリ lxml
HTMLを解析するライブラリ beautifulsoup4 / pyquery
【番外】スクレイピングライブラリ
(python3 には未対応)
mechanize

このリストから考えると、想定しうる組み合わせは

  • requests + beautifulsoup4 ( + lxml )
  • requests + pyquery
  • scrapy

という感じになりそうです。

beautifulsoup 4 系は htmlパーサを選べるようになったので、パーサに lxml を使うことでより高速に処理できます。
pyquery は jQuery ライクのセレクタを使えるライブラリで、内部では lxml が使われています。
scrapy は 2016年5月に公開された バージョン 1.1 から python3 に対応しました。

自動ログインしてみる

ログインの際に何をPOSTとして送ればよいのか調べるため、SBI証券のソースコードを読んでみました。

結果、パスワード入力の箇所は以下のようなフォームになってました。

それを踏まえたアルゴリズムは、このようになります。

SBIバックアップサイトで自動ログインしてみる

ネットで自動化に関して調査していた「k.sbisec.co.jp」というドメインも見かけた。

こちらの方が、自動売買には最適そうです。

ログインに成功。

ただ・・・

バックテスト可能な環境を早く得ないと始まらない。

には、ほど遠い気がする・・・。

タイトルとURLをコピーしました