FC2ブログ

# 順位相関指数 Rank Correlation Index RCI
# 引数 期間 値 値 ($Period, \@Price1, \@Price2)
# 戻り値 順位相関指数 (@rci)
sub RCI{
my ($Period, $Price) = @_;
my @rci = ();
my $count = @$Price - $Period;

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

# 計算
my $den = ($Period * $Period * $Period) - $Period;
for(my $i = $count; $i >= 0; $i--){

# [0] 使用する値 [1] 配列の位置
my @SortPrice = ();
for(my $j = 0; $j < $Period; $j++){
$SortPrice[$j][0] = $$Price[$i + $j];
$SortPrice[$j][1] = $j;
}

# 降順ソート
@SortPrice = sort {$b->[0] <=> $a->[0]} @SortPrice;

# 同順位の場合には、平均値を使用する
&RANKAVG($Period, \@SortPrice);

# 順位
my @Rank = ();
for(my $j = 0; $j < $Period; $j++){
my $r = $SortPrice[$j][1];
$Rank[$r] = $SortPrice[$j][2];
}

# 差
my $diff = 0;
for(my $j = 0; $j < $Period; $j++){
my $tmp = ($j + 1) - $Rank[$j];
$diff += $tmp * $tmp;
}

# 順位相関指数 Rank Correlation Index
$rci[$i] = (1 - ((6 * $diff) / $den)) * 100;

# 循環行程係数
# $rci[$i] = 50 + ($rci[$i] / 2)
}

return @rci;
}


参考URL
順位相関指数[じゅんいそうかんしすう] RCI(Rank Correlation Index) - 野村證券
perlでテクニカル分析 55 スピアマンの順位相関係数 (Spearman's Rank Correlation Coefficient: SRCC)
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

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

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

検索フォーム


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