Strategi Perdagangan Kuantitatif Berbilang Faktor

Penulis:ChaoZhang, Tarikh: 2023-12-27 15:46:27
Tag:

img

Ringkasan

Strategi ini menggabungkan strategi pembalikan 123 dan strategi garis psikologi untuk membentuk strategi perdagangan kuantitatif pelbagai faktor. Dengan mempertimbangkan corak teknikal, psikologi pasaran dan faktor lain secara komprehensif, strategi dapat membuat penilaian yang lebih tepat ketika menentukan trend pasaran.

Prinsip

123 Strategi Pembalikan

Strategi pembalikan 123 menilai bahawa jika harga penutupan hari meningkat berbanding hari sebelumnya, dan garis K yang perlahan berada di bawah 50, pergi panjang; jika jatuh, dan garis K yang cepat berada di atas 50, pergi pendek. Strategi ini memanfaatkan ciri-ciri pembalikan jangka pendek untuk keuntungan.

Strategi Barisan Psikologi

Strategi garis psikologi mengira nisbah kenaikan dan kejatuhan dalam kitaran tertentu. Jika kenaikan lebih daripada 50%, ia menunjukkan bahawa lembu menguasai pasaran; jika kenaikan kurang daripada 50%, ia menunjukkan bahawa beruang mengawal pasaran. Membuat penilaian mengenai psikologi pasaran berdasarkan nisbah kenaikan dan kejatuhan.

Strategi ini menggabungkan isyarat dari kedua-dua strategi di atas. Buka kedudukan apabila kedua-dua strategi memberi isyarat ke arah yang sama, dan tutup kedudukan apabila memberi isyarat ke arah yang berbeza.

Kelebihan

Strategi ini menggabungkan pelbagai faktor dan dapat membuat penilaian yang lebih tepat mengenai trend pasaran, mengelakkan penilaian yang salah yang disebabkan oleh satu petunjuk teknikal. Pada masa yang sama, gabungan psikologi pasaran menjadikan strategi lebih berdaya tahan untuk menangani perubahan trend yang kompleks.

Risiko dan Penyelesaian

Tetapan parameter untuk setiap faktor dalam strategi akan mempunyai kesan yang lebih besar terhadap prestasi strategi. Gabungan parameter yang tidak munasabah boleh sangat mengurangkan keberkesanan strategi. Di samping itu, perubahan drastik dalam trend juga boleh menyebabkan strategi gagal. Untuk mengurangkan risiko, kita perlu menguji semula pelbagai keadaan pasaran untuk mencari tetapan parameter yang optimum; juga mengawal saiz kedudukan untuk memastikan bahawa satu kerugian tidak terlalu besar.

Arahan pengoptimuman

Berdasarkan asas yang sedia ada, kita boleh terus menambah faktor penilaian lain seperti turun naik dan jumlah untuk membentuk logik strategi yang lebih tiga dimensi; atau menambah algoritma pembelajaran mesin untuk mencapai pengoptimuman adaptif parameter automatik. Ini akan menjadi arah pengoptimuman lebih lanjut untuk strategi ini.

Ringkasan

Strategi ini secara komprehensif mempertimbangkan pelbagai faktor seperti corak teknikal dan psikologi pasaran. Pengesahan antara faktor yang berbeza memastikan kesahihan isyarat. Pada masa yang sama, ia meninggalkan ruang yang banyak untuk pengoptimuman dan dijangka mencapai prestasi yang unggul. Ini adalah strategi kuantitatif berkualiti tinggi yang bernilai penjejakan, pengumpulan dan pengoptimuman jangka panjang.


/*backtest
start: 2022-12-20 00:00:00
end: 2023-12-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/04/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// Psychological line (PSY), as an indicator, is the ratio of the number of 
// rising periods over the total number of periods. It reflects the buying 
// power in relation to the selling power.
// If PSY is above 50%, it indicates that buyers are in control. Likewise, 
// if it is below 50%, it indicates the sellers are in control. If the PSY 
// moves along the 50% area, it indicates balance between the buyers and 
// sellers and therefore there is no direction movement for the market.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


PLine(Length) =>
    pos = 0.0
    cof = close > close[1]? 1:0
    xPSY = sum(cof,Length) / Length * 100
    pos:= iff(xPSY > 50, 1,
           iff(xPSY < 50, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Psychological line", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Psychological line ----")
LengthPLine = input(20, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posPLine = PLine(LengthPLine)
pos = iff(posReversal123 == 1 and posPLine == 1 , 1,
	   iff(posReversal123 == -1 and posPLine == -1, -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)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Lebih lanjut