みなさん、こんにちは。まーきゅりーです。

前回は日経平均-NYダウ手法、TOPIX-S&P500手法、ゴトー日仲値トレードに生成AIをどう使うか、という話をしました。今回はその延長線上として、日経平均-NYダウ手法、TOPIX-S&P500手法を自動売買にするには何から手をつければいいのか、という話をしてみようと思います。



毎日決まった時刻に、決まったルールで発注する。これを手作業で続けていると、いつか自動化できたらどれだけ楽か、と考えるのは自然なことではないでしょうか。手法自体はシンプルです。日経平均(TOPIX)の日足の陽線・陰線を確認し、陽線ならNYダウ(S&P500)を買い、陰線なら売る。休場日はトレードしない。ルールが単純だからこそ、自動化との相性は良いはずだと私は考えています。

実は以前、一度自動化を試みていた

自動売買と聞くと、ゼロから始める話のように思われるかもしれませんが、私にとってはそうではありません。以前、専用に使っていたパソコンが壊れる前は、実際に自動化の仕組みを動かしていました。

データの判別、つまり陽線・陰線の確認や休場日かどうかのチェックには、楽天証券のマーケットスピードII RSSを使っていました。Excel上にリアルタイムのデータを取り込み、そこから判定するという仕組みです。そして注文操作の自動化には、UWSCというWindows用の操作自動化ツールを使っていました。画面上のクリックやキー入力を記録・再生する形で、発注そのものを自動化していたわけです。

これらを決まった時刻に動かすためには、Windowsのタスクスケジューラも使っていました。指定した時刻になると、判定用のExcelファイルや、必要なWebサイトを自動で立ち上げる仕組みです。

この仕組みを動かすためだけに、専用のパソコンを一台用意していました。常時起動させておく必要があったので、普段使いのパソコンとは分けていたのです。

ところが、そのパソコンが壊れてしまい、この仕組みは止まってしまいました。今回あらためて自動化を考えるにあたっては、単に元の仕組みを復元するだけでなく、当時の反省点も踏まえて組み立て直したいと思っています。

自動化で解決したいこと・解決しないこと

自動化を考える前に、まず整理しておきたいことがあります。それは、自動化で解決できることと、解決できないことを分けて考えることです。

これまでの実績記事で見てきたように、日経平均-NYダウ手法は理論値に対して実践が約50%まで落ち込んでいます。この落ち込みは、スプレッドやスリッページ、取引時間帯の流動性といった、取引そのもののコスト構造から来ているものです。自動化したからといって、このコスト構造が改善するわけではありません。

自動化が効くのは、判定と発注のタイミングのブレや、押し忘れ、迷いといった、人間が操作することで生じる誤差の部分です。ここを自動化によって減らせれば、理論値と実践の差を多少なりとも縮められる可能性がある、というのが私の考えです。過度な期待は禁物ですが、取り組む価値はあると思っています。

自動売買に必要な4つの要素

自動売買の仕組みは、大きく分けると次の4つの要素でできています。以前の自分の仕組みを振り返りながら整理してみます。

データ取得。日経平均(TOPIX)の始値・終値、NYダウ(S&P500)の値動きをどこから取得するかという部分です。以前は楽天証券のマーケットスピードII RSSを使っていましたが、証券会社によってはAPIやRSSなど別の手段が用意されている場合もあります。

判定ロジック。陽線か陰線かを見て売買方向を決める部分です。ここはもともとシンプルなルールなので、実装のハードル自体は高くありません。

発注の実行。判定結果をもとに、実際に注文を出す部分です。以前はUWSCで画面操作を自動化していましたが、画面の見た目が変わると動かなくなるなど、この方式には弱さもありました。証券会社がAPIやEA(自動売買プログラム)に対応していれば、そちらの方が安定した仕組みを作りやすいはずです。

監視・エラー処理。通信が切れたとき、注文が失敗したとき、値が異常なときにどう対応するかという部分です。専用のパソコン一台にすべてを依存させ、そのパソコンが壊れて仕組みごと止まってしまった、という経験自体が、この部分の重要性を物語っていると思います。

証券会社側の対応状況を確認するのが最初の一歩

自動化を組み立てる前に確認しておきたいのが、自分が使っている証券会社が、データ取得や発注の自動化にどこまで対応しているかです。

たとえば、くりっく株365を扱う証券会社の中には、APIサービスを提供しているところもあります。MT4やMT5に対応した口座であれば、EAという形で判定から発注までを一体で動かす選択肢も出てきます。どの手段が使えるかは口座によって変わってくるので、まずは自分の口座がどこまで対応しているかを確認するところから始めることになりそうです。

あわせて確認しておきたいのが、利用規約の面です。証券会社によっては、API・EA以外の方法での自動売買を禁止していたり、画面操作を自動化するツールの利用を制限していたりすることがあります。以前UWSCで画面操作を自動化していた仕組みも、この観点からあらためて見直す必要があると考えています。

段階的に進める

専用パソコンが壊れて仕組みが止まった、という経験を踏まえると、今回はいきなり完全自動化を目指すのではなく、段階を踏んで進めたいと考えています。

まず、判定ルールを過去のデータに当てはめて、どの程度有効だったか(勝率や損益)をバックテストで確認する段階です。ここは前回の記事で触れた、生成AIにコードを書かせて検証する作業とそのままつながります。次に、判定結果を通知するところまでを自動化し、発注は自分の手で行う段階です。そして最後に、発注まで含めて自動化する段階に進みます。

それぞれの段階で、理論値と実践の差がどう変化しているかを確認しながら進めることが大事だと思っています。一足飛びに完全自動化を目指すより、時間はかかりますが、どこに問題があるかを切り分けやすくなるはずです。

気をつけたいこと

自動化を進めるうえで、いくつか気をつけたいことがあります。

一つは、自動化しても市場急変時のリスクは消えないということです。スプレッドの拡大や約定拒否、強制ロスカットといった事態は、人間が発注していようと自動化されていようと変わらず起こり得ます。むしろ自動化している分、異常時に気づくのが遅れるリスクもあると思っています。

もう一つは、口座の利用規約に違反しないかという点です。先ほど触れたように、証券会社によって自動売買に関するルールは異なります。仕組みを作り込む前に、自分の口座の規約を確認しておく必要があります。

最後に、こうした自動売買の仕組みを他人に販売したり提供したりする場合は、投資助言・代理業の規制に触れるリスクがある、という点も前回同様に付け加えておきます。あくまで自分の手法を自分のために自動化する、という範囲での話です。

まとめ

自動売買は、作ってしまえばそれで終わり、というものではありません。以前の自分の仕組みが専用パソコン一台に依存していて、そのパソコンが壊れたことで止まってしまったように、自動化した後も検証と見直しを続けていく必要があると考えています。

今回はまず、自分の口座がどこまで自動化に対応しているかを確認するところから始めてみようと思います。実際に手をつけた段階の報告は、また今後のレポートでお伝えしていきます。引き続きよろしくお願いいたします。