システムトレードの自作

 

 

トレードシステムの自作の仕方についてまとめました 

  

環境

 システムトレードで儲けるには

まず、インターネットの通信速度を速くしないといけません

 

わずかな時間の差が大きな差になって現れるからです

特に1秒を争うデイトレードで生き残るためなら必須でしょう

 

インターネット速度を上げるためには

 1. パソコンのスペックをあげるもしくは動作を軽くする

 2. 無線ルーターを最新のものに変える

 3. ブラウザやOSを最新バージョンに変える

 4. プロバイダーとの契約を上位のものに変更する

 5.WI-FIをやめて、6A以上のLANケーブルに変える

 

1~4は皆さん一度はやったことがあるでしょうが

もう一度確認してください

5については

WI-FIよりもLANケーブルでの通信の方が速くて安定しています

一刻を争うトレード中にフリーズすると

大きな打撃を受けることになるので

状況が可能なら少しでも早く

Wi-Fiから高速LANケーブルに変えた方がよいでしょう

データの取得

 2つの方法があります

一つ目は

イザナミなどのシステムトレードソフトを利用することです

こちらは、システムがデータ取得から

ストラテジーの検証まですべてやってくれるので参入しやすいです

ただ、初期費用がかかるのが欠点

 

2つ目は自分で取得する方法

超良心的(無料)な無尽蔵などのサイトから ダウンロードしたり

フリーソフト使ってyahooのサイトから

ダウンロードする手もあります

ちなみに、私の場合はデータゲット社から買っています。

 今から始めるなら、楽天RSSが無料だし、正確なのでいいと思います。


長期データの取得については

私の場合はパンローリングが販売

している長期データのCDを購入しました。

増資、減資などによって株価が大きく変動し

システムがそこで整合性がとれなくなるので

価格補正してあるものを購入した方が良いと思います

 

 

プラットフォームの選択

一つはシステムトレード専用ソフトを利用することです

これについてはソフトウェア会社の

ホームページの方が詳しいので

そちらを見てください

 

 自らシステムを作る場合は

プログラミングの知識が少し必要ですが

EXCELが最も作りやすいでしょう

商品先物、FX、債券、株(一部)などならEXCEL VBAで十分です

なんといっても 

天下のマイクロソフトのソフトなのでほとんどフリーズしないし

ピボットテーブルやグラフは強力な分析ツールです

 

ただ、株の全銘柄を扱うとなると

膨大なデータ処理となり

エクセルでは扱いにくくなります

私の場合はそのために

データベースを利用しています

データベースのクエリもEXCELのそれに匹敵するほど強力なツールです

 

それと

もう一つの利点は仕事や趣味に使えることです

EXCEL VBAやデータベースが扱えるようになれば

職場で重宝がられること間違いなしです

仕事上の重要なスキルになり

あなたの財産になるはずです

 

 

ストラテジーの作成

これは、チャートを見たり、今までの経験や

他の儲かっている投資家の方法を参考に考えます

インスピレーションと根気が必要ですが

頑張れば必ず見つかります

例えば、急落した後に反発しやすいとか〇日間の高値更新は買いとか

曜日アノマリー、季節アノマリーとか多様な候補があげられます

 

それをプログラミングあるいは設定するのですが

自分が納得してシグナル通りに運用できる

システムを構築することが何よりも大事です

 

バックテスト

ストラテジーが完成したらバックテストにはいります

ここで

まず問題になるのは何年間分のデータを使用するかです

私は10年間のデータを利用しています

20年間のデータを利用している人もいるし

長期間の方が堅牢性を持つと書いてある本もあります

 

だが、考えてみてください。

今、ニューヨークではファンドマネージャーが淘汰され

AIが幅を利かせています

中国をはじめとするアジアなどの新興市場の

台頭も目覚ましい状況です

10年たてば市場や銘柄も大きく変わり

市場参加者も大きく変わります

そんなデータに意味があるでしょうか

 

 

 

 

それよりも、堅牢性を向上させるのなら

10年を20年に変えるよりも

1000回のトレードを2000回にする方が

堅牢性が増すと思います

トレード回数は多ければ多いほど

堅牢性は向上するはずです

 

また、堅牢性を確認するときに一つポイントがあります

いわゆる「絶壁」と呼ばれるやつです

最適化しているときに

パラメーターをゆっくりと動かしていくのですが

ある値を境に数値が急変することがあります 

このときは要注意です

 

少数のトレードの影響で

たまたま数値が良く見えるだけかもしれないし

プログラミングが間違っているのかも知れません

そのときは必ず検証をしてみてください

 

さて、バックテストの方法ですが

私は10年間のヒストリカルデータを使用しています

このうち、最新の2年間のデータは取っておいて

残りの8年間でまずバックテストを行います

 

期待値、約定率、損益曲線、最大ドローダウン、PFなど

の数値を調べます

次にパラメーターを動かしながら

バックテストを繰り返し数値を向上させていきます

実用に耐えうる性能ならフォアードテストに移りますが

 ストラテジーはほとんどがガラクタの山で

フォアードテストまで到達するのは5%以下と思ってください

 

 

フォアードテスト

バックテストが良好なら

とってあった最新2年間のデータを用いて

フォアードテストを行います

 

フォアードテストはデータに合わせて最適化されていないので

バックテストよりはるかに信用できます

フォアードテストがバックテストとそれほど変わらなければ合格です

 

合格基準

デイトレードなら1%、スイングトレードなら3パーセント

を目標としています

 

ただし、それ以上に重視している基準が二つあります

まず、一つ目は約定数です

これは多ければ多いほどよいです

少数だと堅牢性が失われてしまうからです

 

二つ目は期待値ですが

下の損益曲線のモデルグラフをみてください

 

f:id:yosutexxx:20210128104238p:plain

 1と2ではどちらが優秀でしょうか

私なら間違いなく2を選びます

 

なぜなら、2は1に比べて期待値は低いですが

ドローダウンが小さいからです

損失が小さければ、投資資金を増やして

リターンの絶対額を増やすことができます

 

最大ドローダウンが大きいと怖くて

投資資金を増やすことができません

最大ドローダウンが重視されているのはこのためです

 

 

運用

それらの準備ができたら、運用となるわけですが

これが意外なことに非常に難しいです

 

やってみるとわかりますが

シグナル通りに運用がなかなかできません

損失に対する恐怖でロットを下げたり

負けが続くと仕掛けをやめてしまったり

そんなときに限って、システムがうまく機能し

仕掛けなかったことを後悔したりします

 

それで、最初は最大ドローダウンをもとに少なめに運用し

かつて流行したPDCAサイクルで

改良を続けていくのが良いと思います

システムが洗練されて安定してくるまでに

数か月もしくは数年がかかると思って

焦らず気長に改善してください

(金の生る木はそんなに簡単にはできません)

 

 システムが固まってきたら

資金管理戦略も忘れずに取り入れてください

仕掛けが武器なら資金管理は防具だと思ってください

両方を兼ね備えていないと市場では強い戦士になりません

 

一旦良いシステムが完成すれば

あとは

単純にシステムに従って運用するだけで収益を得られます

デイトレーダのようにパソコンに張り付く必要もないので

出来上がったあとは快適な生活がおくれるはずです

みなさん、頑張ってください