最適化の問題についてコメントを頂きましたので記事を書いてみます。
といっても浅薄な知識のため、語るところがありませんがw
・問題点
売買システムにおけるパラメータの最適化問題はシステムトレーダーにおいて、最も大きな問題の一つだと思います。
そもそも、パラメータの取り扱いはどのような問題を孕んでいるのでしょうか?
以下に示してみます。
1.パラメータ数が多いことによる過剰最適化の問題
2.パラメータの賞味期限が到来したことによる成績不振の問題
3.パラメータ値の決定における根拠不足・不明の問題
では、個々の問題に解決方法はあるのでしょうか???
1.パラメータ数が多いことによる過剰最適化の問題
いわゆる最初から勝てないダメなパターンです。
これはよくシストレ本に出てくる話ですね。
ブログで見かけるシステムトレーダーの方々もよく重視されているように見受けられます。
簡単に言えば、運用したとたん右肩下がり。。流れるようにドローダウンも更新。。。そんなところです。
普通はこんなことにはならないようフォワードテストを行った上で実運用にシフトすべきだと考えます。
さて、本題ですが、私もパラメータは少ない方が良いとは思います。
しかし、個人的にはパラメータの意味するところを理解していれば、多くなっても良いのではないかと考えております。
パラメータと一言にいっても、似たような役割を持つのか、まったく異なる役割を持つものがあると思われます。
個々のパラメータにおける意味を理解して、このパラメータは必要だと判断した上で使うべきだと思います。
(自分で作っておきながら、パラメータの意味を理解していないことも無いと思いますが。。。)
私のシステムも売買判断に利用するパラメータは16個や23個もあったりします(^_^;)
ただ、パラメータ一つ一つの責任は低いような感覚です。
あとは、いくつかでひとかたまりみたいなものが多いです。役割の重複はありません。
テレビのリモコンなどがいい例ですね。
チャンネルや音量という不可欠なパラメータがあり、
画面の色彩や明るさなどを細かに調節するためのパラメータがあります。
自分に合った番組を綺麗な色で、また目に優しい明るさで見せてくれる番組を映しだすテレビだったら、音量だけでいいですよね。
経験談ですが、パラメータについて、明確に人に説明出来るようにすることでシステムの完成度は上がりました。
もちろん、大事な戦略を他人に教える必要はありませんが、人に説明出来るということは、自身が理解している証左でもあります。
まぁ、パラメータが少なくて、勝てる。これが理想だと思います・・・。
そもそも答えは持っていないんです(T_T)
2.パラメータの賞味期限が到来したことによる成績不振の問題
今度はパラメータの賞味期限が到来し、最初は稼げたんだけどなんか勝てなくなった。ってパターンです。
1の段階を超えた次の段階と考えています。
2.1 相場状況の観測
【突然勝てなくなるのを制御するパターン】
これもまた難しい問題ですね。。。明確な答えにはたどり着いていないです。
パラメータセットの適用範囲と相場状況をマッピング出来る能力があれば良いのですが・・・。
パラメータセットの賞味期限=相場状況の変化と捉えてみます。
相場状況の変化とは何でしょうか?
相場の構成要素はなんでしょうか?
その構成要素のうち、変化した場合に、相場の動きに変化が生じるのは何でしょうか?
そういったことを考えていくと、相場状況の変化を朧気ながら定義することが出来るかもしれないです。
定義が出来れば、いつの時点で相場状況が変化したのか?を想定することが出来ます。
あとは、そこから再度の最適化を行えばいいのですが・・・。
どうも市販のEAを投信のように操り、勝てる人はこの辺の感覚が鋭いのかもしれないです。
もしくは、
faiさんの記事にあるように、いくつかの相場状況を定義しておき、
何らかの観測方法を用いて、適宜想定した相場状況に対応したパラメータセットを設定することで対応が可能かもしれないです。
しかし、これには統計的な技術が必要に思えます。(^_^;)
2.2 ロジックにあいまいさを残す
【徐々に勝てなくなるのを制御するパターン】
システムを作るにあたり、トレンドやレンジなどを定義することがあると思います。
その判断の実装の仕方によって、賞味期限の到来が突発的なものか緩やかなものかに分かれる場合が考えられます。
賞味期限が突発的に到来するものは、爆発力が高い印象があります。相場の事象に対して、ピンポイントで待ち構えるシステムでしょうか。資産曲線で言えば、指数関数的上昇になりそうなものですね。
賞味期限が緩やかに到来するものは、継続力が高い印象があります。相場の事象に対して、面で待ち構えるシステムでしょうか。資産曲線で言えば、一次関数的上昇になりそうなものですね。
私も自作の最初の頃はピンポイント爆撃型のEAをたくさん作っていました。
いまは面の判断を持つものが増えてきました。
面の判断とは、「なんとなく~」「たぶん~」とかの判断を指します。
あいまいさの実装は難しいです。陽線3本連続と移動平均3期間連続だったら、どちらがあいまいに相場を判断しているのでしょうか?
あいまいさの度合いを認識することも難しいです。
超明確~ちょうあいまいの中でここらへんぽくね?みたいなのがすぐに分かれば良いのですが・・・。
言い方を変えると、これじゃなきゃやだ!~まぁそれでもいいよー。みたいな間のせめぎ合い。
2.3 動的パラメータの導入
【徐々に勝てなくなるのを制御するパターン】
相場に対して、パラメータは不定であると考える立場ですね。
また、2.1の自動化に近いです。
例として、適応移動平均線を挙げてみます。
相場状況に応じて、異なる移動平均線を動的に使い分けます。
普通のシステムですと、常に「単純移動平均線」ですが、適応制御を行うシステムは、ある状況では「加重移動平均」を選択し、
別の状況では「指数移動平均」を選択したりするでしょう。
もちろん、平均線の種類にとどまらず、相場の状況に臨機応変に対応するでしょう。
最適化したパラメータと売買判断との距離を遠くすることで、システムが死ぬときも緩やかに死ぬと捉えています。
リスクは、何を判断しているのか分からなくなったり、適応制御のためのパラメータが増えたりするということです。
3.パラメータ値の決定における根拠不足・不明の問題
2の段階を超えた段階の話だと考えています。
パラメータを最適化したんだけど、この値でなんで利益が出せるの?って話です。
正直、問題として書いてみただけで、私自身、利益が出るようになればいいじゃんと激甘な考えでやってます。
個々のパラメータの値の決定理由まで述べられるとすればそれこそ最高のシステムです。。
ピンポイントのパラメータの参考ページを挙げておきます。下記のリンク先の他のページもおすすめです。
「ピンポイントパラメータ」
まとめ
普段からパラメータというものに接していながら強く意識はしてなかったことが明らかになりましたw
いまは適応型移動平均線を開発し、システムが急落→即死みたいなことは昔に比べれば減ったのかもしれませんが、
儲かっていない時点で考慮不足は否めません。
いろいろパラメータについて、考えを巡らせていると、生き物にも似た存在に感じます。。私だけかもしれないですが。
あるパラメータの責任が重すぎると、パラメータが倒れたときに誰もカバー出来ないし。
重要なことは、パラメータの役割、数値の意味するところが理解できていることだと思います。
個人的にはパラメータの責任の分散もおすすめです。(?
私のシステムは移動平均線を使いますが、移動平均線における平均期間の指定は自動化しています。
[1回]
PR