El usuario: EasyTrader
Esta es una estrategia de negociación que aplica la kurtosis y la oblicuidad de la distribución de datos estadísticos. Cuando los datos presentan tendencias y las tendencias potenciales son positivas, hacemos más. Cuando los datos presentan tendencias y las tendencias potenciales son negativas, hacemos un blanco. Cuando la tendencia se invierte, estamos a la altura.
Entonces, ¿cómo podemos determinar la tendencia y la intensidad de la tendencia?
Primero vamos a ver la definición de la distribución normal.
Distribución: caso de distribución en el que todos los valores de las variables aparecen varias veces, con el eje transversal como el número de variables, el eje longitudinal como el diagrama de coordenadas de la frecuencia de aparición. Distribución normal: también conocida como distribución de Gauss.
Distribución normal estándar: gráfico de la distribución normal, centrado en la media y con la desviación estándar como unidad básica del eje de las coordenadas.
m ± 1 s contiene el 68.26% de los individuos de la muestra entera.
m ± 2 s contiene 95.44% de los individuos de todo el grupo de muestra.
m ± 3 s contiene el 99.74% de los individuos de la muestra entera.
El 95% de los individuos se encuentran entre m ± 1.96 s.
El 99% de los individuos se encuentran entre m ± 2.58 s.
En estadística, la cúspide (Kurtosis) mide el estado de cúspide de la distribución de probabilidades de variables aleatorias reales.
La curtosis es una estadística de la magnitud de la curvatura de la distribución de un conjunto de datos. La curvatura de la distribución normal es 3, por lo que llamamos picos mayores a 3 como picos, lo que indica que la distribución de datos es más concentrada y equilibrada que la distribución normal. Los picos menores a 3 como picos planos, lo que significa que la distribución de datos es más lisa que la distribución normal.
La inclinación (skewness) describe la simetría de la distribución de la información, o la ubicación del modo; la inclinación es igual a 0 y representa la simetría perfecta. Esta estadística también requiere una comparación con la distribución normal: la inclinación mayor a 0 indica que la matriz se presenta a la derecha, se presenta como una cola larga a la derecha y los valores extremos se extienden más a la derecha, en comparación con la distribución normal, la matriz se presenta a la derecha, se presenta como una cola larga a la derecha y los valores extremos se extienden más a la derecha; en cambio, la inclinación a la izquierda y los valores extremos se extienden más a la izquierda; en los mercados financieros, la inclinación mayor a 0 se puede explicar como una tendencia hacia la inclinación hacia la inclinación hacia la inclinación hacia la inclinación hacia la inclinación hacia la baja.
En probabilidad y estadística, el sesgo mide la asimetría de la distribución de la probabilidad de variables reales aleatorias. Los valores de los sesgos pueden ser positivos, negativos o incluso indefinibles. Quantitativamente, el sesgo negativo significa que la cola del lado izquierdo de la función de densidad de probabilidad es más larga que la derecha, y que la mayoría de los valores (incluidos los medianos) se encuentran a la derecha de la media. El sesgo positivo significa que la mayoría de los valores (incluidos los medianos) se encuentran a la izquierda de la media.
Los prejuicios se dividen en dos:
Así que deducimos las siguientes reglas de transacción: Cuando el pico es menor que 0 (el mercado está en un mercado de tendencia), el sesgo es mayor que N (la tendencia es al alza), más; Cuando el pico es menor que 0 (el mercado está en un mercado de tendencia), el desvío es menor que M (la tendencia es descendente), hacer un vacío;
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 ;
Transcrito desde el blog de Faruto