今年のシステムトレードの成績は何とかプラスを維持しているものの、あまり芳しい状況ではありません。
加えてシグナル数がかなり減ってきており資金効率という点でも良い状況ではないです。
ここ1年は不動産に懸命に取り組んでいたので、検証もしてきませんでしたが、さすがにやばいと思いここ最近は検証を再開していました。
その結果、今回1つのシステムを追加で運用する事にしました。
この記事は今回のシステムの構築にあたってどのように考えて開発していったのかをちょっと解説してみようと思います。
ソースは本
システムを開発したいと思ったとしても、アイデアがないという事は良くあると思います。そういうときは本を読むことをオススメします。システムトレードに関する書籍もたくさん出版されていて、さらに古いものでも十分に役に立ちます。
今回もとある本からヒント、というかぱくりました(笑)
その本に書かれている条件をそのままイザナミに設定して検証してみました。その結果が下図です。
この本が執筆されたのは2008年の上旬のようです。つまりリーマンショックの前に書かれた本なのですが、見て分かるとおり現在まで成績にほとんど変化ありません。
これだけでこのシステムの根幹はカーブフィッティングの可能性が低いと言えると思います。まとめのデータはこんな感じです。
システムとしては、逆張りで、移動平均乖離とオシレータ指標を2つ入れただけの単純な構成です。
トレード回数は7万回を超え、勝率は驚異の85%越え、期待値は3.57%とまったく申し分ない素晴らしさです。
カーブフィッティングの心配もほとんどないので、キタコレ!と喜び勇んでこのまま実トレードに臨むと・・・たぶん破産します。
システムトレードのそれなりの経験者であれば、すぐに見抜けると思いますが、このシステムには大きな欠陥がいくつか存在していて、それを改善しないと実践では使えないです。
(なお参考にした書籍も欠陥についてはかなりしっかり触れられており、改善策も示しています)
このまとめの表を見ても分からないという人は、ここからの記事を是非参考にして欲しいと思います。
シグナル数に偏りがある
逆張りシステムにはほとんど見られる傾向なのですが、シグナル数にかなりの偏りがあります。普段は数個のシグナルなのに、全体の地合が暴落している時には100を超えるシグナル数が出たりします。そして勝率や期待値はこの暴落時のシグナルが多い時の方が圧倒的に高くなっているのが普通です。
一般的な数百万程度の資金では、この暴落時のシグナルのすべてを仕掛ける事は出来ないので、このような大きな期待値が取れるトレードが全部ものに出来るわけではありません。
それどころか、暴落前の少ないシグナル時の仕掛けをしてしまって保有中になっているので、暴落が来た時には仕掛ける余力が残っていないという事も珍しくありません。
というわけで、シグナル数によって期待値などがどのぐらい違うのかを調べたのが、下の表です。
書籍にはシグナル数20以上の時のみ仕掛けるという事を推奨していましたが、それが裏付けられるデータとなっています。
少なくともシグナル数8以上の時に仕掛けないとパフォーマンスが得られないということが分かると思います。
保有日数が長すぎ
バックテストまとめを見ると平均保有日数が11.27日となっていることに気が付いたでしょうか。言うまでも無く最近のトレンドとしては長すぎます。もともと保有日数は長くても別に問題はありません。但し保有しているということは資金がその保有銘柄に使われていることになりますので、資金効率という点では保有日数が長ければ長いほど効率が悪いと言う事になります。
単純な例でいえば、平均保有日数3日で期待値2%なら、保有日数が3倍の9日になったら期待値も3倍の6%が欲しいところです。
実は手仕舞いの設定は、ある一定の含み益になっていれば翌日成り行き手仕舞いで、損切りは時限手仕舞いが採用されており、その日数がなんと60日なのです。
これでシグナルフィルターをかけていなければ、暴落が来る前の60日間で保有しているポジションでいっぱいになり、暴落局面では仕掛ける資金が残っていないという事になりそうです。
そこで保有期間を5日すぎたら翌日に損切りするように設定を変えると、バックテストは以下のようになります。
勝率は70%を下回り、期待値も2.25%まで落ちてしまいました。
保有期間が長いと、いつかは反発するという銘柄が多くなるので、勝率があがります。期待値もそれに応じて上がることが多いです。
しかしその後も下がり続ける銘柄の損失も大きくなる傾向に有り、結果としてペイオフレシオが非常に低いシステムとなります。
それでもこのぐらいの数値なら使える可能性は十分にありますので、カスタマイズを継続しました。
事故銘柄を引きやすい
このシステムはこのままだと上場廃止などの事故銘柄を引きやすく出来ているとみました。書籍ではそれを防ぐために株価100円以下をカットし、売買代金もある程度高い銘柄だけを選定するとありましたが、それらではほとんど防げません。実際今年に上場廃止となった日本海洋掘削をストップ安の結構前から引いてしまっています。
私は事故銘柄防止の指標として非常に有効なものを使っていますが、これはさすがに企業秘密です。
その指標を加えて、仕掛けも成り行きはさすがに緩いので、寄り指しに変えました。
さらに手仕舞いでは自分好みである薄利撤退が出来る内容のものを追加して、最終的にこんな感じになりました。
総取引回数が4500回まで減少してしまいました。
保有日数は2.9日と大きく短縮されています。
勝率は再び非常に高い値となりました。
期待値もなかなかの数値かと思います。
平均損失が大きくなっているところは注意すべきポイントです。これは薄利撤退出来るものを利益側に引っ張ったため、損失になってしまう銘柄はどうしようもない底抜け銘柄が多いことが原因となっています。
これはボトレなども同様の傾向にあります。あくまで自分好みの改変によるもので、原因がはっきりしていますので、許容できると判断しています。
最適分散は一発合格
これでシグナル数は3以上の時のみ仕掛けるというフィルターをかけて最適分散投資をかけてみました。その結果が下表です。
勝率が84%とバックテストの結果をほぼ維持しており、期待値は下がってしまい、ペイオフレシオは厳しい数値ではありますが、想定しているレベルです。
近年も安定して年10~30%の利回りを出しており、私のとりあえずの目標とする年利20%に合致しています。
今回はこれで実践に投入しようと思います。
ちなみに最適分散投資は1回しかやっていません。バックテストの段階で色々検討してこちらには時間をかけていますが、最適分散投資でこねくり回すという事をしていません。
資金をこねくり回して見た目の成績を上げるのはとても危険な事だと思っています。
先ほど書いたような暴落時の資金余力の確保などに関してはある程度の技術が要求されるため、最適分散投資の検証を何度もしてはいけないというつもりはないのですが、資金効率の最適化は、カーブフィッティングとイコールであると言っても過言ではないので注意したいところです。
まとめ
今回のように書籍から根幹となるシステム構想を得て、それが以前に書かれているものなら、その後の挙動を見ればカーブフィッティングであるかの判断は比較的容易になると思います。それを根幹にあとはシステムトレードの技術を加えて仕上げるというのが、手っ取り早くシステムを構築する方法の1つではないでしょうか?
ご参考になれば嬉しいです。
同カテゴリーの前の記事⇒rss-sをメンテナンス
いつもご覧いただきありがとうございます。
このサイトが役立ったと思ったら、押してくださるとうれしいですm(_ _)m
△