ポジティブ・ボリューム・インデックス戦略

作者: リン・ハーンチャオチャン, 日付: 2023-09-18 21:21:54
タグ:

概要

ポジティブ・ボリューム・インデックス戦略は,昨日のボリュームと今日のボリュームを比較する.ボリュームが拡大してポジティブ・ボリューム・インデックスを形成する日に価格変化を計算し,取引信号を生成するために移動平均と比較する.この戦略は,ボリュームと価格の同時拡大の市場原理に従う.

戦略の論理

この戦略は,まず日々の価格変動xROCを計算する.その後,今日のボリュームと昨日のボリュームを比較する[1].今日のボリュームが大きい場合,今日の正のボリュームインデックスnResは昨日のボリュームインデックスnRes[1]プラスxROCである.今日のボリュームが昨日のボリュームより小さいか等しい場合,今日のボリュームインデックスは昨日のボリュームと同じである[1].

ポジティブなボリュームインデックス nRes を計算した後,そのN日移動平均 nResEMA と比較する. nRes が nResEMA より大きい場合,それは長い信号である. nRes が nResEMA より小さい場合,それは短い信号である.

この戦略は,ポジティブなボリュームインデックスと移動平均値の関係に従って取引信号を生成する.インデックスは移動平均値を超えると,購入信号である.インデックスは下を通ると,売却信号である.

利点分析

この戦略の利点は以下の通りです.

  1. 市場動向を記録する 音量変化を観察する

  2. 市場が上昇する可能性を示唆している

  3. 実行とバックテストの論理はシンプルです

  4. 移動平均パラメータを調整することで取引頻度は制御できます.

リスク分析

この戦略の主なリスクは,

  1. 量拡大は必ずしも価格拡大を意味するものではありません.差異は起こり得ます.

  2. 合理的なストップ・ロスは,損失を制御するために設定されるべきです.

  3. インデックスと移動平均値の値変動からの信号

  4. 異常音量や過度に最適化することで 誤った信号が発信されます

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

戦略は以下の側面で最適化できます.

  1. 信号フィルタリングのためにMACD,KDJなどの他の技術指標を追加してテストします.

  2. 最適なバランスを確保するために移動平均パラメータを最適化します.

  3. リスクをコントロールするために ストップ・ロスのメカニズムを追加します

  4. リスクを徐々に減らすために ポジションの部分的な出口を検討します

  5. 特定の製品のパラメータを最適化して強さを向上させる.

結論

ポジティブ・ボリューム・インデックス戦略は,ボリューム変化に基づいて取引を設計し,一部の市場フォローする能力を有する.しかし,ボリュームと価格の間の差異は注意すべきである.パラメータを最適化し,ストップ・ロスを設定し,インジケーターを追加することによって,リスクを制御し,パフォーマンスを向上させるために戦略を改善することができる.価格・ボリューム関係を調査し,市場のタイミングを支援するのに適している.


/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 11/10/2017
// The theory behind the indexes is as follows: On days of increasing volume, 
// you can expect prices to increase, and on days of decreasing volume, you can 
// expect prices to decrease. This goes with the idea of the market being in-gear 
// and out-of-gear. Both PVI and NVI work in similar fashions: Both are a running 
// cumulative of values, which means you either keep adding or subtracting price 
// rate of change each day to the previous day`s sum. In the case of PVI, if today`s 
// volume is less than yesterday`s, don`t add anything; if today`s volume is greater, 
// then add today`s price rate of change. For NVI, add today`s price rate of change 
// only if today`s volume is less than yesterday`s.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Positive Volume Index", shorttitle="Positive Volume Index")
EMA_Len = input(255, minval=1)
reverse = input(false, title="Trade reverse")
xROC = roc(close, 1)
nRes = iff(volume > volume[1], nz(nRes[1], 0) + xROC, nz(nRes[1], 0))
nResEMA = ema(nRes, EMA_Len)
pos = iff(nRes > nResEMA, 1,
	   iff(nRes < nResEMA, -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(nRes, color=red, title="PVI")
plot(nResEMA, color=blue, title="EMA")

もっと