Python

【コード解説】Pythonで異なる株価データを横並びで比較する

【コード解説】Pythonで異なる株価データを横並びで比較する

こんにちは。TATです。

今日のテーマは「異なる株価データを横並びで比較する」です。

 

テーマの通り、異なる株価データを用いてパフォーマンスを比較します。

当然ながら、株価は銘柄によって異なります。

1,000円代のものもあれば、2万円代のものもあります。

こういったデータを横並びで比較するには少し工夫が必要です。

 

ここでは、異なる株価データを横並びで比較するということをPythonを使って実装してみます。

 

また、Pythonで株価データを扱う記事については記事が散在しているのでこちらにまとめています。

株価データの取得方法やテクニカル分析の計算方法、チャートの可視化などについてはこちらからどうぞ。

関連記事
【まとめ】Pythonで株価データを扱う
【まとめ】Pythonで株価データを扱う

続きを見る

 

【コード解説】Pythonで異なる株価データを横並びで比較する

【コード解説】Pythonで異なる株価データを横並びで比較する

株価データを用意する

まずは比較に用いる株価データを用意します。

 

(おさらい)株価データの取得

今回用意した株価データはこちらです。

2020年1月1日〜2020年12月31日までのデータを用意しました。

用意するデータ

  • 日経平均
  • NYダウ
  • トヨタ(7203)
  • 任天堂(7974)

 

個別銘柄のみでなく指数データも入れて、アメリカの指数(NYダウ)も入れました。

株価データの取得方法には過去記事で解説しているので割愛します。

関連記事
【コード解説】Pythonで株価データを取得する!【3つの方法を解説】

続きを見る

 

こちらの記事で紹介しているpandas_datareaderを使って株価データを取得しました。

比較の際には終値しか使わないので、調整後の終値だけを抽出しています。

 

こんなに短いコードで株価データが取得できてしまうPythonの便利さを痛感します。

^DJIがNYダウ、^N225が日経平均を示します。

このティッカーシンボルについてはhttps://finance.yahoo.comから該当の銘柄を探すと確認できます。

 

取得したデータがこちらです。

 

データの整形

アメリカ市場は年末年始も1月1日以外は開いているのでデータがありますね。

ここは全て統一するために2020-01-06以降のデータだけにしてしまいます。

 

さらにアメリカと日本は祝日が異なるので、日ごとのデータをみているとどちらかのデータが欠損している日がちょくちょくあります。

ゴールデンウィークあたりを見るとわかりやすいです。

 

こうしたデータはチャートにする際にバグるので、補完する必要があります。

ここでは直前の値で補完してしまいましょう。

fillnaを使うと1行で完了します。

先ほどNaNだった箇所が直前の値で補完されていることがわかります。

ffillと指定すると、直前の値で補完されます。bfillと指定すると直後の値で補完されます。

また、fillna(0)みたいに値を指定すると、NaNは全て0に置換されます。

fillnaは、データ整理の時、欠損データを補完するのに役立ちます。

 

これでデータの準備が完了しました。

 

株価データを横並びで比較する

データの準備ができたので比較していきます。

 

そのまま比較してみる

まずはノリでそのまま比較してみましょうw

手っ取り早くplot関数で可視化してみます。(jupyterの場合は%matplotlib inlineをお忘れなく)

 

ご覧の通り、それぞれのデータのスケールが違うので比較しにくいことが確認できます。

任天堂の株価は6万円を超えていますが、トヨタは1万円未満なので、株価の低いトヨタの株価の変動が見えづらいですね。

さらに言えばNYダウはドルなのでそもそも単位が違いますw

そのまま比較するにはあまりにも無理があることが、チャートをみてもよくわかるかと思います。

 

相対値で比較する

ではどうしたらいいか。

答えはシンプルで、相対値で比較することです。

ある日の株価を基準として、そこからの変化を比較します。

こうすること、「基準日から何%上がっている」みたいにデータをみることができるので、スケールの違うデータでも横並びで比較することができます。

 

よく経済ニュースでも「2020年末の株価を1とした際のチャートがこちらです」みたいに紹介されていることがあります。

これからやろうとしているのはまさにこれです。

 

この方法を用いれば、スケールが違くても単位が違くても横並びで比較することができます。

 

Pythonで相対値を計算する

それではPythonを使って相対値を計算していきます。

今回は統一して2020年1月6日以降のデータに揃えたので、この日を基準日としてここからの変化率を見ていくことにします。

 

この計算もPythonなら1行で完了します。

計算結果をdf2に格納しました。

 

locを使って該当する行のデータを取得します。

Dateはデータの型がDatetimeになっているので文字列で指定すると失敗します。

datetimeを使ってDate型で指定してあげるとうまくいきます。

抽出したデータでdfを割れば完成です。

それぞれのカラムに対応して割り算してくれます。

1行目のデータは全て1になってるので正しく計算されていることが確認できます。

 

相対値データを確認する

計算結果を確認してみます。

先ほどと同様にplot関数を使ってパパッと確認しましょう。

 

ご覧の通り、全てのラインが1からスタートしており、パフォーマンスを横並びで比較することができていますね。

結果を見ると任天堂の圧勝です。

巣篭もり需要で業績が好調でしたからね。

決算を受けて爆上げしました。

年始と年末で見ると60%の上昇です。

凄まじいですね。

 

またNYダウと日経平均などといった異なる単位のデータもきちんと比較することができます。

概ね、NYダウと日経平均の動きは似ていることがわかります。。

このように、相対値を利用すると、異なるスケールや単位のデータでも横並びで比較することができます。

 

株価データを扱うにはPythonが最適です!

株価データを扱うにはPythonがオススメです。

ここまで紹介してきたコードは、全てPythonを使って書かれています。

 

Pythonを使えば、短いコードで複雑な処理を実装することができます。

データ分析やスクレイピングなどを得意とするプログラミング言語で、さらにAI関連のライブラリーが豊富なので、昨今のAIブームで需要が爆発しています。

おすすめ
【いますぐ始められます】データ分析をするならPythonが最適です。【学習方法もご紹介します!】
おすすめ
【人気上昇中】今人気のプログラミング言語「Python」は何ができるのか?できることまとめます【転職でも有利です】

 

また、Pythonは、僕自身も独学で習得できたくらい学びやすい言語なので、スキルを身に付けたい方などにもオススメです。

僕の場合は社会人になってから独学でPythonを習得して転職にも成功しました。Pythonをきっかけに人生が大きく変わりました。

おすすめ
【実体験】ゼロからのPython独学を決意してから転職を掴み取るまでのお話。
【実体験】ゼロからのPython独学を決意してから転職を掴み取るまでのお話。

続きを見る

 

僕自身の独学の経験をベースに、Python独学ロードマップをまとめたので、もしご興味があればご覧ください。

おすすめ
【決定版】Python独学ロードマップ【完全初心者からでもOKです】
【決定版】Python独学ロードマップ【完全初心者からでもOKです】

続きを見る

 

僕自身はUdemyでPythonを独学しました。

おすすめ
プログラミングの独学にUdemyをおすすめする理由!【僕はUdemyでPythonを独学しました!】
おすすめ
【目的別】Pythonが学べるUdemyのおすすめコースを紹介します【随時更新】

 

まとめ

いかがでしたでしょうか。

今回は「異なる株価データを横並びで比較する」というテーマで、Pythonで相対値を使って株価データを比較する方法をご紹介しました。

相対値を使うことで、スケールが異なる、単位の異なるデータを横並びで比較することができるようになります。

 

ここで紹介しているコードは自由にコピっていただいて問題ないので、分析のお役に立てていただければと思います。

また、本記事を含めてPythonで株価データを扱う記事については記事が散在しているのでこちらにまとめています。

株価データの取得方法やテクニカル分析の計算方法、チャートの可視化などについてはこちらからどうぞ。

関連記事
【まとめ】Pythonで株価データを扱う
【まとめ】Pythonで株価データを扱う

続きを見る

 

ここまで読んでくださり、ありがとうございました。

データ販売を始めました


オニールとミネルヴィニの投資手法を日本株に適用するために必要なデータの販売を始めました。

あらゆるデータを集約して、誰でも簡単にスクリーニングできるようにCSV形式でデータを提供します。

オニールとミネルヴィニの投資手法を日本株に適用するために必要なデータを販売します!

続きを見る




Pythonの独学ならUdemyがオススメ!


Udemyなら、セール中だと90%オフとかで買えるのでコスパ最強です。

僕はUdemyでPython独学に成功しました。

関連
【目的別】Pythonが学べるUdemyのおすすめコースを紹介します【随時更新】

続きを見る



関連
プログラミングの独学にUdemyをおすすめする理由!【僕はUdemyでPythonを独学しました!】

続きを見る



Udemyを詳しく見る!



プログラミングスクールもオススメ!



プログラミングスクールもオススメの選択肢です。

初心者をしっかりサポートしてくれるシステムが整っているので、挫折する可能性が一気に下がります。

効率よく最速で学ぶならプログラミングスクールが最適です。

関連
【まとめ】Pythonが学べるおすすめプログラミングスクール

続きを見る



関連
プログラミング学習は独学とプログラミングスクールどちらにすべきか?【結論、全部試すべし!】

続きを見る



関連
高額なプログラミングスクールを利用する価値はあるのか?【結論、人それぞれですw】

続きを見る




TechAcademy (テックアカデミー)


オンラインに特化したプログラミングスクールで、プログラミングの他に動画編集などの豊富なコースが用意されています。







TechAcademyを詳しく見る!



TECH::CAMP (テックキャンプ)


いつでも講師に質問できるチャットシステムが最強です!







TECH::CAMPを詳しく見る!



 

CodeCamp (コードキャンプ)


講師とのマンツーマンレッスンで挫折しない!







CodeCampを詳しく見る!


-Python
-, , ,

© 2021 気ままなブログ