投稿者:EasyTrader
これは,データ分布の高度 (kurtosis) と偏度 (skewness) を適用する取引戦略である.データが傾向を示し,潜在的トレンドが正時である場合,我々は多くする.データが傾向を示し,潜在的トレンドが負時,我々は空にする.トレンドが逆転した後,我々は平衡する.
では,どのように傾向と傾向の強さを決定するのでしょうか? まず,ピークと傾斜の定義を振り返ってみましょう.
標準分布の定義を見てみましょう.
分布:変数内のすべての数値が何回現れる分布のケース,横軸は変数の数値,横軸は発生頻度の座標図として表現される.通常の分布:またガウス分布とも呼ばれる.
標準正規分布:平均値 (mean) を中心に標準偏差 (standard deviation) を座標軸の基本単位として描いた正規分布図.形状は鐘状の対称図である.
m ± 1s は,全体のサンプル群の 68.26% を含む個体である.
m ± 2s は,全サンプル群の95.44%を含む個体である.
m ± 3s は,全サンプル群の99.74% を含む個体である.
95%の個体は m ± 1.96s の間に落ちる.
99%の個体は m ± 2.58s の間に落ちます.
統計学では,ピーク (Kurtosis) は,実数ランダム変数の確率分布のピークを測定する.ピークの高さは,低周波の平均値よりも大きいまたはより小さい極差値によって差が増加することを意味する.
頂点 (kurtosis) は,データセットの分布形状を描写する
偏差 (skewness) は,データ分布の対称性,すなわちデータ集団 (mode) の位置を表す.偏差=0を描くのは完璧な対称性である.この統計値は,通常の分布と比較することも必要である:偏差=0は,配列が右側に偏差して右側の長尾で,極値が右側に広がっていることを示し,偏差=0は,左側の長尾で,極値が左側に広がっていることを示している.金融市場では,偏差=0は,データの集積傾向の傾向として説明され,偏差=0未満は,データの集積傾向の傾向として説明される.
確率論と統計学において,偏差は実数随機変数における確率分布の不対称性を測定する.偏差の値は正,負,あるいは定義できない.数値的には,偏差が負である (負偏差) は,確率密度の関数の左側の尾根が右側の尾根よりも長く,圧倒的多数の値 (中位数を含む) が平均値の右側にあることを意味する.偏差が正である (正偏差) は,確率密度の関数の右側の尾根が左側の尾根よりも長く,圧倒的多数の中位数 (中位数を含む) が平均値の左側にあることを意味する.偏差は,零値が平均値の両側に比較的均等に分布していることを意味する.しかし,必ずしも分布とは言えない.
偏見は2種類に分かれます.
取引の法則は以下のとおりです. ピークが0以下 (市場がトレンド市場にある) と偏差がN (トレンドが上昇している) よりも大きいとき, ピークが0以下 (市場がトレンド市場にあり),偏差が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 ;
フォローしているブログ