
動量商品選択指数 (CSI) 戦略は,市場の動力を追跡するショートライン取引戦略である.それは,商品の傾向性と波動性を計算して,強力な動量を持つ商品を識別するために取引する.この戦略は,ウェルズ・ワイルダー (Welles Wilder) が彼の新技術分析取引システム概念で提唱した.
この戦略の核心指標はCSI指数で,商品のトレンド性と変動性を総合的に考慮している.具体的には以下の計算方法があります.
CSI = K × ATR × (ADX + ADXのn日平均線) /2)
その中で,Kは縮小系数であり,ATRは市場の波動性を測定する平均実際の波動幅を表す.ADXは市場の傾向性を反映する平均方向指数を表す.
各商品のCSI指数値を計算し,n日間の単純移動平均線と比較することで,CSIが移動平均線より高くなったら買い,CSIが移動平均線より低かったら売るシグナルが生成される.
この戦略は,CSI指数が高い商品を取引する.これらの商品は,強い傾向性および変動性があるため,短期間により大きな利益の可能性を得ることができます.
この戦略には以下の利点があります.
この戦略にはいくつかのリスクがあります.
リスクを制御するために,合理的にストップ・ポジションを設定し,単一のポジションのサイズを制御し,異なる市場環境に対応するためにパラメータを適切に調整する必要があります.
この戦略は以下の点で最適化できます.
動量商品選択指数戦略は,市場における傾向が強い,波動性が大きい商品を捕捉することによって,簡易で迅速な短線取引を実現する.この動量を追跡する方法は,その信号を明確にして,自動化を容易に実施する.もちろん,リスク管理に注意を払い,市場環境の変化に適応するために継続的に改良・アップグレードする必要がある.
/*backtest
start: 2023-10-28 00:00:00
end: 2023-11-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 20/03/2019
// The Commodity Selection Index ("CSI") is a momentum indicator. It was
// developed by Welles Wilder and is presented in his book New Concepts in
// Technical Trading Systems. The name of the index reflects its primary purpose.
// That is, to help select commodities suitable for short-term trading.
// A high CSI rating indicates that the commodity has strong trending and volatility
// characteristics. The trending characteristics are brought out by the Directional
// Movement factor in the calculation--the volatility characteristic by the Average
// True Range factor.
// Wilder's approach is to trade commodities with high CSI values (relative to other
// commodities). Because these commodities are highly volatile, they have the potential
// to make the "most money in the shortest period of time." High CSI values imply
// trending characteristics which make it easier to trade the security.
// The Commodity Selection Index is designed for short-term traders who can handle
// the risks associated with highly volatile markets.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
fADX(Len) =>
up = change(high)
down = -change(low)
trur = rma(tr, Len)
plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, Len) / trur)
minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, Len) / trur)
sum = plus + minus
100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), Len)
strategy(title="Commodity Selection Index Backtest", shorttitle="CSI Backtest")
PointValue = input(50)
Margin = input(3000)
Commission = input(10)
Length = input(14)
reverse = input(false, title="Trade reverse")
K = 100 * ((PointValue / sqrt(Margin) / (150 + Commission)))
xATR = atr(Length)
xADX = fADX(Length)
nADXR = (xADX + xADX[Length]) * 0.5
xCSI = K * xATR * nADXR
xMACSI = sma(xCSI, Length)
pos = 0.0
pos := iff(xCSI < xMACSI, 1,
iff(xCSI > xMACSI, -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(xCSI, color=green, title="CSI")
plot(xMACSI, color=red, title="CSI SMA")