
Chiến lược này sử dụng phương pháp biến động cực đoan để tính toán tỷ lệ biến động thống kê, còn được gọi là tỷ lệ biến động lịch sử. Nó dựa trên giá cao nhất, giá thấp nhất, giá đóng cửa, kết hợp với các yếu tố thời gian, để tính toán tỷ lệ biến động thống kê.
Tính toán giá cao nhất, giá thấp nhất, giá đóng cửa trong một khoảng thời gian nhất định
Sử dụng công thức giá trị cực đoan để tính toán tỷ lệ biến động thống kê
SqrTime = sqrt(253 / Length)
Vol = ((0.6 * log(xMaxC / xMinC) * SqrTime) + (0.6 * log(xMaxH / xMinL) * SqrTime)) * 0.5
So sánh tỷ lệ biến động với giá trị thềm lên xuống, tạo ra tín hiệu giao dịch
pos = iff(nRes > TopBand, 1,
iff(nRes < LowBand, -1, nz(pos[1], 0)))
Làm nhiều hoặc ngắn theo tín hiệu giao dịch
Những ưu điểm chính của chiến lược này là:
Chiến lược này có những rủi ro chính như sau:
Phương pháp đối phó và giải pháp:
Chiến lược này có thể được tối ưu hóa bằng:
Chiến lược này sử dụng phương pháp giá trị cực đoan để tính toán tỷ lệ biến động thống kê, tạo tín hiệu giao dịch bằng cách nắm bắt biến động của tỷ lệ biến động. Nó phản ánh tốt hơn sự biến động của thị trường so với các chỉ số như trung bình di chuyển đơn giản. Đồng thời, thuật toán giá trị cực đoan cũng làm cho kết quả ổn định và đáng tin cậy hơn.
/*backtest
start: 2022-12-19 00:00:00
end: 2023-12-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 22/11/2014
// This indicator used to calculate the statistical volatility, sometime
// called historical volatility, based on the Extreme Value Method.
// Please use this link to get more information about Volatility.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Statistical Volatility - Extreme Value Method ", shorttitle="Statistical Volatility Backtest")
Length = input(30, minval=1)
TopBand = input(0.005, step=0.001)
LowBand = input(0.0016, step=0.001)
reverse = input(false, title="Trade reverse")
hline(TopBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
xMaxC = highest(close, Length)
xMaxH = highest(high, Length)
xMinC = lowest(close, Length)
xMinL = lowest(low, Length)
SqrTime = sqrt(253 / Length)
Vol = ((0.6 * log(xMaxC / xMinC) * SqrTime) + (0.6 * log(xMaxH / xMinL) * SqrTime)) * 0.5
nRes = iff(Vol < 0, 0, iff(Vol > 2.99, 2.99, Vol))
pos = iff(nRes > TopBand, 1,
iff(nRes < LowBand, -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=blue, title="Statistical Volatility")