フリーキーズ | 独学プログラミング

Pythonで株自動取引システム Vol.1 環境と目標値について

このコンテンツは運営者の田邉が株取引のシステムトレードを検討しつつ、実際に構築していく運営日記のようなシリーズです。
少しずつ作っては試し、改修しては試し、を繰り返していく予定です。

株のシステムトレードで使う環境と目標

いろいろと悩みましたが、最終的にGoogle Colaboratory(通称Colab)を使うことに決めました。
理由としては以下。

  • 小さいコード片を試す際、環境を複数作って管理するのは面倒
  • 機械学習を取り入れたい際に手元のPCよりColabのほうが高性能
  • メインPCがMac、サブ機がWindows + WSL2のため、Macで開発しつつWinで使える証券ソフトのデータを扱うのに中央集権化したい

最終的に目指す環境

自動取引というからには、「一切、自分の手を介在させずに運用しつつ利益を上げることができるシステム」を目指していきたいと考えています。
そのため、「一日に1回はこの作業をしなければ」という制約すら妥協せずに押し進めていきます。

青写真ではありますが、想像では以下のような雰囲気で開発できればよいかと思っています。

  • 新しい手法や分析手法はGoogle Colaboratoryで試す
  • 採用した手法は1つのPythonプロジェクト上に落とし込む
  • Google Cloud上のCloud Run Jobs等で実行できるようにする
  • SchedulerやGoogle Cloud Storageをトリガーに発火する
  • 学習、計算周りは何かしらコスパの良い高GPU環境にぶち込む
  • 自動売買は上記で算出された結果を楽天マーケットスピードⅡ等で実施できるように落とし込む

成功したと言える目標値

何をもって成功とするかについてもあらかじめ定義しておきます。
ただ闇雲に「いっぱいお金を稼ぐぞ」と言っても、人間の欲望は果てしないものです。仮に運良く利益が発生したとしても、際限なくそれを伸ばそうとするでしょう。

せっかくなので自問自答してみます。

  • 自動取引で成し遂げたいことは = 手を動かさずに金を稼ぐというロマン、IT屋としての能力を試したい
  • 金を稼ぐ、とはどのくらいか = せめて年間のダイビング費用(20万弱程度)あったら嬉しい、ただし所得税・住民税も考慮したい
  • では年間で30万稼げれば良いか = 第一目標としては正しい、達成したら次の目標を立てる
  • 原資は = キリ良く100万
  • 先物は扱うか = 借金こさえたくないので現物のみ
  • 1単元も買えないところまで損失を出した場合 = 翌年に100万をさらに出資(生活をおびやかさなければ)、年間100万以上の損失は出ないようにする
  • IT屋としてどのような能力を証明できれば良いか = 統計を扱う力(計算自体はしない)、文脈を読む力、それらをシステムとして扱う力
  • 統計に詳しくなるか = ならない、自分よりずっと頭の良い人が考えた算出方法をシステムに落とし込むだけ
  • 文脈とは = 世の時流、企業の状態、市場の流れ
  • テクニカル or ファンダメンタルズ = テクニカルをベースにファンダメンタルズで重み付けしたい
  • 結果は公表するか = 証券会社やその他関連するサービスの規約に違反しない程度
  • いつまで続けるか = 満足するまで

無理せず続ける趣味としての自動取引

いろいろと思考実験をした結果、基本的に臆病者なので大きく稼ぐために死ぬ気でやる、という雰囲気にはならないという印象です。
日曜大工をするお父さんのように、淡々と作業をし、我が子(自動取引システム)を見守るように育てていきたいです。

冒頭でも書きましたが、この記録はあくまで個人的な趣味の範囲内のものなため、当社および当サービスではなんら責任は負いません。
というよりもラクしてお金を稼ごうとせず、自身のスキルを伸ばしてよりよい転職や案件を見つけるという王道をいったほうが100%稼げます。

労働に対して対価が発生するわけでもなく、むしろ損失を被る危険性も多分に含まれています。
公開したら面白そうだなぁと思ったので公開しますが、決して良い子は真似しないようにしましょう。

関連するコンテンツ