avatar of 发明者量化-小小梦 发明者量化-小小梦
fokus pada Pesan pribadi
4
fokus pada
1271
Pengikut

Kurtosis dan Skewness

Dibuat di: 2017-01-05 14:06:15, diperbarui pada:
comments   0
hits   4940

Kurtosis dan Skewness


  • #### Kurtosis dan skewness

Diunggah oleh EasyTrader

Ini adalah strategi perdagangan yang dilakukan oleh kurtosis dan skewness yang digunakan untuk mendistribusikan data statistik. Ketika data menunjukkan tren dan tren potensial positif, kita melakukan lebih banyak.

Jadi, bagaimana kita bisa menentukan trend dan intensitasnya?

Pertama, mari kita lihat definisi distribusi normal.

Distribusi: distribusi di mana semua nilai dalam variabel muncul berkali-kali, dengan koordinat yang ditunjukkan pada sumbu horizontal sebagai nilai variabel, dan pada sumbu vertikal sebagai frekuensi munculnya. Distribusi normal: juga dikenal sebagai distribusi Gaussian

Sebaran normal standar: dengan mean sebagai pusatnya, dan standar deviasi sebagai satuan dasar dari sumbu penunjuk. Diagram simetris berbentuk bel.

m ± 1s berisi 68.26% dari seluruh populasi sampel.

m ± 2s berisi 95.44% dari seluruh kelompok sampel.

m ± 3s mengandung 99,74% dari seluruh populasi sampel.

95% individu jatuh di antara m ± 1.96s.

99% individu jatuh di antara m ± 2.58s.

Kurtosis dan Skewness

Dalam statistik, puncak (Kurtosis) mengukur puncak dari distribusi probabilitas variabel acak real. Tinggi puncak berarti bahwa peningkatan varians disebabkan oleh perbedaan ekstrim yang lebih besar atau lebih kecil dari rata-rata pada frekuensi rendah.

Kurtosis, adalah suatu statistik yang menggambarkan tingkat ketegangan dari bentuk distribusi dari sekumpulan data. Di pasar keuangan, puncak yang lebih besar dari 0 adalah pasar tanpa tren (sideway market), dan puncak yang lebih kecil dari 0 adalah pasar tren (trending market).

Skewness menggambarkan simetrisitas penyebaran data, atau posisi bilangan dalam data. Skewness sama dengan 0 menggambarkan simetrisitas yang sempurna. Statistik ini juga perlu dibandingkan dengan penyebaran normal: skewness yang lebih besar dari 0 menunjukkan bahwa dibandingkan dengan penyebaran normal, array tersebut memiliki skewness kanan, yang merupakan ekor panjang di sebelah kanan dan nilai ekstrimnya lebih banyak disusun di sebelah kanan; sebaliknya skewness kiri, yang merupakan ekor panjang di sebelah kiri dan nilai ekstrimnya lebih banyak disusun di sebelah kiri.

Dalam teori probabilitas dan statistik, bias mengukur asimetrisitas distribusi probabilitas variabel acak real. Nilai bias dapat positif, negatif, atau bahkan tidak dapat didefinisikan. Secara kuantitatif, bias negatif (negatif bias) berarti bahwa panjang punggung di sisi kiri dari fungsi kepadatan peluang lebih panjang dari sisi kanan, dan bahwa sebagian besar nilai (termasuk rata-rata) berada di sisi kanan dari rata-rata.

Ada dua jenis bias:

  • Bipolar negatif atau bipolar kiri: ekor yang lebih panjang di sebelah kiri, dan massa distribusi terkonsentrasi di sebelah kanan.
  • Positif atau parsial kanan: ekor yang lebih panjang di sebelah kanan, dan massa yang terdistribusi terkonsentrasi di sebelah kiri.
  • Jika distribusi simetris, maka rata-rata = median, dan bias adalah nol (disamping itu, jika distribusi adalah distribusi tunggal, maka rata-rata = median = bilangan bulat).

Kurtosis dan Skewness

  • Oleh karena itu, kami menyimpulkan aturan transaksi sebagai berikut: Ketika puncaknya kurang dari 0 (pasar berada di pasar tren), biasnya lebih besar dari N (tren ke atas), lakukan lebih banyak; Ketika puncaknya kurang dari 0 (pasar berada di pasar tren), biasnya kurang dari M (tren menurun), melakukan shorting;

Sumber MATLAB: Yang berminat bisa beralih ke bahasa JS untuk mencoba.

input:ExitType(5) ;
input:NBarL(2),NBarS(2),TradeProfit(0.053),TradeStopLoss(0.023),ATRs_L(5.4),ATRs_S(10.9);
vars: IsBalanceDay(False),MP(0),PF(0),PL(0),HLRange(100);

inputs:Length(20),Trigger(3),UpSkew(3.4),DownSkew(2.2) ;
vars:KurtValue(0),SkewValue(0),BuyPoint(0),SellPoint(0);

MP = MarketPosition ;
if DAYofMonth(Date) > 14 and DAYofMonth(Date) < 22 and DAYofWeek(Date)= 3 then isBalanceDay = True else isBalanceDay =False ;

PF = AvgPrice*TradeProfit ;
PL = AvgPrice*TradeStopLoss ;

{计算峰度 }
KurtValue = Kurtosis(Close,Length) ;
{计算偏度}
SkewValue = Skew(Close,Length) ;

{ 峰度向下跌破 Trigger 线 ,建立买卖点 }
if KurtValue Cross under Trigger then Begin
BuyPoint = High 3;
SellPoint = Low-3;
end;

{ 偏度大于某数值后 ,趋势确认进场作多 }
if  SkewValue > -UpSkew 2 then Buy next bar at BuyPoint stop ;
{ 偏度小于某数值后 ,趋势确认进场作空 }
if  SkewValue < -DownSkew 2 then Sell next bar at SellPoint Stop ;
end;

if ExitType = 1 then SetStopLoss(PL * BigPointValue) ;

if ExitType = 2 then Begin
SetStopLoss(PL * BigPointValue) ;
setProfitTarget(PF * BigPointValue) ;
end;

if ExitType = 3 then Begin
if MP > 0 and BarsSinceEntry = NBarL then ExitLong next bar at Market ;
if MP < 0 and BarsSinceEntry = NBarS then ExitShort next bar at Market ;
end;

if ExitType = 4 then Begin
SetStopLoss(PL * BigPointValue) ;
setProfitTarget(PF * BigPointValue) ;
if MP > 0 and BarsSinceEntry = NBarL then {Sell } ExitLong next bar at Market ;
if MP < 0 and BarsSinceEntry = NBarS then {Buy} ExitShort next bar at Market ;
end;

if ExitType = 5 then Begin
{*******************************************************************
Description : ATR Trailing Stop Long Exit
Provided By : Omega Research, Inc. (c) Copyright 1999
********************************************************************}
{Inputs: ATRs_L(3);}
Variables: PosHigh(0), ATRVal_L(0);

ATRVal_L = AvgTrueRange(10) * ATRs_L;
If BarsSinceEntry = 0 Then PosHigh = High;
If MarketPosition = 1 Then Begin
If High > PosHigh Then PosHigh = High;
ExitLong ("ATR") Next Bar at PosHigh - ATRVal_L Stop;
End else ExitLong ("ATR eb") Next bar at High - ATRVal_L Stop;

{*******************************************************************
Description : ATR Trailing Stop Short Exit
Provided By : Omega Research, Inc. (c) Copyright 1999
******************************************************************}
{Inputs: ATRs_S(3);}
Variables: PosLow(0), ATRVal_S(0);

ATRVal_S = AvgTrueRange(10) * ATRs_S;
If BarsSinceEntry = 0 Then PosLow = Low;
If MarketPosition = -1 Then Begin
If Low < PosLow Then PosLow = Low;
ExitShort ("ATR_1") Next Bar at PosLow ATRVal_S Stop;
End else ExitShort ("ATR_1 eb") Next bar at Low ATRVal_S Stop;
end;

if IsBalanceDay then setExitonClose ;

Dikutip dari blog Faruto