Sumber dimuat naik... memuat...

Random Fisher Transform Temporary Stop Reverse STOCH Indikator Strategi Kuantitatif

Penulis:ChaoZhang, Tarikh: 2024-01-02 11:14:12
Tag:

img

Ringkasan

Idea utama strategi ini adalah untuk menggabungkan Random Fisher Transform dan penunjuk STOCH Stop Reverse Temporary untuk membuat keputusan membeli dan menjual. Strategi ini sesuai untuk operasi jangka sederhana dan boleh menghasilkan pulangan yang baik dalam keadaan pasaran yang stabil.

Prinsip Strategi

Strategi ini mula-mula mengira penunjuk STOCH standard, kemudian melakukan transformasi Fisher di atasnya untuk mendapatkan INVLine. Apabila INVLine melintasi di atas ambang bawah dl, isyarat beli dihasilkan. Apabila INVLine melintasi di bawah ambang atas ul, isyarat jual dihasilkan. Pada masa yang sama, strategi ini juga menetapkan mekanisme hentian untuk mengunci keuntungan dan mengurangkan kerugian.

Khususnya, logik teras strategi ini adalah:

  1. Mengira penunjuk STOCH: Gunakan formula standard untuk mengira nilai stok STOCH pantas
  2. Transform Fisher: Lakukan transform Fisher pada nilai STOCH untuk mendapatkan INVLine
  3. Menghasilkan isyarat perdagangan: Beli apabila INVLine melintasi di atas dl, jual apabila melintasi di bawah ul
  4. Hentian penghantaran: Mengaktifkan mekanisme pengesanan hentian sementara untuk hentian kerugian tepat pada masanya

Analisis Kelebihan

Kelebihan utama strategi ini ialah:

  1. Transform Fisher berkesan meningkatkan kepekaan penunjuk STOCH dan boleh mengesan peluang pembalikan trend lebih awal
  2. Mekanisme hentian sementara dapat mengawal risiko dengan berkesan dan mengunci keuntungan
  3. Ia sesuai untuk operasi jangka sederhana, terutamanya perdagangan kuantitatif frekuensi tinggi yang popular sekarang
  4. Ia berprestasi baik dalam keadaan pasaran yang stabil dengan pulangan yang stabil

Analisis Risiko

Strategi ini juga mempunyai beberapa risiko:

  1. Penunjuk STOCH cenderung untuk menghasilkan isyarat palsu yang boleh menyebabkan perdagangan yang tidak perlu
  2. Transform Fisher juga menguatkan bunyi petunjuk STOCH, mengakibatkan lebih banyak isyarat palsu
  3. Ia mudah untuk menghentikan kerugian dalam pasaran berayun dan gagal membuat keuntungan yang mampan
  4. Tempoh penyimpanan yang agak pendek diperlukan untuk mendapatkan Alpha.

Untuk mengurangkan risiko ini, pertimbangkan untuk mengoptimumkan aspek berikut:

  1. Sesuaikan parameter STOCH untuk meluruskan lengkung dan mengurangkan bunyi bising
  2. Mengoptimumkan kedudukan garis ambang untuk mengurangkan kebarangkalian perdagangan palsu
  3. Tambah keadaan penapis untuk mengelakkan perdagangan di pasaran berayun
  4. Sesuaikan panjang masa tahan untuk sepadan dengan kitaran operasi

Arahan pengoptimuman

Arah utama untuk mengoptimumkan strategi ini termasuk:

  1. Mengoptimumkan parameter transformasi Fisher kepada lengkung INVLine yang lancar
  2. Mengoptimumkan panjang tempoh STOCH untuk mencari kombinasi parameter yang optimum
  3. Mengoptimumkan parameter garis ambang untuk mengurangkan kebarangkalian perdagangan palsu
  4. Tambah pengesahan harga jumlah untuk mengelakkan hentian yang tidak perlu
  5. Tambah penapis penembusan intraday untuk mengurangkan isyarat palsu di pasaran berayun
  6. Menggabungkan penunjuk trend untuk mengelakkan perdagangan kontra-trend

Kesimpulan

Strategi ini menggabungkan Random Fisher Transform dan penunjuk STOCH untuk melaksanakan strategi kuantitatif jangka pendek yang mudah dan praktikal. Kelebihannya terletak pada kekerapan operasi yang tinggi, yang sesuai untuk perdagangan kuantitatif frekuensi tinggi yang popular pada masa ini. Pada masa yang sama, strategi ini juga mempunyai beberapa risiko strategi penunjuk teknikal yang biasa. Parameter dan keadaan penapis perlu dioptimumkan untuk mengurangkan risiko dan meningkatkan kestabilan. Secara umum, strategi ini memberikan idea yang baik untuk perdagangan kuantitatif yang mudah dan bernilai penyelidikan yang lebih mendalam.


/*backtest
start: 2022-12-26 00:00:00
end: 2024-01-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("IFT Stochastic + Trailing Stop", overlay=false, pyramiding = 0, calc_on_order_fills = false, commission_type =  strategy.commission.percent, commission_value = 0.0454, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

//INPUTS
stochlength=input(19, "STOCH Length")
wmalength=input(4, title="Smooth")
ul = input(0.64,step=0.01, title="UP line")
dl = input(-0.62,step=0.01, title="DOWN line")
uts = input(true, title="Use trailing stop")
tsi = input(title="trailing stop actiation pips",defval=245)                                                                       
tso = input(title="trailing stop offset pips",defval=20)

//CALCULATIONS
v1=0.1*(stoch(close, high, low, stochlength)-50)
v2=wma(v1, wmalength)
INVLine=(exp(2*v2)-1)/(exp(2*v2)+1)

//CONDITIONS
sell = crossunder(INVLine,ul)? 1 : 0
buy = crossover(INVLine,dl)? 1 : 0

//PLOTS
plot(INVLine, color=aqua, linewidth=1, title="STOCH")
hline(ul, color=red)
hline(dl, color=green)
bgcolor(sell==1? red : na, transp=30, title = "sell signal")
bgcolor(buy==1? lime : na, transp=30, title = "buy signal")
plotchar(buy==1, title="Buy Signal", char='B', location=location.bottom, color=white, transp=0, offset=0)
plotchar(sell==1, title="Sell Signal", char='S', location=location.top, color=white, transp=0, offset=0)

//STRATEGY
strategy.entry("BUY", strategy.long, when = buy==1)
strategy.entry("SELL", strategy.short, when = sell==1)

if  (uts)
    strategy.entry("BUY", strategy.long, when = buy)
    strategy.entry("SELL", strategy.short, when = sell)
    strategy.exit("Close BUY with TS","BUY", trail_points = tsi, trail_offset = tso)
    strategy.exit("Close SELL with TS","SELL", trail_points = tsi, trail_offset = tso)


Lebih lanjut