GitHub で見る

線形回帰チャネル戦略のダイアグラム

English | Русский | 中文 | Español | Deutsch | Português

直近50本の終値に最小二乗法で直線を当てはめ、その周囲に回帰の標準誤差の数倍の幅でチャネルを描きます。チャネルの外に出た価格は行き過ぎとみなし、チャネルの傾きが味方している間は直線へ戻る方向に仕掛けます。

schema

戦略の概要

  • LinearReg は現在の足における回帰直線の値を、LinearRegSlope はその向きを、StandardError は終値が直線の周りにどれだけ散らばるかを示します。
  • 上下のバンドは直線に「偏差の倍率 × 標準誤差」を足し引きしたもので、チャネルは相場に合わせて自動的に広がったり狭まったりします。
  • 傾きはフィルターとして働きます。押し目を買うのは上昇チャネルの中だけ、急騰を売るのは下降チャネルの中だけです。
  • 利益目標は回帰直線そのものです。損切りも利食いも設定しません。

エントリーとエグジットの条件

  • ロングエントリー: 回帰の傾きがゼロより大きく、終値が下のバンドを下回り、ポジションがない状態です。買い注文が1ロットのロングを新規に建てます。
  • ショートエントリー: 回帰の傾きがゼロより小さく、終値が上のバンドを上回り、ポジションがない状態です。売り注文が1ロットのショートを新規に建てます。
  • エグジット: 終値が下から回帰直線に届けばロングを、上から届けばショートを閉じます。どちらのエグジットブロックもポジション決済モードで、ポジションがなければ何もしません。

パラメーター

パラメーター 既定値 説明
LinearReg Length 50 回帰直線を当てはめるローソク足の本数。
LinearRegSlope Length 50 傾きを測るローソク足の本数。直線の長さと同じにしてください。
StandardError Length 50 標準誤差を測るローソク足の本数。直線の長さと同じにしてください。
Channel Deviation 1.5 チャネルの半幅。回帰の標準誤差を単位とします。
Volume 1 注文数量(ロット)。
Candles 00:05:00 ダイアグラム全体が用いるローソク足の時間軸。

ダイアグラムの詳細

  • 1つのローソク足ブロックが3つの指標ブロックと終値の変換ブロックに値を送るため、図中のすべての値が同じ確定足に由来します。
  • 2つの数式ブロックが、直線・標準誤差・最適化できる共通の偏差定数からバンドを組み立てます。
  • 6つの比較ブロックがこれらの数値をフラグに変えます。傾きに2つ、バンドに2つ、直線への回帰に2つです。
  • 各エントリーは傾き・バンド・ポジションゼロの論理積で、エグジットは比較ブロックから決済ブロックへ直結しています。
  • StandardError は窓の長さから2を引いた値で割るため、窓全体で計算する場合よりチャネルが約2%広くなります。狭いバンドにするには偏差を約1.47に下げてください。

使い方

.json ファイルを Designer に読み込み、バックテスターで過去データを使って実行し、実運用の前にパラメーターやブロック自体を自分の銘柄に合わせて調整してください。