資源の読み込みに... 荷物...

頂点と傾き

作者: リン・ハーン発明者 量化 - 微かな夢作成日: 2017-01-05 14:06:15,更新日:

頂点と傾き


  • 頂点 (kurtosis) と傾斜 (skewness) は

    投稿者: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 の間に落ちます.

    img

    統計学では,ピーク (Kurtosis) は,実数ランダム変数の確率分布のピークを測定する.ピークの高さは,低周波の平均値よりも大きいまたはより小さい極差値によって差が増加することを意味する.

    頂点 (kurtosis) は,データセットの分布形状を描写する度の統計量である. 通常分布の頂点は3である.したがって,頂点が3以上の場合は,データ分布が通常の分布よりも集中し,であることを示唆する尖峰と呼ばれます. 頂点が3未満の場合は平面型で,データ分布の比率が平坦であることを示唆する平面型です. ここで,我々は実際の頂点を3の後に減算することを指します.

    偏差 (skewness) は,データ分布の対称性,すなわちデータ集団 (mode) の位置を表す.偏差=0を描くのは完璧な対称性である.この統計値は,通常の分布と比較することも必要である:偏差=0は,配列が右側に偏差して右側の長尾で,極値が右側に広がっていることを示し,偏差=0は,左側の長尾で,極値が左側に広がっていることを示している.金融市場では,偏差=0は,データの集積傾向の傾向として説明され,偏差=0未満は,データの集積傾向の傾向として説明される.

    確率論と統計学において,偏差は実数随機変数における確率分布の不対称性を測定する.偏差の値は正,負,あるいは定義できない.数値的には,偏差が負である (負偏差) は,確率密度の関数の左側の尾根が右側の尾根よりも長く,圧倒的多数の値 (中位数を含む) が平均値の右側にあることを意味する.偏差が正である (正偏差) は,確率密度の関数の右側の尾根が左側の尾根よりも長く,圧倒的多数の中位数 (中位数を含む) が平均値の左側にあることを意味する.偏差は,零値が平均値の両側に比較的均等に分布していることを意味する.しかし,必ずしも分布とは言えない.

    偏見は2種類に分かれます.

    • 負偏向または左偏向:左側の尾が長い,分布の主体は右側に集中している.
    • 正偏または右偏:右側の尾が長く,分布の主体は左側に集中している.
    • 配列が対称である場合,平均値=中位数,偏差は0である (さらに,配列が単峰分布である場合,平均値=中位数=数である).

    img

  • 取引の法則は以下のとおりです. ピークが0以下 (市場がトレンド市場にある) と偏差がN (トレンドが上昇している) よりも大きいとき, ピークが0以下 (市場がトレンド市場にあり),偏差がM以下 (トレンドが下落している) のとき,空き;

MATLABソースコード:興味のある方は,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 ;

フォローしているブログ


もっと