4
tập trung vào
1113
Người theo dõi

Độ nhọn và độ xiên

Được tạo ra trong: 2017-01-05 14:06:15, cập nhật trên:
comments   0
hits   4458

Độ nhọn và độ xiên


  • #### Kurtosis và skewness

Bài đăng bởi EasyTrader

Đây là một chiến lược giao dịch được thực hiện bởi độ cao (kurtosis) và độ lệch (skewness) của phân bố dữ liệu thống kê. Khi dữ liệu có xu hướng và xu hướng tiềm năng là tích cực, chúng tôi làm nhiều hơn.

Vì vậy, làm thế nào để chúng ta xác định xu hướng và cường độ của xu hướng?

Trước tiên, hãy xem định nghĩa của phân phối bình thường.

Phân phối (distribution): trường hợp phân phối trong đó tất cả các giá trị trong biến xuất hiện số lần, với trục ngang là giá trị của biến, trục dọc là tần số xuất hiện của biểu đồ tọa độ. Phân phối bình thường: còn được gọi là phân phối Gaussian (Gaussian distribution)

Phân bố tiêu chuẩn thường xuyên: biểu đồ phân bố thường xuyên được vẽ với giá trị trung bình (mean) là trung tâm, và độ lệch tiêu chuẩn (standard deviation) là đơn vị cơ bản của trục chỉ số. Hình ảnh đối xứng có hình dạng hình chuông quay.

m ± 1s chứa 68.26% cá thể trong toàn bộ nhóm mẫu.

m ± 2s chứa 95.44% cá thể trong toàn bộ nhóm mẫu.

m ± 3s chứa 99,74% cá thể trong toàn bộ nhóm mẫu.

95% cá thể rơi giữa m ± 1.96s.

99% cá thể rơi giữa m ± 2.58s.

Độ nhọn và độ xiên

Trong thống kê, đỉnh (Kurtosis) đo lường trạng thái đỉnh của phân phối tỷ lệ của một biến số ngẫu nhiên thực. Đỉnh cao có nghĩa là sự chênh lệch lớn hơn do sự chênh lệch cực lớn hơn hoặc nhỏ hơn trung bình của tần số thấp.

Đỉnh (kurtosis), là số liệu thống kê về độ nhọn của hình thức phân bố của một tập hợp dữ liệu. Đỉnh phân bố bình thường là 3, vì vậy chúng tôi gọi đỉnh lớn hơn 3 là đỉnh, biểu thị phân bố dữ liệu tập trung hơn so với phân bố bình thường và mịn hơn. Chúng tôi gọi đỉnh nhỏ hơn 3 là đỉnh phẳng, biểu thị phân bố dữ liệu mịn hơn so với phân bố tích cực.

Skewness mô tả sự đối xứng của phân bố dữ liệu, hoặc vị trí của các số trong dữ liệu. Sự đối xứng tương đương với 0 là sự đối xứng hoàn hảo. Số liệu thống kê này cũng cần so sánh với phân bố thông thường: độ lệch lớn hơn 0 cho thấy so với phân bố thông thường, mảng này có độ lệch bên phải, biểu thị là đuôi dài bên phải và các giá trị cực đoan có thể được sắp xếp ở bên phải; trái ngược lại là lệch bên trái, biểu thị là đuôi dài bên trái và các giá trị cực đoan có thể được sắp xếp ở bên trái.

Trong lý thuyết xác suất và thống kê, độ lệch đo lường sự không đối xứng của phân phối xác suất của các biến ngẫu nhiên thực. Các giá trị của độ lệch có thể là tích cực, có thể là âm hoặc thậm chí không thể xác định được. Về mặt số, độ lệch là âm (hoặc tiêu cực) có nghĩa là chiều dài của hàm mật độ xác suất ở bên trái của hàm so với bên phải, và phần lớn các giá trị (bao gồm cả số trung bình) nằm ở bên phải của giá trị trung bình.

Có hai loại thiên vị:

  • Phân cực âm hoặc phân cực bên trái: đuôi bên trái dài hơn, chủ thể phân bố tập trung ở bên phải.
  • Phân cực chính hoặc phân cực phải: đuôi bên phải dài hơn, chủ thể phân bố tập trung ở bên trái.
  • Nếu phân phối là đối xứng, thì giá trị trung bình = số trung bình, độ lệch là 0 (còn nữa, nếu phân phối là phân phối đơn đỉnh, thì giá trị trung bình = số trung bình = số nguyên tố).

Độ nhọn và độ xiên

  • Do đó, chúng ta có các quy tắc giao dịch sau đây: Khi đỉnh nhỏ hơn 0 (thị trường đang trong xu hướng), sai lệch lớn hơn N (thị trường đang đi lên), làm nhiều hơn; Khi đỉnh nhỏ hơn 0 (thị trường đang trong xu hướng), sai lệch nhỏ hơn M (thị trường đang đi xuống), shorting;

Nguồn gốc MATLAB: Những người quan tâm có thể chuyển đổi sang ngôn ngữ JS để thử nghiệm.

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 ;

Bài viết được đăng trên blog của Faruto