2011/02/07

FX売買システム多市場多期間検証時代 - 独自インジケータを検討する(ノイズの除去)


さて前回は、作ったシステムを如何に理解していないかを再認識し、独自インジケータを作ることを決意したところまで話しました。今回はどうやって独自インジケータを作ろうかを検討している様子を書きたいと思います。

さて独自インジケータのテーマ
それはどうやってノイズを除去するか。

【漠然と思い描いたイメージ】
1.1週間の大まかなトレンドの方向をしりたい
2.そのトレンドの方向を移動平均をベースとして、その向きの変化から判断したい
3.でも単純移動平均だと、1バー進んだ時、移動平均の計算から排除されたバーが特異な
  動きをしていたらノイズになってしまう。
4.加重移動平均/指数移動平均ベースだと直近のデータに左右されやすくなるので、
  ピーキーな動きになることが想定される。
5.終値ベースではなく、できるだけ4本値を使い切りたい

【ノイズの除去を考える】
まず思いついた案
案1.短期間の最大値と最小値を除去した単純移動平均をさらに
   長期間の単純移動平均にする
案2.短期間単純移動平均をさらに長期間の単純移動平均にする。
 
そして、Excelにて乱数を使い擬似的なチャートを作り、
両方の手法でどちらが向きの変化数が多いかを擬似検証。
ちなみに、ベンチマークは単純移動平均

●擬似検証方法
1.擬似チャートの生成方法
  100を基点の価格として、-0.5~+0.5までの乱数の
  結果を足しこんでいく。
2.上記2つの手法による移動平均値を求める。
3.向きが変わった数を両手法で求める。
4.向きの変化を比較する。
5.Excelの再計算「F9」を何回もおしていき、変化数を比較していく。

●検証結果
 数十回やって比較。勝敗数はちゃんと記録しなかったが、
 どうも、「案2.」の方がノイズに強いっぽい。

●さらに凝ってみる
そして、凝り性なオレは、さらにノイズの除去を検討。
チャートを眺めていると時々現れる超大ヒゲバーの出現。
4本値を使うと、超大ヒゲの出現がノイズの要因になりやすい。
なので、短期間の単純移動平均を求める際、そのバーの中で最大のTR
を除いて平均してみる事に。

【4本値をどうやって使うか】
1バーに4本の値があり、それを有効に使いきれたらいいなぁと。
要は、4本値から発せられるフォースを表現したい!  ←スターウォーズか。。
で、ローソク足のパターン表とその示唆を見て考えた計算式

1バーの価格=〔{(高値+安値)÷2}+{(始値+終値+終値)÷3}÷2

発想は、まず1バーの高値と安値の仲値がベース。

次に、ひげが片方向に大きければトレンド転換の示唆なので、
これに、始値と終値の仲値との平均を求めることで表現。
でも、これだと陽線なのか陰線なのかわからないので、
終値に少し重みを付けてみた。


コレが役に立っているかわかりませんが。


【向きの度合いを測る】
これは、DMIの考え方を流用。
つまり、上記で求めた長期移動平均線で上昇価格差の合計と下落価格差の合計の比率
を計算することで、+100~-100の値をとるオシレータにする
#オシレータにした理由は、ストレテジで使う時に計算が楽になって、
 検証スピードも速くなりそうだから。

そしてプログラミングして、チャート上に表示!!

お!!意外とブレが少ない!!

幾つかチャートを部分的に見てみたが、、オシレータで「+100」が長期継続していたり、
「-100」が長期継続していたり。
しかも、一旦「+100」から離れると、ぶれる事なく「-100」まで一直線。

よし!
ノイズの除去それなりにできた感じがする!!
名前も決めた!!
名付けて「SmoothMADI」
※Smooth Moving Average Direction Indexの略

どや!
なんか、かっこええネーミングやろ!








でも、どう使おう。。。


そして、本末転倒な状況で、「FXシステムトレード初心者奮闘記」の多市場多期間検証時代は、独自インジケータの利用方法について考える事になったのであった。

0 件のコメント:

コメントを投稿