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

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

スポンサーリンク

【cTrader】MTAトレンド インジケーターをアップしました。

MTA(マルチスケール・トレンド・アナリシス)は Ilya Zaliapin氏らにより開発された区間線形近似アルゴリズムです。うまく分割出来ているようなのでインジケーター化してみました。

▼USDJPY(1H)

f:id:fxborg:20170321013808p:plain

MTAの仕組み上リペイントしますが、そこまで頻繁に変化する感じではなさそうです。

続きを読む

有向非巡回グラフでMTAアルゴリズムの高速化(その2)

やっとこさオンライン版MTAアルゴリズムのコードが出来ました。今回の修正では、頂点を先に求めてから区間分割を行うので、設定によってはオリジナルと結果が異なりますが、標準設定では問題ないレベルと踏んでいます。

f:id:fxborg:20170314233202p:plain

EURUSD(15分足)3/6 ~ 3/14

続きを読む

有向非巡回グラフでMTAアルゴリズムの高速化(その1)

MTAアルゴリズムを高速化するアイデアを考えてみました。MTAでは分割可能な全ての区間の統計量(残差平方和)を計算しているのですが、以下のグラフに沿って集計していけば事前に全ての区間の統計量を求めることが出来そうです。

f:id:fxborg:20170311004006p:plain

こんな感じで全ての辺に向きがあって同じノードに戻ることのないグラフを有効非巡回グラフ(DAG)と言うのですが、プログラムを推敲する時などにとても便利です。

とりあえず簡単な足し算を例を説明した後に、こちらの記事の方法で残差平方和を求めていきます。

続きを読む

MTAアルゴリズムと単純トップダウン法との比較

前回の記事ではMTAを移植しましたが、一般的なトップダウン法とどのくらい違いがでるのか気になったので比較してみました。

f:id:fxborg:20170307211348p:plain

トップダウン法はこちらのソースを使用しました。
https://www.msi.co.jp/vmstudio/materials/tech_web/timeseries.html

トップダウン法とは・・・

はじめに1本の線分を引き、分割を繰り返していくアルゴリズムである。分割点となる条件(分割点条件)を満たす点の内、分割後に標準誤差が最小となる分割点から分割される。再度、分割点条件を満たす点を検索し、分割後の標準誤差が最小となる点で分割を繰り返す・・・・・

https://www.msi.co.jp/vmstudio/materials/tech_web/timeseries.htmlより引用)

続きを読む

MTA区間線形近似アルゴリズムをPythonに移植。

MTA(マルチスケール・トレンド・アナリシス)は Ilya Zaliapin氏らにより開発された区間線形近似アルゴリズムです。たまたまこちらのブログで知りました。

こちらにMATLABによる実装があったので、さっそくPythonに移植してみました。
(とりあえず動いたレベル)

f:id:fxborg:20170307032721p:plain

こんな感じです。

続きを読む

【cTrader】1分足を使って上位足の標準偏差・歪度・尖度を求める。

こちらのブログのOne-Passアルゴリズムを使用して、1分足の終値を使用した基本的な統計量を計算するインジケーター(cAlgo版)を作ってみました。

f:id:fxborg:20170226225253p:plain(EURUSD15分足)

  1. ・上段・・・ボリンジャーバンド(平均と ±2.0標準偏差 )
  2. ・下段・・・歪度(青ライン)、尖度(赤ライン)

1分足データに基づいて1時間足の20バー期間の統計情報を表示します。

続きを読む