Đỉnh và độ nghiêng

Tác giả:Giấc mơ nhỏ, Tạo: 2017-01-05 14:06:15, Cập nhật:

Đỉnh và độ nghiêng


  • Điểm đỉnh (kurtosis) và độ nghiêng (skewness)

    Người đăng: EasyTrader

    Đây là một chiến lược giao dịch áp dụng kurtosis và 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à đúng, chúng ta làm nhiều hơn. Khi dữ liệu có xu hướng và xu hướng tiềm năng là âm, chúng ta làm trống. Khi xu hướng đảo ngược, chúng ta đặt bằng.

    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?

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

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

    Phân phối bình thường tiêu chuẩn: biểu đồ phân bố bình thường được vẽ dựa trên giá trị trung bình, sai tiêu chuẩn (standard deviation) là đơn vị cơ bản của trục tọa độ.

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

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

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

    95% cá thể nằm trong khoảng m ± 1.96s.

    99% cá thể nằm trong khoảng m ± 2.58s.

    img

    Trong số liệu thống kê, đỉnh (Kurtosis) đo mức đỉnh của phân bố tỷ lệ của số thực số biến số ngẫu nhiên.

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

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

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

    Những người có xu hướng phân chia thành hai loại:

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

    img

  • Do đó, chúng ta rút ra quy tắc giao dịch sau đây: Khi đỉnh thấp hơn 0 (thị trường đang trong thị trường xu hướng), độ lệch lớn hơn N (trend đang tăng), làm nhiều hơn; Khi đỉnh thấp hơn 0 (thị trường đang trong thị trường xu hướng), độ lệch thấp hơn M (trend đang giảm), làm trống;

Mã nguồn MATLAB: Có thể chuyển đổi thành bài kiểm tra ngôn ngữ JS.

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 ;

Được chuyển từ blog của Faruto


Thêm nữa