Pythonプログラミング Pythonデータ解析

日本株の最新情報からPythonで株価分析!



こんな方におすすめ

  • Pythonで株価を分析したい
  • Pythonで日本の株価の最新情報を分析したい
  • モンテカルロシミュレーションからValue at Riskを算出したい

今回は、Pythonで株価を分析していきたいと思います。日本株の最新情報を無料サイトから取得する方法も理解できると思います。データ取得の方法だけ利用して、自分なりの株価分析を行うのもいいと思います。

 

この記事では、過去データからモンテカルロシミュレーションを用いてVaR(Value of Risk)を算出まで行います。

プログラムの内容

必要なモジュールをインポートします。

stooqから日本株の最新情報を読み込みます。今回は例としてオリエンタルランドの株を読み込み、直近1年間のデータで解析していきます。

次のような直近1年間のデータが得られます。(PCのみ途中まで表示)

Open High Low Close Volume
Date
2019-06-24 13231.40 13445.77 13191.51 13430.81 477990
2019-06-25 13370.99 13525.54 13361.02 13430.81 413403
2019-06-26 13356.03 13430.81 13281.25 13356.03 353127
2019-06-27 13321.13 13351.05 13181.54 13306.18 440581
2019-06-28 13266.29 13346.06 13211.46 13301.20 486716
2019-07-01 13420.85 13470.70 13311.16 13470.70 433762
2019-07-02 13450.76 13495.63 13400.90 13490.64 379705


このデータをデータフレーム のdescribe()関数を用いて、概観を掴んでみます。(PCのみ表示)

Open High Low Close Volume
count 243.000000 243.000000 243.000000 243.000000 2.430000e+02
mean 14782.910370 14951.739918 14628.067531 14802.666420 9.841943e+05
std 1060.187515 1002.291284 1071.264795 1028.682657 7.518405e+05
min 11481.930000 12420.450000 11232.320000 12051.030000 2.325760e+05
25% 14080.000000 14230.000000 13893.805000 14084.460000 5.237235e+05
50% 14876.590000 15046.320000 14826.660000 14931.440000 7.520000e+05
75% 15475.640000 15597.205000 15342.925000 15472.500000 1.155901e+06
max 16913.380000 16953.320000 16688.730000 16953.320000 4.874360e+06


終値でグラフを作成してみます。

 

 

 

 

 

次に出来高でグラフを作成してみます。

 

 

 

 

 

終値から移動平均線を描いてみます。

 

 

 

 

 

日々の変化率を算出し、グラフにします。

 

 

 

 

 

 

変化率のヒストグラムを作成します。dropna()はNaNを取り除く関数です。

 

 

 

 

 

変動幅の平均値と偏差からリスクを算出します。

 

 

 

 

 

5パーセンタイルの位置にある変動率を算出する。この意味は95%の確率でこれ以上日々の変動率はないことを示す。下の結果だと-3.1%なので、100万円の株価であったら、96.9万円(-3.1万円)は下回らないということが言えます。これがVaRの考え方です。




1年間の株価の情報から、日々の変動をモンテカルロ法を用いてシミュレーションを行い、VaRを算出してみる。これにより、1年間保持した時に、どれくらいの損失に収まるかが予測できます。

ランダム回数を5回でモンテカルロの動きについて確認してみる。最初の終値から始めてみます。

 

 

 

 

 

シミュレーションの回数を増やして、VaRを算出します。10000回でやってみます。

 

 

 

 

 

この結果から、オリエンタルランドの株を1年間保有した場合、99%の確率で543円の損失以内に収まるということが言えます。シミュレーションを行う期間や回数によって結果は変わりますが、リスク解析の目安として使用できると思います。

まとめ

日本の株価の最新情報の入手法と、Pythonを使ったリスク解析法の一例ついて説明してみました。オリエンタルランドの株価を用いて試しましたが、自分が保有している株や自分の会社でトライしてみると楽しいと思います。

スポンサーリンク

-Pythonプログラミング, Pythonデータ解析

Copyright© MAYRのPython活用法! , 2021 All Rights Reserved Powered by AFFINGER5.