FC2ブログ

# 線形回帰トレンド
# 引数 期間 値 ($Period, $Price)
# 戻り値 線形回帰トレンド (@linear_reg)
sub LINEAR_REG{
my ($Period, $Price) = @_;
my @linear_reg = ();
my $count = @$Price - $Period;

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

# 計算
my $avg_y = 0;
my $avg_x = (($Period * ($Period + 1)) / 2) / $Period;
for(my $i = 0; $i < $Period; $i++){
$avg_y += $$Price[$i];
}
$avg_y = $avg_y / $Period;

# ∑[(i-n日平均日数)×(i日目終値-n日終値平均値)] / ∑(i-n日平均日数)^2
my $num = 0;
my $den = 0;
for(my $i = 1; $i <= $Period; $i++){
$num += (($i - $avg_x) * ($$Price[$i - 1] - $avg_y));
$den += (($i - $avg_x) * ($i - $avg_x));
}

# 線形回帰トレンド
my $b = $num / $den;
my $a = $avg_y - ($b * $avg_x);
for(my $i = 1; $i <= $Period; $i++){
$linear_reg[$i - 1] = $a + ($b * $i);
}

return @linear_reg;
}


参考URL
第24回 : カブドットコム証券 回帰トレンド
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

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

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

検索フォーム


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