Strategi ujian balik turun naik statistik berdasarkan kaedah nilai ekstrem


Tarikh penciptaan: 2023-12-26 10:24:53 Akhirnya diubah suai: 2023-12-26 10:24:53
Salin: 1 Bilangan klik: 715
1
fokus pada
1621
Pengikut

Strategi ujian balik turun naik statistik berdasarkan kaedah nilai ekstrem

Gambaran keseluruhan

Strategi ini menggunakan kaedah terhad untuk mengira kadar turun naik statistik, yang juga dikenali sebagai kadar turun naik sejarah. Ia berdasarkan nilai tertinggi, harga terendah, harga penutupan, dengan faktor masa, untuk mengira kadar turun naik statistik. Kadar turun naik ini mencerminkan turun naik harga aset.

Prinsip Strategi

  1. Mengira harga tertinggi, harga terendah, dan harga penutupan dalam tempoh masa tertentu

  2. Menggunakan formula nilai ekstrem untuk mengira kadar turun naik statistik

    SqrTime = sqrt(253 / Length)  
    Vol = ((0.6 * log(xMaxC / xMinC) * SqrTime) + (0.6 * log(xMaxH / xMinL) * SqrTime)) * 0.5
    
  3. Bandingkan kadar turun naik dengan paras yang ditetapkan untuk menghasilkan isyarat dagangan

    pos = iff(nRes > TopBand, 1, 
             iff(nRes < LowBand, -1, nz(pos[1], 0)))
    
  4. Melabur atau berkurangan mengikut isyarat dagangan

Analisis kelebihan

Kelebihan utama strategi ini ialah:

  1. Menggunakan indikator kadar turun naik statistik untuk menangkap peluang panas dan berbalik dalam pasaran
  2. Kaedah nilai ekstrem untuk mengira kadar turun naik, tidak sensitif terhadap harga ekstrem, hasilnya lebih stabil dan boleh dipercayai
  3. Perdagangan boleh disesuaikan dengan persekitaran kadar turun naik yang berbeza dengan menyesuaikan parameter

Analisis risiko

Risiko utama strategi ini ialah:

  1. Kadar turun naik statistik sendiri mempunyai ketinggalan dan tidak dapat memahami titik perubahan pasaran dengan tepat
  2. Indeks kadar turun naik bertindak balas lambat terhadap kejadian yang tidak dijangka dan mungkin terlepas peluang perdagangan jangka pendek
  3. Terdapat risiko perdagangan yang salah dan risiko kerugian.

Kaedah pencegahan dan penyelesaian:

  1. Memendekkan kitaran statistik dengan sewajarnya dan meningkatkan kepekaan terhadap perubahan pasaran
  2. Gabungan dengan petunjuk lain untuk meningkatkan ketepatan isyarat
  3. Tetapkan titik henti dan kawal kerugian tunggal

Arah pengoptimuman

Kaedah untuk mengoptimumkan strategi ini:

  1. Uji parameter kitaran statistik yang berbeza untuk mencari parameter yang optimum
  2. Tambah modul pengurusan kedudukan untuk menyesuaikan kedudukan mengikut kadar turun naik
  3. Menggabungkan penunjuk seperti purata bergerak, menetapkan syarat penapisan, mengurangkan kesilapan perdagangan

ringkaskan

Strategi ini menggunakan kaedah nilai ekstrem untuk mengira kadar turun naik statistik, menghasilkan isyarat perdagangan dengan menangkap pergerakan kadar turun naik. Ia lebih dapat mencerminkan turun naik pasaran, menangkap pembalikan berbanding dengan rata-rata bergerak sederhana. Pada masa yang sama, algoritma nilai ekstrem juga menjadikan hasilnya lebih stabil dan boleh dipercayai.

Kod sumber strategi
/*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")