遅行スパンクラス

遅行スパンクラスファイル作成 その5

遅行スパンクラスファイル delay_dif-cla-gra.php の各メソッドを作り込んでいきます。
作成ファイル内容は、
63Pear Village に戻り
左サイドナビ「遅行スパンクラス」の中の
遅行スパンクラス PHP ファイル
から見てください。
遅行スパンクラスファイル各メソッドの作成の流れについてはフロ-チャ-トを 遅行スパンクラスファイル作成 から見てください。
ここまで、遅行スパンクラス メソッド function dif_arry を作成してきました。
遅行スパンクラスファイル作成 その4を見てください。
引き続き、遅行スパンクラス 結果表示メソッド function res_dis を作成していきます。

偏差σ(m)が最小となる条件を表示

このメソッドは偏差σ(m)が最小となる条件を表示します。
この条件表示は見たい人だけが使用するメソッドとなります。
まずは、表示したい変数を定義します。
これらの変数は メソッド function dif_arry ですでに結果が格納されています。
よって、global 設定をして引き継ぎます。
global $owa100;
 → 最新値:$owa100[1]
global $last_l;
 → デ-タ数
global $newday;
 → 最新日付
global $mi;
 → 最小σ
global $mi_j;
 → 最小となる遅行数
global $mi_n;
 → 最小となる比較期間
global $mi_DA;
 → 最小となるΔAvg
global $mi_Avg;
 → 最小となる基本Avg
global $mi_Avg_m;
 → 最小となるh期間の比較平均値
global $mi_nl;
 → 最終比較足(デ-タ数-期間)


 echo "<br>基本情報<br> デ-タ数 ="
      .$last_l;
 echo "<br> 最新日付 =".$newday;
 echo "<br> 最新終値 =".$owa100[1][5];
 echo "<br> 初期比較期間 ="
      .$this -> dist;
 echo "<br>最小となる各種デ-タ<br> σ ="
      .round($mi,3);
 echo "<br> 遅行値 =".$mi_j;
 echo "<br> 比較期間 =".$mi_n;
 echo "<br> 基本Avg = "
      .round($mi_Avg,3);
 echo "<br> Avg_m  = "
      .round($mi_Avg_m,3);
 echo "<br> ΔAvg   = "
      .round($mi_DA,3);
 echo "<br> 最終比較足(デ-タ数-期間) = "
      .$mi_nl."<br><br>";  

これで、遅行スパンクラス 結果表示メソッド function res_dis の作成は完了です。
簡単でした。
引き続き、予測メソッド function yosoku を作成していきます。

予測メソッド function yosoku 作成

そもそも、予測値はどうやって計算するのか?
まずはこれが大きな問題です。
どこまで、遅行すれば、過去の値動と現在の値動を一致させることができるのかを示した数値が遅行値でした。
よって、遅行値が示すところから現状に向けてたぐっていけば予測値を知ることができます。
例えば、遅行値が 40 とすれば、現在から 5 日間の予測値は 遅行39~35の終値の値が予測値ということになります。
ただしこの値には、最小となった時の比較期間と基本比較期間の差分ΔAvgと、±σの偏差を加味する必要があります。

function yosoku 変数定義

予測をするために必要な変数を定義します。
これらの変数は メソッド function dif_arry ですでに結果が格納されています。
よって、global 設定をして引き継ぎます。
global $owa100;
 → 最新値:$owa100[1]
global $newday;
 → 最新日付
global $mi;
 → 最小σ
global $mi_j;
 → 最小となる遅行数
global $mi_n;
 → 最小となる比較期間
global $mi_DA;
 → 最小となるΔAvg
global $mi_Avg;
 → 最小となる基本Avg
global $mi_Avg_m;
 → 最小となるh期間の比較平均値
また、チャ-ト作成メソッド function graph で使用する変数も定義します。
global $owa_cen;
 → 最小となる遅行数点における終値から最小となるΔAvgを補正した値
global $dsdn;
 → $owa_cen を最小となるσ値だけ下側に補正した値。
global $dsup;
 → $owa_cen を最小となるσ値だけ上側に補正した値。

予測値計算

$this -> disp <> 3
なら予測値を表示しますので、テ-ブルタグを出力しすると共に、 σ最小となる遅行値を出力します。
予測値を表示する必要がない場合はすぐに予測の計算を始めます。


 if($this -> disp <> 3){
  echo
   "<table><tr><td>遅行 ".$mi_j
   ."</td><td> -σ</td><td>
    終値</td><td> +σ</td></tr>";
 }

5日分の予測値
中値:$owa_cen[4] ~ $owa_cen[0]
下値:$dsdn[4] ~ $dsdn[0]
上値:$dsup[4] ~ $dsup[0]
を計算します。
補正値として
$mi_DA → 最小となるΔAvg
$mi → 最小σ
を使用します。
$iを $mi_j(最小となる遅行数)から前へ5日分動かしながら、$k を 予測値 5日分 4~0 まで変化させるとすると
$owa_cen[$k] = $owa100[$i][5] - $mi_DA;
$dsdn[$k] = round(($owa_cen[$k] - $mi),3);
$dsup[$k] = round(($owa_cen[$k] + $mi),3);
と書くことができます。
ちなみに
round(($owa_cen[$k] - $mi),3)
は PHP 関数で、数値を指定した桁数で四捨五入してくれます。
これをまとめると以下のようになります。

  
 $k = 4;	
 for(
  $i = $mi_j - 5; $i < $mi_j; $i++
  ){
  $owa_cen[$k] =
   $owa100[$i][5] - $mi_DA;
  $dsdn[$k] =
   round(($owa_cen[$k] - $mi),3);
  $dsup[$k] =
   round(($owa_cen[$k] + $mi),3);
  if($this -> disp <> 3){	
   echo "<tr><td>"
   .$i."</td><td>"
   .$dsdn[$k]."</td><td> "
   .round($owa_cen[$k],3)
   ."</td><td> ".$dsup[$k]
   ."</td></tr>";
  }
  $k = $k - 1;
 }

現在終値を表示

$this -> disp <> 3
なら現在から過去5日間の終値を表示します。

  
 for($i = 1; $i <= 5; $i++){
  if($i==1){
   $ino = $newday;
  }else{
   $ino=$i;
  }
  if($this -> disp <> 3){	 
  echo "<tr><td>".$ino
  ."</td><td> </td><td> "
  .$owa100[$i][5]
  ."</td><td> </td></tr>";
  }
 }
 if($this -> disp <> 3){
  echo "</table>";
 } 

これで、予測メソッド function yosoku 作成は完了です。
引き続き、チャ-ト表示メソッド function graph を作成します。


遅行スパンクラスファイル作成 その6 に進む
遅行スパンクラスファイル作成 その4 に戻る
遅行スパンクラスファイル作成 その3 に戻る
遅行スパンクラスファイル作成 その2 に戻る
遅行スパンクラスファイル作成 に戻る
遅行スパンクラス概要 に戻る

63PearVillage に戻る