海外バイナリーオプション

カーブフィッティングについてわかりやすく解説

カーブフィッティングについてわかりやすく解説
"y" : np . array ( [ 0.35147175 , 5.34886729 , 1.66500123 , 3.0841038 , 0.45062413 , 2.カーブフィッティングについてわかりやすく解説 38576126 , 6.7483453 , 7.カーブフィッティングについてわかりやすく解説 8238275 , 6.95201635 , 3.28954449 , カーブフィッティングについてわかりやすく解説 4.94031866 , 5.24121363 , 2.98541245 , 4.6310814 , 9.84784293 , 5.01134921 , 3.98072447 , 7.27905317 , 8.カーブフィッティングについてわかりやすく解説 6333097 , 0.26169537 , 2.90017181 , 7.89069194 , 4.57119669 , 0.0692848 , 4.19335457 , 3.30674764 , 6.04152128 , 3.24620837 , 9.81251081 , 5.88231951 ] ) ,

株式会社ダイナコム 未来へつなぐコミュニケーション

tech010_01

MCMCの良いところは、自分の思いを事前情報分布として数値にしてモデルに与えれば、その範囲で探してくれる点です。MCMCのソフトウェアとしては、プログラミングや確率統計の知識を必要としますが、WinBUGSやOpenBUGS、 JAGSなどのフリーソフトがあります。
これらのソフトでは、まず、(1)フィッティングしたい関数の統計モデルを定義し、(2)各パタメータの事前分布に自分の思っている程度の制約を与え、(3)予測したい領域を”NA”という欠測値にした尤度関数を得るための計測データを渡し、(4)得られた事後分布からサンプリングを実行することで尤もらしいフィッティング結果を返してくれます。結果がふらついて収束しないときには、かなり恣意的になりますが、事前に得られている知識で、どの程度のパラメータの範囲になるか期待される値とその範囲を狭くして与えてしまいます。「それでは手書きと同じだ」というご指摘はごもっともです。でも全てのパラメータを与えて曲線を一本描くのとは違い、特定のパラメータに対して精度の良い事前情報分布を与え、その他のパラメータは無条件事前分布に近い感じで収束するまでBUGSにおまかせという方法が取れます。一つでも恣意的であれば十分全部が恣意的かも知れませんが、気持ちだけ、少し数学的な配慮が効いたもので、データに合致した曲線が得られます。ここでは、お絵かきソフト替わりと思って記載しておりますのでそのレベルでお許しください。

tech010_02

ここで、どちらの関数の当てはまりが良いか見てみたいと思います。BUGSソフトウェアの場合、DIC(Deviance Information Criterion)という情報量規準で簡単に当てはまりの良さを評価することができます。情報量規準を用いた評価は、必ずしも残差が小さいだけで選ばれるわけではなく、推定するパラメータの数も考慮して適合性の良いモデルを選ぶことができる点です。上記ではBUGSソフトとしてJAGSを用いました。ガウス分布関数の場合は、単に平均と分散だけでなく、全体のオフセット分や振幅もフィッティングしています。また、ロジスティック関数もオフセットと振幅やX軸方向の位置や立ち上がりの傾斜などを決めるパラメータを推定しています。そのため、実効的なパラメータ数を表すpenaltyもそれなりに大きくなります。DICで評価した結果は、ガウス分布関数モデルでPenalized deviance: 62.46という結果でした。一方ロジスティック関数でもほぼ同じ程度の値Penalized deviance: 63.58でした。情報量規準では、小さい方を選択することになりますが、この場合差は小さく、どちらをとってもそれほど変わらずという感じです。もちろんここでは、与えられたデータの範囲でどうか当てはまり具合を見ただけですので、むしろ得られたデータソースの性質から最終的なモデルを決めることになると思います。
あまり意味が無いのですが、たとえば、図3に示すようにかなり短い線分(図1の上のほうの一部分)に対してもフィッティングできます(一応DICを使ったモデル比較もしてみました。Penalized devianceが直線モデル(青)は41.9で、ガウス分布(赤)が34.97でした。この線は全体的には曲がっているからか、ガウス分布の方がモデルとして良いという結果でしたが、あまり深い意味はありません)。

カーブフィッティングについての考え方

EA

EAを開発・修正していると、 カーブフィッティング(過剰最適化) というフレーズを見たり聞いたりします。日本語に直訳すると「曲線あてはめ」という事で?な感じですが、要はEAをテストデータ(ヒストリカルデータ)にどんどん当てはめて過去データに対して成績を上げていくといった行為になります。

カーブフィッティングとは

①根拠の無い過去の結果で最適化する

自分用にEAを作っている方であればこんな最適化はしないと思います。 日付や月単位でのピンポイント修正は、カーブフィッティングになりやすいという認識 です。

②一見根拠があるが実は根拠が無い手法で最適化する

カーブフィッティングを回避していくために

フォワードテストをする

バックテストする(できるだけ長い期間で)

バックテストする(色んな種類のヒストリカルデータで)

バックテストする(スプレッドを変えて)

バックテストする(ビジュアルモードで)

バックテストする(ナンピンはせずに)

MT4でヒストリカルデータを取り込む方法(DUKASCOPY)

EAのバックテスト結果の確認方法

MT4でEAのバックテスト後に行う、結果の確認方法です。 レポートの説明 バックテスト後に、「レポート」タブをクリックするとバックテスト結果を確認することができます。 聞き慣れない単語がいくつか並んでいますが、そ.

MT4を2つ以上同時に起動しテスト効率を上げる方法

MT4を2つ以上同時に起動することで、複数のEAを同時にバックテストする方法について記載します。ファイルコピーばかりなので簡単です。 私の場合、1回のバックテストが10分近くかかるので、この方法は結構有効です。 フォルダをコピ.

EAのバックテストの最適化方法

MT4でEAのバックテストの機能の一つである、最適化の方法です。 最適化とは? 最適化とは、バックテストをする際に自分で設定した値の範囲内で連続してテストを行ってくれる機能です。 例えば、EA作成の際に移動平均線の値.

EAのバックテスト方法

MT4でEAのバックテストをする方法について記載します。 バックテストとは? バックテストとは、MT4がEAを使って過去のチャートを使って過去トレードしていればどうなったかを確認してくれること(検証)です。 EAを使う理.

関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次
閉じる