見出し画像

システムトレード構築におけるバックテストの話、日経1時間足システム稼働

現在、先物系システムトレードは、日経4時間足A3.2システムのみの運用になっている。日経日足や日経以外のシステムも相当種類試したが、すべて玉砕した。とはいえ、1種類のシステムだけに頼るのはとても危険。相場状況が変化して、いつ機能しなくなってもおかしくない。
なので、日々新しいシステムを検討し続けている。

で、ようやく1つ使えそうなシステムが出来たので概要を紹介する。
あと、バックテストに関しても多少書いてみた。

今回は日経先物ミニ1時間足を利用したシステムになる。
過去何度か挑戦したことはあるが、いずれも上手くいかず。
懲りずにあるアイデアを試したところ、ある程度使えそうな状況になったので、実験運用を開始した。

■バックテストについて
今回、バックテストでは1種類のパラメータで満足いく性能は得られないことが分かった。とはいえ諦めるのも勿体ないので、期間を切ってパラメータ最適化する方法をとることにした。

一般論として、システムトレードではバックテストにおいて、最適化しすぎてはいけないと言われている(過剰最適化の罠)。凄くざっくり言うと、過去の相場値動きは決まっているので、その動きに合わせた売買をすれば必ず勝てるということ。これが過剰最適化の究極状態に相当する。

では、バックテストはダメなのか?いや、そんなことはないはず。実際に今運用している日経4時間足A3.2はバックテストから得た情報でシステムを構築し、半年以上運用しているが実用になっている。過剰最適化と必要なバックテストの境界線はどこにあるのだろうか。

まだ良くわかっていないが、ちょっとした感覚的な仮説はある。
一つは出力(損益等)をリニアに変化させるパラメータに関しては、バックテストで最適値を求めても大丈夫な気がする。これは、期間ごとに最適値が異なることもあり、期間毎の最適化もある程度OKと思われる。一方で、出力に対して、期間毎に飛び飛びの値をとるパラメータに関しては、バックテストで最適値を求めることは難しいと考えている。もちろん長期間で最適値が1つであれば問題ないが、例えばある1年間はパラメータがAとなり、次の半年はB、その次の8ヶ月はCというような場合は、バックテストによる最適化は不適切となる。

これ以上の説明はまだ出来ないが、イメージとしては、売買アルゴリズムそのものに影響するパラメータを期間ごとに最適化することは、究極的には、値動きが分かった上で、売買をどうするか決めることと等価になる。一方で、アルゴリズムは何らかの方法で決めた上で、アルゴリズムの調整パラメータを相場の状況に応じてある程度動かすことはOK、みたいな感じ。例えば、利確と損切の位置を決めるのは調整の範囲と考える。

■以下、今回稼働させた日経1時間足システムのスペック。
まず、2016~直近の損益特性の概略。これは、調整可能と考えるパラメータは最適化していない。全体的に損益特性がおおよそ右肩上がりになる状況を確認するところまで。

日経1時間足システム 概略損益特性

次に、直近3000時間で最適化したスペック。
これは4時間足A3.2システムより良いかもしれない。

日経1時間足システム スペック 2023/4/19-2023/10/19
日経1時間足システム 損益チャート 2023/4/19-2023/10/19

後は、運用しながら4時間足システムでも実施している、パラメータ最適化を定期的に行う。
もし、たまたま今回の3000時間が調子良く、今後ダメになるとすれば撤退することになる。

今日は以上。



この記事が気に入ったらサポートをしてみませんか?