FC2ブログ

# 尖度 Kurtosis
# 引数 期間 値 ($Period, \@Price)
# 戻り値 尖度 (@Kurtosis)
sub KURTOSIS{
my ($Period, $Price) = @_;
my @Kurtosis = ();
my $StandardDeviation = 0;
my $Sum = 0;
my $SumPower2 = 0;
my $SumPower4 = 0;
my $Mean = 0;
my $Diff = 0;
my $Count = @$Price - $Period;

# 期間と配列数の確認
if(($Period <= 0) || ($Count < 0)){
return 0;
}

# 計算
for(my $i = $Count; $i >= 0; $i--){
$SumPower2 = 0;
$SumPower4 = 0;

# 平均
if($i == $Count){
for(my $j = 0; $j < $Period; $j++){
$Sum += $$Price[$i + $j];
}
}else {
$Sum -= $$Price[$i + $Period];
$Sum += $$Price[$i];
}
$Mean = $Sum / $Period;

for(my $j = 0; $j < $Period; $j++){
$Diff = $$Price[$i + $j] - $Mean;
$SumPower2 += $Diff * $Diff;
$SumPower4 += $Diff * $Diff * $Diff * $Diff;
}

# 標準偏差
$StandardDeviation = sqrt($SumPower2 / $Period);

# 尖度 Kurtosis 正規分布の尖度を0とする
$Kurtosis[$i] = ($SumPower4 / ($Period * ($StandardDeviation * $StandardDeviation * $StandardDeviation * $StandardDeviation))) - 3;
}

return @Kurtosis;
}


参考URL
尖度とは - 統計学用語 Weblio辞書
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

Author:雨宮
Firefoxを使用しているので気づかなかったけど、IE6でソースコードを上手くコピーできない

5/3
携帯用ならIE6でもソースコードをコピーできる
携帯用

検索フォーム


あわせて読みたいブログパーツ
一寸先は闇 RSS