FC2ブログ

# 相関係数 Correlation Coefficient
# 引数 期間 値 値 ($Period, \@Price1, \@Price2)
# 戻り値 相関係数 (@cc)
sub CC{
my ($Period, $Price1, $Price2) = @_;
my @cc = ();
my $count = @$Price1 - $Period;

# 期間と配列数の確認
if(($Period <= 0) || ($count < 0) || (@$Price1 != @$Price2)){
return 0;
}

# 計算
for(my $i = $count; $i >= 0; $i--){
# 平均
my $avg1 = 0;
my $avg2 = 0;
for(my $j = 0; $j < $Period; $j++){
$avg1 += $$Price1[$i + $j];
$avg2 += $$Price2[$i + $j];
}
$avg1 = $avg1 / $Period;
$avg2 = $avg2 / $Period;

# 共分散
my $num = 0;
my $den1 = 0;
my $den2 = 0;
for(my $j = 0; $j < $Period; $j++){
my $tmp1 = ($$Price1[$i + $j] - $avg1);
my $tmp2 = ($$Price2[$i + $j] - $avg2);

$num += $tmp1 * $tmp2;
$den1 += $tmp1 * $tmp1;
$den2 += $tmp2 * $tmp2;
}

# 相関係数
$cc[$i] = $num / sqrt($den1 * $den2);
}

return @cc;
}


参考URL
相関係数 ピアソンの積率相関係数 - Wikipedia
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

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

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

検索フォーム


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