【収支】MATLAB、Pythonで株価予測 その50【シミュレーション②】

【収支】MATLAB、Pythonで株価予測 その50【シミュレーション②】 株価予測
【収支】MATLAB、Pythonで株価予測 その50【シミュレーション②】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/stock-predict-matlabpython-backnumber/

はじめに

前回は、収支シミュレーションをする上での今後の方針を決めた。
基本的にはプログラム的に算出するが、実際の売買時の計算は手動で実施予定。(いろいろ判断が入るので…)

今回は「素のVTIチャートを取り込んで、プログラム的に平均値を引くようにうする。」を実施。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

素のVTIチャート

太郎くん
太郎くん

今回から収支シミュレーションに向けての準備作業になると思うのだけど、
まずは「素のVTIチャートを取り込む」ってところかな?

フクさん
フクさん

そうそう。
といって、大した作業じゃなくて、
今までは、Excelで終値の平均値を出して、その平均値を各終値から引いた値を算出していた。
これをMATLABまたはPythonで終値をそのまま取り込むってだけだね。

太郎くん
太郎くん

ということはcsvファイルの内容を終値に変えればOKってことか。

フクさん
フクさん

作業としてはこの画像のイメージだ。

VTIチャートから終値をcsvへ
太郎くん
太郎くん

つまり、コピペすればOKってことだね。

プログラム的に平均値を引く(MATLAB版)

フクさん
フクさん

次はプログラム的に平均値を引くわけだが、
これも簡単だ。
まずはMATLAB版。

VTI=csvread('VTI3.csv'); % VTIチャート読み込み
ft=VTI-mean(VTI);
太郎くん
太郎くん

meanって関数が平均値を算出する関数ってことだね。

太郎くん
太郎くん

こんな単純なコードで良いなら、最初からこうしていれば・・・。

フクさん
フクさん

まぁそうなんだよね。
可能な限り余計な演算をしないためにExcel側で算出してたが、
MATLAB側で算出でも手間は変わらなかったな。

プログラム的に平均値を引く(Python版)

フクさん
フクさん

次はPython(Numpy)。
ぶっちゃけMATLAB版とやり方は一緒だ。

VTI=np.loadtxt('VTI3.csv',delimiter=',') # 変換用波形読み込み
ft=VTI-np.mean(VTI)
太郎くん
太郎くん

MATLABと同じくNumpyにmeanってメソッドがあるんだね。

フクさん
フクさん

ちなみに似たようなメソッドでaverageってのがあるが、
こっちは加重平均が取れるものだな。
デフォルトではmeanと同じく平均なので置き換えても問題無いはずだ。

太郎くん
太郎くん

加重平均?
要素ごとに重み係数を入れるやつ?

フクさん
フクさん

そうそう。
averageの使い方としては以下になる。

>>> import numpy as np
>>> A=np.array([1,2,3,4,5])
>>> np.array(A)
array([1, 2, 3, 4, 5])
>>> np.mean(A)
3.0
>>> w=np.array([0.8, 0.9, 1.0, 1.1, 1.2])
>>> np.average(A,weights=w)
3.2
>>>
太郎くん
太郎くん

weights=w
で、重み用のベクトルも一緒に渡せばOKってことか。
まぁ今回は使わないのだろうけど。

フクさん
フクさん

平均値の算出と終値から差し引く部分はこんなもんだろう。

まとめ

フクさん
フクさん

まとめだよ。

  • いままではExcelで終値から平均値を引いた値と算出したものをcsvにしていたが、MATLAB、Pythonで終値を取り込んでから平均値を引く方式に変更。
  • MATLAB、Pythonともにmeanという関数/メソッドで平均値算出可能。
    • Pythonはaverageという加重平均を算出するメソッドが存在。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました