STARCチャンネルバックテスト戦略

作者: リン・ハーンチャオチャン, 日付: 2023-12-05 14:52:20
タグ:

img

概要

STARCチャネルバックテスト戦略 (STARC Channel Backtest Strategy) は,STARC指標に基づいた定量的な取引戦略である.この戦略は,ブレイクアウトの購入・売却の取引信号を生成するために上下STARCチャネルを構成する.また,異なる市場環境に適応するために,ロング・ショート・ポジションスイッチングメカニズムも組み込む.

戦略原則

STARCチャンネルバックテスト戦略の核心は,以下を含むSTARC指標です.

  • ベースライン: n 日間の単純な移動平均 SMA
  • 上部帯:SMA + K × 平均本来の範囲 ATR
  • 下帯:SMA - K × ATR

閉じる価格が上位帯を突破すると買い信号と,閉じる価格が下位帯を突破すると売り信号を発生させる.

この戦略は,STARCチャネルの上下レールを毎日計算し,閉値がそれらを破って取引信号を生成するかどうかを判断する.また,異なる市場状況に適応するために,ロングとショートポジションを切り替える逆パラメータを設定する.

利点分析

STARCのチャンネルバックテスト戦略には以下の利点があります.

  1. STARC インジケーターで上下チャネルを 構築して バックテストの結果を
  2. 長期・短期ポジションの切り替えメカニズムが組み込まれ,様々な市場環境に適応する.
  3. フレキシブルなパラメータ設定,K値と移動平均の長さの両方を調整し最適化できます.
  4. 明確で理解しやすい戦略規則で,理解し実行しやすい.
  5. 市場ポジションを直感的に判断するための視覚化指標

リスク分析

STARCのチャンネルバックテスト戦略には リスクもあります

  1. STARC指標は,中長期取引にしばしば使用され,短期的な結果は最適ではない場合もあります.
  2. ブレイクアウト取引は ストップ損失を厳格に設定する ストップ損失を伴う ストップ損失に 巻き込まれやすい
  3. 逆パラメータの設定が正しくない場合,取引が過度に頻繁になる可能性があります.
  4. パラメータの最適化が不適切である場合,曲線フィッティングが起こる.

リスクを軽減するために,以下の措置を講じなければならない.

  1. 適当な取引サイクル,例えば日々のサイクルや他の中長期サイクルを選択する.
  2. 単一の取引損失を制御するために,合理的なストップ損失ポジションを設定する.
  3. 位置の過剰な切り替えを避けるため,反向パラメータを注意深く設定する.
  4. 多パラメータ最適化で オーバーフィッティングを防ぐ

オプティマイゼーションの方向性

STARCチャネルバックテスト戦略の主な最適化方向は以下の通りである.

  1. パラメータ最適化:移動平均長さ,K値,ATRサイクル,その他のパラメータを調整して最適なパラメータ組み合わせを見つける.
  2. ストップ・ロスのメカニズムを追加します.リスク制御のために,ストップ・ロスの後延,ストップ・ロスの時間,ストップ・ロスの割合などを設定します.
  3. 他の指標を組み込む:効率を向上させるため,取引量,ボリンジャー帯等を追加する.
  4. パラメータを動的に調整する: 安定性を向上させるために,市場の変化に基づいてパラメータを自動的に最適化し調整する.

これらの最適化方向は,リスクを制御しながら戦略の収益性と安定性を向上させることができます.

結論

STARCチャネルバックテスト戦略の全体的な効果は良好である.STARC指標に基づいて中長期間のブレイクアウト取引を実施する.戦略の利点は,市場変化に適応するための逆メカニズムを設定しながら,安定した取引信号を生成するためにSTARCチャネルを使用することです.また,ストップ損失を設定し,戦略をより安定かつ効率的にするためにパラメータを最適化することでリスクを軽減する必要があります.一般的に,この戦略は中長期間のブレイクアウト取引のための効果的なツールです.


/*backtest
start: 2023-11-04 00:00:00
end: 2023-12-04 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/04/2018
// A type of technical indicator that is created by plotting two bands around 
// a short-term simple moving average (SMA) of an underlying asset's price. 
// The upper band is created by adding a value of the average true range 
// (ATR) - a popular indicator used by technical traders - to the moving average. 
// The lower band is created by subtracting a value of the ATR from the SMA.
// STARC is an acronym for Stoller Average Range Channels. The indicator is 
// named after its creator, Manning Stoller.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="STARC Bands Backtest", overlay = true)
LengthMA = input(5, minval=1)
LengthATR = input(15, minval=1)
K = input(1.33, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
xMA = sma(close, LengthMA)
xATR = atr(LengthATR)
xSTARCBandUp = xMA + xATR * K
xSTARCBandDn = xMA - xATR * K
pos = iff(close > xSTARCBandUp, 1,
       iff(close < xSTARCBandDn, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(xMA, color=blue, title="MA")
plot(xSTARCBandUp, color = green, title="UpBand")
plot(xSTARCBandDn, color=red, title="DnBand")

もっと