FC2ブログ

# ベクトル Vector
# 引数 期間 値 ($Period, $Price)
# 戻り値 ベクトル (@vector)
sub VECTOR{
my ($Period, $Price) = @_;
my @vector = ();
my $den = 0;
my $sum_x = 0;
my $sum_y = 0;
my $sum_x2 = 0;
my $sum_xy = 0;
my $count = @$Price - $Period;

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

# 計算
for(my $i = $count; $i >= 0; $i--){
# 合計
if($i == $count){
for(my $j = 0; $j < $Period; $j++){
$sum_x += ($j + 1);
$sum_y += $$Price[$i + $j];
$sum_x2 += ($j + 1) * ($j + 1);
$sum_xy += ($Period - $j) * $$Price[$i + $j];
}
$den = ($Period * $sum_x2) - ($sum_x * $sum_x);
}else {
$sum_y = $sum_y + $$Price[$i] - $$Price[$i + $Period];
$sum_xy = 0;
for(my $j = 0; $j < $Period; $j++){
$sum_xy += ($Period - $j) * $$Price[$i + $j];
}
}

# 傾きを出す
my $a = (($Period * $sum_xy) - ($sum_x * $sum_y)) / $den;

# ベクトル Vector
$vector[$i] = ($a / ($sum_y / $Period)) * 1000;
}

return @vector;
}


参考URL
最小二乗法について
最小二乗法 [物理のかぎしっぽ]
チャート事典 ベクトル
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

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

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

検索フォーム


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