O recurso está a ser carregado... Carregamento...

Picos e inclinações

Autora:Inventor quantificado - sonho pequeno, Criado: 2017-01-05 14:06:15, Atualizado:

Picos e inclinações


  • Pico (kurtosis) e inclinação (skewness)

    Autor: EasyTrader

    É uma estratégia de negociação que aplica a curtosis e a esquivância da distribuição de dados estatísticos. Quando os dados apresentam tendência e a tendência potencial é positiva, fazemos mais. Quando os dados apresentam tendência e a tendência potencial é negativa, fazemos zero. Quando a tendência ocorre uma inversão, fazemos uma paragem.

    Então, como podemos determinar a tendência e a intensidade da tendência?

    Primeiro, vamos ver a definição da distribuição normal.

    Distribuição: Distribuição em que todos os valores das variáveis aparecem várias vezes, representada por um eixo transversal como o número das variáveis e um eixo longitudinal como o diagrama de coordenadas de frequência. Distribuição normal: também chamada de distribuição de Gauss.

    Distribuição normal padrão: gráfico de distribuição normal desenhado com o desvio padrão como unidade básica do eixo de coordenadas, centrado no valor médio.

    m ± 1 s contém 68.26% dos indivíduos do conjunto de amostras.

    m ± 2 s contém 95.44% dos indivíduos do conjunto de amostras.

    m ± 3 s contém 99,74% dos indivíduos do conjunto de amostras.

    95% dos indivíduos caíram entre m ± 1.96s.

    99% dos indivíduos caem entre m ± 2.58 s.

    img

    Em estatística, o pico (Kurtosis) mede o pico de uma distribuição de probabilidade de variáveis aleatórias reais. Um pico alto significa que o aumento do diferencial é causado por um valor de diferença extremo maior ou menor que a média de uma frequência baixa.

    O pico (kurtosis) é a quantidade estatística do grau de torção da distribuição de um conjunto de dados. O pico da distribuição normal é 3, por isso chamamos pico maior do que 3, o que significa que a distribuição é mais concentrada e equilibrada do que a distribuição normal. O pico menor do que 3 é considerado plano, o que significa que a distribuição é mais lisa do que a distribuição normal.

    O esqueleto descreve a simetria da distribuição de dados, ou seja, a posição do modo; o esqueleto igual a 0 representa a simetria perfeita. Esta estatística também precisa de uma comparação com a distribuição normal: um esqueleto maior que 0 indica que a matriz apresenta um esqueleto direito, representado por uma cauda longa à direita e com valores extremos mais espalhados à direita, em comparação com o distribuição normal; ao contrário, o esqueleto esquerdo apresenta uma cauda longa à esquerda e com valores extremos mais espalhados à esquerda.

    Em probabilidade e estatística, a inclinação mede a assimetria da distribuição de probabilidades de variáveis reais aleatórias. Os valores da inclinação podem ser positivos, negativos ou mesmo indefinidos. Numericamente, a inclinação negativa significa que a parte inferior do lado esquerdo da função de densidade de probabilidade é mais longa do que a parte superior do lado direito, e que a maioria dos valores, incluindo o mediano, está no lado direito da média. A inclinação positiva significa que a parte superior do lado direito da função de densidade de probabilidade é mais longa do que a parte inferior do lado esquerdo, e que a maioria dos valores está no lado esquerdo da média.

    A tendência é de dois tipos:

    • O bico negativo ou bico esquerdo: a cauda do lado esquerdo é mais longa e o corpo principal da distribuição está concentrado no lado direito.
    • Opossessivo ou opossessivo-direito: a cauda do lado direito é mais longa e o corpo principal da distribuição está concentrado no lado esquerdo.
    • Se a distribuição for simétrica, então a média é igual ao número médio e a inclinação é zero (além disso, se a distribuição for uma distribuição de um único pico, então a média é igual ao número médio).

    img

  • A partir daí, deduzimos a seguinte regra de transação: Quando o pico é menor que 0 (o mercado está em um mercado de tendência) e a inclinação é maior que N (a tendência é ascendente), faça mais; Quando o pico é menor que 0 (o mercado está em um mercado de tendência), a inclinação é menor que M (a tendência é descendente), faça o vazio;

MATLAB Source Code: Interessados podem ser convertidos para testes de linguagem 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 ;

Traduzido do blog do Faruto


Mais.