NA0TA

線形回帰分析によるトレンドシステム

OANDA:EURJPY   ユーロ/円
よくトレンドの方向に沿ってトレードを行うことが利益につながりやすいと言われます。
トレンドの方向の測定方法は移動平均線や高値安値の更新、モメンタムオシレータなど色々ありますが、
今回は最小二乗法による線形回帰曲線の傾きをトレンドの方向と定義してシステムを構築しました。
Pineスクリプトにはlinregという回帰曲線のビルトイン関数があり変数を入れるだけで簡単に線形回帰分析が行えます。

ユーロ/円の4時間足で検証しました。

まず、線形回帰曲線が上向きなら上昇トレンド、下向きなら下降トレンドとして押しや戻りを待って仕掛けます。
押しや戻りを測定するには終値のパーセンタイルを調べ、上昇トレンドの時に20パーセンタイルを上回ったらロングエントリー
下降トレンドの時に80パーセンタイルを下回ったらショートエントリーします。

エントリー後、終値の20本の標準偏差の2倍の価格にロスカットを置きます。
トレンドフォロー戦略なので利益確定はトレイリングストップを使います。ワイルダーのSARに似ているsupertrendインジケーターで
ATRファクターは6に設定し、仕掛け価格から3ATR以上の利益が出ている状態で終値がsupertrendラインを交差したら利益確定します。

検証の結果、期待値は38%になり、トレンドの方向に押しや戻りを待って仕掛けることは非常に有効かつ、非常にスタンダードな戦略なので
利益を出しやすいと言えるでしょう。

コメント

トレード始めたばかりの初心者です。コメント失礼します。
とても要点が分かり易いと感じました。
パーセンタイルの計算はPineスクリプトを使って求めているのでしょうか。
返信
NA0TA SonicStar
@SonicStarさん
ありがとうございます、見てくれた人が理解しやすいように心掛けております。
パーセンタイルはPineスクリプトのpercentile_nearest_rank関数を使用して計算することができます。
たとえば過去20本の終値の50パーセンタイルを調べたいときはpercentile_nearest_rank(close, 20, 50)と書きます。
返信
@NA0TA さん
ご回答ありがとうございます。
20パーセンタイルと80パーセンタイルのラインを引くことが出来ました。

今後もNAOTAさんの投稿を楽しみにしています。
返信