線形回帰分析と移動平均指標に基づく短期取引戦略


作成日: 2024-01-17 11:41:16 最終変更日: 2024-01-17 11:41:16
コピー: 0 クリック数: 1092
1
フォロー
1617
フォロワー

線形回帰分析と移動平均指標に基づく短期取引戦略

概要

線形回帰通路戦略は,線形回帰分析と均線指標に基づくショートライン取引戦略である.この戦略は,線形回帰通路とハル移動平均を組み合わせ,トレンドの方向を識別し,より低いリスクのある入場点を発見することを目的としている.

戦略原則

線形回帰通路の戦略は主に2つの指標に基づいています.

  1. 線形回帰チャネル (Linear Regression Channel): 線形回帰分析によって計算されたチャネル範囲. 戦略では,価格の長期的傾向を表す55日の長さの線形回帰ラインが設定されています. 同時に,チャネル上限ラインを計算し,より熱い価格領域を表しています.

  2. ハル移動平均 (Hull Moving Average):移動平均に似たトレンド追跡指標で,長さが400日設定され,価格の全体的な動きと方向を判断する.

取引の論理は以下の通りです.

価格が通路上限線以下で400日ハル移動平均を下回ったとき,多めに行います.価格が線形回帰の中線上方に戻ったとき,平仓を停止します.

価格が上昇するチャネルに戻ったときに利益を得るために,収支期間中に低値を購入することができます.

優位分析

この戦略には以下の利点があります.

  1. 線形回帰通路は,価格の熱度と長期トレンドの方向をより正確に判断し,波動的な状況で盲目入場を避けることができます.

  2. Hull移動平均は,短期市場の騒音をフィルタリングして,入場タイミングをより明確にする.

  3. 策略操作の頻度は低く,撤回リスクは低い.市場の揺れが起きたときに高殺低を追うことはない.

  4. 利得は明確で,通常は中短線で良い利益を得ることができます.

リスク分析

線形回帰通路の策略にはいくつかのリスクがあります.

  1. 牛市では,線形回帰通路が平らになるか,弱く下落する可能性があるため,買い機会が逃れることになる.適切なパラメータの調整によって最適化することができる.

  2. 突発的な事件が重大な調整を起こす場合,ストップラインは突破され,大きな損失が生じることがあります.単一の損失を制御するためにストップライン比率を設定できます.

  3. もし,Hull平均線を下回った場合,平準ポジションを取ることができません.Hull平均線パラメータを調整したり,ストップ・ローンを設定することもできます.

  4. 取引頻度が過度に低い場合がある. 線形回帰周期を適切に短縮し,取引頻度を高めることができる.

最適化の方向

線形回帰通路の戦略は,以下の点で最適化できます.

  1. ダイナミックな調整は,実際の価格変動に近い方法で,線形回帰チャネルパラメータを調整します.

  2. ハル平均線パラメータを最適化して,トレンド転換点をよりよく判断できるようにする.

  3. 経路内のトラッキングストップポイントを設定することで,単一の損失のリスクを効果的に制御できます.

  4. 波動性指数を増やして,震災の激しい状況でポジションを開くのを避ける.

  5. 取引量指数と組み合わせて,本当の突破を判断する.

要約する

線形回帰チャネル戦略は,全体としてより堅牢なトレンド追跡戦略である.市場騒音を回避し,トレンドが始まるときに正しい方向に進むことができる.パラメータ最適化と指標の組み合わせによって,取引リスクをさらに軽減し,収益率を向上させることができる.この戦略は,中長線保有に適しており,頻繁な操作を必要としない.全体として,強力なリールディスクの運用価値を持つ.

ストラテジーソースコード
/*backtest
start: 2023-01-10 00:00:00
end: 2024-01-16 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/
// © TradingAmmo

//@version=4
strategy("Linear Channel", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(input(9999, "End Year"),  1, 1,  0, 0)
_testPeriod() => true

//linreg
length = input(55)
linreg = linreg(close, length, 0)
plot(linreg, color=color.white) 

//calc band
Value = input(-2)
sub = (Value/100)+1
Band2 = linreg*sub
plot(Band2, color=color.red)

//HMA as a filter
HMA = input(400, minval=1)  
plot(hma(close, HMA), color=color.purple)  

long_condition = close <  Band2  and hma(close, HMA) < close and _testPeriod()
strategy.entry('BUY', strategy.long, when=long_condition)  
 
short_condition =  close > linreg
strategy.close('BUY', when=short_condition)