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

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

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

はじめに

前回は、収支シミュレーション向けた作業として以下を実施。

  • 終値から平均値を引いた値と算出したものをcsvにしていたが、終値をそのままcsv化。
  • MATLAB、Pythonで終値を取り込んでから平均値を引く方式に変更。

今回は、IFFTから出力された波形の極大値、極小値の求め方について。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラスト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

極値の求め方

太郎くん
太郎くん

今回は、極大値と極小値の求め方か・・・。

フクさん
フクさん

以前もいったが、それほど難しい話では無い。

太郎くん
太郎くん

まぁそこを解説してもらおうか。

フクさん
フクさん

端的に言うと、微分して0になれば極値だ。

極値を求める。微分して0ならば極値。
太郎くん
太郎くん

まぁ、なるほどとは思ったけど、
「極値が分かる」ってのは分かったけど、
これが極小値なのか極大値なのかがわからないような・・・。

極大値と極小値の求め方

フクさん
フクさん

極大値は、「微分値がプラス→0→マイナス」となるところ。
極小値は、「微分値がマイナス→0→プラス」となるところ。

太郎くん
太郎くん

???

フクさん
フクさん

絵で書くとこんな感じだよ。

極大値と極小値の求め方。微分値がプラス→0→マイナス、微分値がマイナス→0→プラス
太郎くん
太郎くん

ほう。
確かに言われてみるとそうだね。

微分して0でも極値じゃない場合も

フクさん
フクさん

ちなみに微分して0になったとしても極値ではないパターンもある。

太郎くん
太郎くん

そんなパターンあるの?
思いつかないけど?

フクさん
フクさん

こんなパターンだな。

微分して0でも極値じゃない場合。微分して0だが、極大値とも極小値とも違う。
太郎くん
太郎くん

確かにこれは極値とは言えないね。

フクさん
フクさん

ちなみにこのグラフの式は以下になるね。

\(y=x^3+x^2\)

↓微分して\(x=0\)時の傾きを算出

\(y\prime=3x^2+2x\)
\(y\prime=3(0)^2+2(0)=0\)

フクさん
フクさん

ちなみに、以下でもいいんだけど、「変曲点の傾き0」の見やすさ重視で上の式を使った。

\(y=x^3\)

↓微分して\(x=0\)時の傾きを算出

\(y\prime=3x^2\)
\(y\prime=3(0)^2=0\)

太郎くん
太郎くん

こんなシンプルな関数でも発生し得るのか・・・。

微分するには?

太郎くん
太郎くん

どっちにしても微分をする必要があると思うのだけど、
プログラム的にはどうするの?

フクさん
フクさん

引き算するだけだな。

太郎くん
太郎くん

引き算だけだと微分にならなくない?
たしか、dtの兼ね合いも考える必要があったような・・・。

フクさん
フクさん

今回欲しいのは厳密な微分値でも近似な微分値でも無くて、
微分した結果がプラスか、マイナスかだけなので、
引き算でOKなんだよ。

太郎くん
太郎くん

あ、そっか。
確かに接線傾きの正負を知りたいだけだから、それだけでいいのか。

フクさん
フクさん

さらに、微分じゃなくて差分であるが故に微分値0を捕まえることはほぼ不可能。
よって、
極大値を探す場合は差分の結果マイナス。
極小値を探す場合は差分の結果プラス。

の点を探すことになる。

太郎くん
太郎くん

確かに離散的なデータなわけだから理想的な微分ができるわけじゃないもんね。

フクさん
フクさん

というわけで、次回は今回の話を元に具体的なプログラムにするとどうなるか?
ってところだな。

太郎くん
太郎くん

(今回は珍しくわかりやすかった)

まとめ

フクさん
フクさん

まとめだよ。

  • 微分して0になれば極値。
    • 極大値は、「微分値がプラス→0→マイナス」となるところ。
    • 極小値は、「微分値がマイナス→0→プラス」となるところ。
  • 「微分して0」でも極値にならないパターンもある。
    • 3次関数とかが代表的。

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

コメント

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