新たにMACD解析アプリを追加しました! たっきん(Twitter)です!
4月から自作の自動売買システムを使ったシストレ運用を本格的に開始して約1ヵ月が経過しました。
初月の結果としては+63,453円の利確となりましたが、たまたま勝てた可能性もあるため、あと2、3ヵ月は様子を見ていきたいと思います。
さて、本題に入りますが今回新たにシストレ・アプリケーションを1つ追加しました。
「MACD」解析アプリケーションです!
MACDはオシレーター系のテクニカル分析手法になり、FXトレーダーの中では比較的使用している人も多いのではないのでしょうか?
今まで作成してきたテクニカル分析手法のアプリ「SMA」、「ボリンジャーバンド」はトレンド系になるので、オシレーター系のアプリ追加は今回が初めてになります。
シストレ運用する上でオシレーター系はTickチャート上に重ね合わせてEntry/Exitタイミングの評価が難しこともあり開発を後回しにしてきたのですが、そろそろ有効性を確認したいこともあり、このタイミングで解析アプリケーションを作成することに決めました。
まずはオシレーター系の代表としてMACDを有効性を確認し、それなりに利益を上げられそうなら他のオシレーター系アプリの開発も行っていこうと思っています。
MACD解析アプリ開発方針
まずはMACDの構成から見ていきましょう!
MACDは「MACD線」と「シグナル線」の2本の線から構成されています。
さらに、「MACD線」は2本の指数平滑移動平均(EMA)から算出されます。
Pythonのコードで記述すると下記のようになります。
# ---------- MACD線 ----------
ema_s = self.df["OHLC_close"].ewm(span=MACD_EMA_S, adjust=False).mean()
ema_l = self.df["OHLC_close"].ewm(span=MACD_EMA_L, adjust=False).mean()
macd = ema_s - ema_l
# ---------- シグナル線 ----------
sig = macd.ewm(span=MACD_EMA_SIG).mean()
よってMACD算出に必要なパラメータは下記の3つになります。
- MACD_EMA_S:EMA期間(短)
- MACD_EMA_L:EMA期間(長)
- MACD_EMA_SIG:シグナル期間
「シストレ開発#14」のブログでも書きましたが、MACDには「逆張り型」と「順張り型」の2タイプの利用方法があります。
今回は一般的によく使われるとされる「逆張り型」でアプローチしていこうと思います。
「逆張り型」は簡単に説明するとシグナル線をMACD線がゴールデン・クロスしたら買い、デッド・クロスしたら売りでアプローチすることです。
以上より、MACD解析アプリの開発方針としてはMACD算出に必要な3つのパラメータ「EMA期間(短)、EMA期間(長)、シグナル期間」を変化させ、総当たりのバックテストを行っていきます。
バックテスト結果はいつも通りヒートマップで表現しようと思っています。
現在の開発状況
現在の開発状況になりますが、GUI上に「MACD」のタブを追加し、「EMA期間(短)」、「EMA期間(長)」、「平滑シグナル期間」の3つのパラメータの解析範囲を指定できるように設計しました。
さらに、「利益確定しきい値」のパラメータも追加し、利確の幅も総当たりで解析できるように設計しています。
解析結果は一覧表示できるようにし、任意の行を選択することで選択された行の詳細情報をチャートに表示できるようにしました。
基本的に、画面の構成は今まで紹介してきた「SMA」や「ボリンジャーバンド」の解析アプリと共通にしています。
さいごに
今回は3つ目のテクニカル分析手法としてMACD解析アプリを追加してみました。
所感としては冒頭でも述べた通り、Tickチャートでのリアルタイムトレードの際に、MACD線とシグナル線をTickチャート上に重ね合わせることができないため、Entry/Exitタイミングの評価が難しいところです。
(オシレーター系のテクニカル分析手法はそもそもシステムトレード向きではないのかもしれませんね・・・)
一通りMACD解析アプリの作成は完了しており、今後はこのアプリを使って本格的にMACDの総当たりバックテストを行っていこうと思います。
バックテストで良好な結果が得られたら、運用のためのMACDトレードアプリの開発を行い、シストレ運用を実践していこうと思います。
シストレの運用効率を上げるには、アプリケーションのラインナップを増やし、勝率の良いパラメータでトレードの試行回数を増やすことだと思っています。
とにかくスピード勝負でアプリケーションをどんどん追加していこうと思います。
コメント