Type/to search

平均回帰ATRトレンド戦略

Common strategy
Created: 2023-09-21 11:42:06
Last modified: 3 years ago
1
Follow
1802
Followers

概要

本戦略は、価格変動率の高低を利用してポジションのエントリーやエグジットのタイミングを判断することを目的としており、価格変動率が高い時にロングポジションを構築し、価格トレンドが有利に転じたところでポジションを利確します。

戦略の原理

  1. ATR指標を用いて価格変動率を測定します。直近20期間のATR値を計算し、その移動平均と標準偏差を算出します。現在のATR値が平均値に標準偏差を加えた値を超えた場合、価格変動率が高いと判断します。

  2. 1次対数価格変化率を用いて価格トレンドを判断します。直近20期間の対数終値変化率を計算し、その移動平均を算出します。現在の変化率が3日連続で平均値を上回り、かつ正の値である場合、価格は上昇トレンドにあると判断します。

  3. 価格変動率が高く、かつ価格が上昇トレンドにある場合、ロングでエントリーします。価格が下落し、ストップロス価格がトリガーされた時点でポジションを決済します。ストップロス価格は動的に調整され、常に最安値からATRの2倍を引いた値の間に維持されます。

優位性分析

  1. 価格変動率の高低とトレンドを利用してロング・ショートのタイミングを判断することで、レンジ相場での頻繁な取引を回避します。

  2. ストップロス価格を動的に調整することで、ストップロスが緩すぎて大きな損失が発生するのを防ぎます。

  3. バックテストでは、2015年から2021年の間に年間収益率159%を達成し、Buy and Hold戦略の120%を大きく上回っています。

リスク分析

  1. ATRパラメータ設定が強すぎると、エントリー機会が少なくなる可能性があります。パラメータを適度に拡大し、エントリー頻度を高めることができます。

  2. トレンド判断指標は誤判断を生じ、実際のトレンドと乖離する可能性があるため、確認因子を追加して潜在的な損失を回避する必要があります。

  3. バックテスト期間はわずか6年であり、サンプル期間を拡大し、頑健性テストを実施してオーバーフィッティングを回避する必要があります。

  4. 急激なサーキットブレーカー相場などの極端な市場状況でのパフォーマンスを判断できず、人的介入やプログラムによるストップロスの設定が必要です。

最適化の方向性

  1. MACDやKDJなどのトレンド確認指標を追加し、トレンド方向の判断精度を高めます。

  2. ATRパラメータを銘柄や市場状況に応じて適応的に調整し、変動率判断を最適化します。

  3. ブレイクアウト判断モジュールを追加し、トレンド加速因子を設定して、ブレイクアウトが発生した際にポジションサイズを増やします。

  4. パーセンテージストップロスやボラティリティストップロスなど、異なるストップロス方式の効果をテストします。

  5. 取引回数、収益曲線の安定性、最大ドローダウンなどを評価し、戦略の頑健性を確保します。

まとめ

本戦略は、価格変動率とトレンド判断の利点を統合し、変動が激しくなる局面で価格が反転するタイミングを判断してエントリーし、動的ストップロスでリスクを管理することで、バックテスト結果において良好な超過収益を達成しています。ただし、サンプル期間はわずか6年であり、主要パラメータは異なる市場に合わせて調整する必要があり、誤判断の確率を減らすためにより多くの確認因子を導入する必要があります。さらに、戦略の包括的な頑健性テストを実施して初めて、実運用に適用できます。全体として、本戦略は変動率を利用した逆張りアプローチのアイデアを提供していますが、安定した信頼性の高い定量戦略となるには、さらなる最適化と検証が必要です。

Source
Pine
/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © DojiEmoji (kevinhhl)

//@version=4
Strategy parameters
Strategy parameters
Backtest Start Time
Define backtest end-time (If false, will test up to most recent candle)
Backtest End Time (if checked above)
Length of ATR for trailing stop loss
ATR Multiplier for trailing stop loss
Length of ATR to determine volatility
Length of Drift
Comment
All comments (0)
No data
No data
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)