Spitzen und Neigungen

Schriftsteller:Kleine Träume, Erstellt: 2017-01-05 14:06:15, aktualisiert:

Spitzen und Neigungen


  • Kurtosis und Skewness

    Der Autor: EasyTrader

    Es ist eine Handelsstrategie, bei der die Spitzen (kurtosis) und Abzweigungen (skewness) der Verteilung von Statistiken angewendet werden. Wenn die Daten trendig sind und die potenziellen Trends positiv sind, machen wir mehr. Wenn die Daten trendig sind und die potenziellen Trends negativ sind, machen wir null. Wenn die Trends umgekehrt sind, platzieren wir.

    Wie können wir also Trends und deren Intensität bestimmen? Lassen Sie uns zunächst die Definition von Spitzen und Abhängigkeiten überprüfen.

    Ich möchte zunächst die Definition der Normalverteilung sehen.

    Verteilung: Verteilung, bei der alle Zahlen in einer Variable auftreten, wobei die Zahl der Variablen auf der Quer- und die Koordinaten der Frequenz auf der Längsachse dargestellt werden. Normale Verteilung: auch Gaussian Verteilung genannt.

    Standardnormalverteilung: Eine normalverteilungsdiagramm, das mit dem Mittelpunkt und der Standarddifferenz als Grundstück der Koordinatenachse gezeichnet wird.

    m ± 1 s enthält 68.26% der gesamten Probengruppe.

    m ± 2 s enthält 95.44% der Probengruppe.

    m ± 3 s enthält 99,74% der Individuen der gesamten Probengruppe.

    95% der Individuen liegen zwischen m ± 1.96 s.

    99% der Individuen liegen zwischen m ± 2.58 s.

    img

    In der Statistik misst die Spitze (Kurtosis) den Spitzenzustand der Wahrscheinlichkeitsverteilung der realen Zufallsvariablen. Höhere Spitzen bedeuten, dass die Differenzvergrößerung durch extreme Abweichungen von niedriger Frequenz, die größer oder kleiner als der Durchschnitt sind, verursacht wird.

    Kurtosis ist eine statistische Größe, die die Verteilung eines Datensatzes darstellt. Die Spitze der normalen Verteilung beträgt 3, so dass wir Spitzen größer als 3 als Spitzen bezeichnen, was eine konzentriertere und harmonischere Verteilung der Daten darstellt als die normale Verteilung. Wir haben Spitzen kleiner als 3 als flache Spitzen, was eine glattere Verteilung der Daten darstellt als die normale Verteilung.

    Skewness ist die Symmetrie der Datenverteilung, d. h. die Position der Medienmode. Eine Skewness von 0 ist eine perfekte Symmetrie. Diese Statistik muss ebenfalls mit der Normalverteilung verglichen werden: Eine Skewness von mehr als 0 zeigt, dass die Array rechts schräg ist, dass sie sich als rechtses Langschwanz und die Extreme am rechten Rand darstellt. Im Gegensatz dazu ist eine Skewness von links, dass sie sich als links schräg und die Extreme am linken Rand darstellt.

    In der Wahrscheinlichkeitstheorie und Statistik misst die Verzerrung die Asymmetrie der Wahrscheinlichkeitsverteilung von realen, zufälligen Variablen. Die Werte der Verzerrung können positiv, negativ oder sogar nicht definiert sein. Quantitativ bedeutet die Verzerrung, dass die Werte, die auf der linken Seite der Wahrscheinlichkeitsdichtefunktion länger sind als die auf der rechten Seite. Die Mehrheit der Werte, einschließlich der Mittelwerte, liegt auf der rechten Seite des Durchschnitts. Die Verzerrung bedeutet, dass die Mehrheit der Werte, die auf der linken Seite der Wahrscheinlichkeitsdichtefunktion liegen, auf der linken Seite des Durchschnitts liegen.

    Es gibt zwei Arten von Vorurteilen:

    • Negativ- oder Linkshaltung: Der Rücken auf der linken Seite ist länger und der Hauptkörper der Verteilung konzentriert sich auf der rechten Seite.
    • Optisch oder rechtisch: Der Rücken auf der rechten Seite ist länger und die Hauptkörper der Verteilung konzentriert sich auf der linken Seite.
    • Wenn die Verteilung symmetrisch ist, ist der Durchschnitt = Mittelwert, die Verzerrung ist Null (auch wenn die Verteilung eine Spitzenverteilung ist, ist der Durchschnitt = Mittelwert = Zahl).

    img

  • Wir haben also folgende Handelsregeln: Wenn der Spitzenwert kleiner als 0 (der Markt ist in einem Trendmarkt) und die Abweichung größer als N (der Trend ist aufwärts) ist, tun Sie mehr; Wenn die Spitze kleiner als 0 (der Markt ist in einem Trendmarkt) und die Abweichung kleiner als M (der Trend ist abwärts) ist, machen Sie Platz;

MATLAB-Quellcode: Interessierte können in JS-Tests umgewandelt werden.

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 ;

Übersetzt von Faruto's Blog


Mehr