RSIをPHPで計算・算出する方法

RSIをPHPにて計算・算出します。

計算式は、

RSI = n日間の値上がり幅合計 ÷ (n日間の値上がり幅合計 + n日間の値下がり幅合計) × 100

一般にnには、14日が使われています。松井証券のQUICK情報やヤフーファイナンスでも14日となっています。

以下がそのスクリプトです。
global宣言した変数・配列には、関数外で値を設定してください。$stocks_endには、データベースから終値を引っ張る処理を事前にしています。

//RSI算出  
function get_rsi($offset) {
    global $rsi_term ; //rsi算出期間  
    global $stocks_end ; //終値配列データ(直近の添え字が0) 
    //開始地点から要素を切り出し     
    $array = array_slice($stocks_end, $offset);
    $plus  = 0 ;
    $minus = 0 ;
    $diff  = 0 ;
    for ($i = $rsi_term ; $i > 0; $i--) {
        $j = $i - 1 ; //jが本日、iが昨日         
        //本日終値から昨日終値を引いて差を求める         
        $diff = $array[$j] - $array[$i] ;
        if ($diff > 0) {
            $plus += $diff ;
        } else {
            $minus += -($diff) ;
        }
    }
    return round($plus / ($plus + $minus) * 100) ;
}

//RSI取得 
for ($i=0; $i < 3; $i++) { //3日分取得     
    $rsi[$i] = get_rsi($i) ;
}
カテゴリー: PHP, stock パーマリンク

コメントを残す

メールアドレスが公開されることはありません。