読者です 読者をやめる 読者になる 読者になる

FXボーグ | テクニカル実験室

テクニカル分析を使った自動売買プログラムの開発に挑戦!

スポンサーリンク

N次多項式フィットに行列を使う方法

Gao 博士のサイトで AFAのコード を見ていたら、多項式フィットを行う処理が次のように書き換えられてありました(AFAはフラクタル解析を行うアルゴリズムです)。

seg_data = data(xi);
%slope = polyfit(xi, seg_data', fit_order);
%left_trend1 = polyval(slope, xi);
% to be replaced by pre-calculated coefficients
left_trend = (A_coeff * seg_data)';

(前述のサイトにある detrending_method.m より引用)

polyfit() はMATLABで多項式近似を行う関数ですが、そこはコメントアウトされていて代わりに「left_trend = (A_coeff * seg_data)';」と書いてあります。

A_coeffという行列との積をとっているようですが、この行列の中身が気になったのでプロットすると、このようなグラフが表示されました。f:id:fxborg:20170524190848p:plain

これだけで多項式フィットができるなんてちょっと不思議ですね。よく分らなかったので計算過程を可視化してみました。

続きを読む

HFD (Higuchi Fractal Dimension) インジケーターをアップしました。

HFD(Higuchi Fractal Dimension) をMT4で動かしてみましたHFDはフラクタル次元を求めるアルゴリズムの一つです。以下はFDIインジケーターとの比較です。

f:id:fxborg:20170521000124p:plain

中段・・・FDIインジケーター(期間:128)
下段・・・HFDインジケーター(期間:128、k_max:32)

続きを読む

MF-DFAのスペクトル幅を表示してみました。

前回のMFDFAを少し改良しました。今回はマルチフラクタルのスペクトル幅を表示しています。このスペクトル幅はフラクタル構造の多様さを表していて、幅が広いほどマルチフラクタル性が高くなります。

こんな感じです。 

f:id:fxborg:20170513122549p:plain

  1. ヒストグラム・・・マルチフラクタルのスペクトル幅
  2. ピンクライン・・・ヒストグラムの16期間SMA
続きを読む

とりあえずMF-DFAをインジケーター化(改良中)

GW中に終える予定だったMF-DFAのインジケーターを今頃作ってます。表示をどうするか悩ましいのですが、とりあえずスケーリング指数だけ表示してみました。
f:id:fxborg:20170509045619p:plain

・・・もうすこし工夫が必要そう。

続きを読む

「市場の方向」ではなく「市場の状態」を予測すること・・・

モダンなマーケットへのアプローチは、直感、テクニカル分析、またはファンダメンタルに基づいて予測しようとしないことにある。そのアイデアは「市場の方向」ではなく「市場の状態」を予測しようとすることである。

Optimized Trend Trading - Page 40 @ Forex Factory より一部引用。勝手訳。)

カルマンフィルタについて勉強しているとロボティクス系のページに辿り着くことが多いのですが、そんな中には「あっこれ、金融データにも応用できそう。」と思えるものもいくつかありました。

ただ、よく調べてみると大抵は古いフォーラムで既に言及されていることなどが多く、勉強不足と感じつつも「考えることはみんな一緒だねえ」と思ったりしています。

・・で、昨日も特異スペクトル分析(SSA)についてググっていたら、先程のフォーラムに行き当たり「市場の方向ではなく市場の状態を予測する」ていうのを読んで「ぐっ」ときました。それは心の中で漠然と感じていたものをよく表現していました。

※特異スペクトル分析(SSA)

時系列データをハンケル行列にセットして、特異値分解により特異行列を抽出する、これを特徴量とすることで隠された特徴的なパターンを出力することができる。特異点検出などにも用いられる(SST)。

続きを読む

カルマンフィルターでAR(2)モデルを表現するには・・・。

引き続きカルマンフィルターについて調べたことなどを・・・。

カルマンフィルターは座標や価格のみを使った予測とはちょっと違ってて、状態空間という内部の隠れた状態を推定するのが特徴なのだそうです。

で、その状態空間というのは最低限のルールに従えば自由に設定できるらしく「価格、加速度、ボラティリティ、トレンド、指標」みたいなモデルを定義することも可能なのだとか・・・。

ということで、簡単な例として[価格 ; 一つ前の価格]を状態変数として保持し、AR(2)モデルを表現する方法について調べてみました。

続きを読む

今更ですがカルマン・フィルターなどを勉強中。

ひさびさのブログ更新となりました。
ここのところ、以前から「やんなきゃなー」と感じていたことの2、3個を着手しているのですが、どれもやりかけの状態なのでブログの方も後回しになっておりました。

その中に「相場環境の認識用に何かつくる」というのがあって、いろいろ決めかねていたのですが、「モデルを観測しながら推定するならカルマン・フィルターで出来るよ」とどこかにあったので、これを今勉強しているところです。

もちろん「ディープ・ラーニング」などの方が時流にはあっているし、関心も持ってはいるのですが、とりあえず自分のモノに出来そうなこちらを選ぶことにしました。

続きを読む