Python

【Pythonで株式投資】任意期間における高値・安値を計算して可視化する!

2021年11月28日

【Pythonで株式投資】任意期間における高値・安値を計算して可視化する!

こんにちは。TATです。

今日のテーマは「Pythonで高値・安値を計算して可視化する」です。

任意の期間における高値および安値を計算するとともに、計算結果を可視化していく方法について解説していきます。

 

高値と安値をうまく可視化することができると、エントリーポイントの基準に活用できたりすることができるので便利です。

特に長いレンジ期間からの上抜けあるいは下抜けはトレンドが大きく動く可能性があるので注目に値します。

 

【Pythonで株式投資】任意期間における高値・安値を計算して可視化する!

【Pythonで株式投資】任意期間における高値・安値を計算して可視化する!

(おさらい)株価データを用意する

まずは株価データを用意します。

今回は、yahoo_finance_api2を使って取得していきます。

例としてトヨタ自動車の株価データを2年分日足でとってみます。

 

 

 

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

このデータを使って高値と安値を計算していきます。

 

yahoo_finance_api2を使った株価データの取得方法については過去記事で解説しているのでご参照ください。

参考
【Pythonコード解説】yahoo_finance_api2で日本株の株価データを取得する
【Pythonコード解説】yahoo_finance_api2で日本株の株価データを取得する

続きを見る

 

任意の期間における高値・安値を計算する方法

データの準備ができたところで任意の期間における高値と安値を計算していきます。

この計算は非常に簡単でわずか1行で完了します。

 

rolling関数で一発計算

任意期間の高値と安値を計算するには、移動平均線などの計算でも使うrolling関数を使います。

参考
【コード解説】Pythonで株価データから主要なテクニカル分析を計算して可視化する【移動平均線、MACD、RSI】

続きを見る

 

rolling関数を使えば、任意の期間において様々な計算をすることができます。

平均を計算すれば移動平均になります。

例えば、次のコードでは25日移動平均線を計算しています。

 

終値に対して、windowで期間を指定し、最後のmean()は平均値を計算することを意味しています。

このmean()をmax()に書き換えれば最大値、つまりは高値を算出することができます。

min()なら安値です。

 

また、この場合は終値ではなくてそれぞれ高値と安値で計算する必要があります。

 

 

上記のコードで過去25日間における高値と安値を計算することができます。

期間を変えるならこのwindowの数字を弄ればOKです。

簡単すぎますね。

 

カラムを追加してデータを確認

計算結果を新たなカラムに格納すればデータを追加することができます。

可視化も容易です。

 

ローソク足チャートを使った可視化については後述します。

 

期間はよく利用されるものが良い

ここで少し余談ですが、この期間設定についてです。

「どの期間を使えばいいのかわからない」といった疑問が湧いてくるかと思います。

 

この答えはいろいろなケースが考えられるので一概には言えませんが、1つの考え方としては、移動平均線などでよく利用する期間を用いることです。

例えば、日足なら25日、50日、75日、120日、200日など、週足なら40週や52週などです。

 

最終的にはチャートを見ながら適切に判断することになっていくと思いますが、最初の取っ掛かりとしては、こういった身近な期間を用いると良いかもしれません。

 

計算結果を可視化する

計算が完了したところで次に可視化していきます。

先ほどちらっと折れ線グラフで可視化してしまいましたが、ここからはきちんとローソク足チャートで可視化していきます。

 

過去にローソク足チャートを描く方法をいくつか解説してきました。

参考
Pythonのmpl_financeで株価のローソク足チャートを描く方法【コード解説】

続きを見る

参考
Pythonのmplfinanceで株価のローソク足チャートを描く方法【コード解説】

続きを見る

参考
PythonのPlotlyでインタラクティブな株価のローソク足チャートを描く【コード解説】

続きを見る

 

今回は一番いけてるグラフが描ける(と個人的に思ってる)plotlyを使っていきます。

plotlyで株価チャートを描く方法については上記の記事で解説しているので、ここでは細かい説明は省きます。

 

(おさらい)基本のチャート

まずはおさらいとして基本の形となるチャートを描いてみます。

 

このコードで描けるチャートがこちらです。

 

ポイントは、 土日や祝日を非表示にすることです。

これをしないと不自然な空白期間が出来てしまうことになります。

このためにrange_breaksを指定して、非表示にする日付を設定しています。

これで、不自然な空白がなくなり、営業日のみの表示となります。

 

ローソク足チャートだけだと寂しいので出来高を加えます。

複数のチャートを描くにはmake_subplotsを使います。

行数と列数を指定して、それぞれにグラフを描けばOKです。

 

完成したグラフがこちらになります。

 

出来高が追加されたことが確認できます。

基本のチャートができたところで高値と安値を加えていきます。

 

高値と安値を描画する

先ほど計算した高値と安値を描いてみます。

移動平均線を加えるときと全く同じで、add_traceを使えばOKです。

 

high_25とlow_25というカラムを追加してグラフに加えました。

このコードで完成するチャートがこちらです。

過去25日間における高値と安値が描かれていることが確認できますね。

これを使えば、例えば過去25日の高値(あるいは安値)を更新したらエントリーするなどといった使い方もできるようになります。

より信ぴょう性をあげるなら、さらに期間を伸ばしてもいいかもしれません。

 

さらに言えば、現在の高値が過去何日間の高値(あるいは安値)に該当するのかをチェックするのもいいかもしれません。

この期間が長ければ長いと強力なシグナルになります。

 

データの分析・可視化にはPythonが最適!

本記事で紹介したコードは、全てPythonを使って書いています。

 

Pythonデータの分析や可視化を得意とするプログラミング言語で、さらにAI関連のライブラリーも豊富で昨今のAIブームで需要が急拡大しています。

【いますぐ始められます】データ分析をするならPythonが最適です。

 

また、Python比較的学びやすい言語でもあります。

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

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

 

Python学習方法についてはいろいろな方法があります。

僕はUdemyを選びましたが、書籍プログラミングスクールも選択肢になります。

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

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

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

 

\30日返金保証/

Udemyを詳しく見る

セール中なら90%オフとかで購入可能です!

 

まとめ

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

今回は「Pythonで高値・安値を計算して可視化する」というテーマで解説しました。

 

任意の期間における高値および安値を計算して、それを可視化することができると、エントリーポイントや利確の基準が明確になります。

特に長いレンジ期間を経て、高値あるいは安値を更新した銘柄はトレンドが大きく変わる可能性があるので注目に値します。

 

可視化することができれば、あらかじめ「ここまできたらエントリーだな」みたいな感じで目星をつけることにも役立ちます。

皆さんの参考になれば幸いです。

 

またPythonで株価を扱う方法についてはこちらの記事にまとめているのでご参照ください。

参考
【まとめ】Pythonで株価データを扱う
Pythonで株価データを扱う方法まとめ【データの取得・分析・可視化等、なんでもできます】

続きを見る

 

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

 

Pythonおすすめ学習法

Udemy

Udemyの特徴

  • 高品質の動画教材がリーズナブルに購入できる
  • セール中なら定価の90%オフなどの価格破壊が起こる
  • 講師に直接掲示板から質問ができ、疑問を解消しながらスムーズに学習できる
  • 動画はダウンロード可能で、隙間時間に効率的に学習できる
  •  30日間の返金保証、一度購入すれば視聴期限なく受講可能

\30日返金保証/

Udemy 公式サイトへ

セール中なら90%オフとかで購入可能です!

キカガク

キカガクの特徴

  • Pythonだけでなく、数学の基礎から、環境構築、AIアプリケーション開発まで一気通貫で学べる
  • 自走できるAI・DX人材を育成
  • オンデマンドの講義 + プロの講師に質問し放題、定期的なメンタリング付き
  • 今後増える動画コンテンツを含め、全ての動画コンテンツが一生見放題
  • 専門実践教育訓練給付金制度を利用すると最大で受講料の70%が還元される

\Pythonだけでなく、機械学習やAIの基礎から学べる/

キカガクを詳しく見る

企業の研修材料にも採用される実績と信頼のあるスクールです!

データミックス

データミックスの特徴

  • データサイエンティストが開発・監修した体系的かつ実践的に学べるカリキュラム
  • 「スキル」のみでなく、データサイエンスの本質である「理論」や「思考」が学べる
  • エンジニアに限らず、多様なキャリアを形成・構築できる
  • オンラインチャットツールによる質問対応やコミュニティなどの充実したフォロー体制
  • 専門実践教育訓練給付金の対象講座で授業料の最大70%還付

\データサイエンスとビジネスが学べる/

データミックス(datamix)を詳しく見る!

エンジニア転職だけでなく起業やフリーランスなど多様なキャリア形成・構築に繋がる

「Python」×「株式投資」

Pythonで株式データを扱う記事はこちらでまとめています。

収集・管理しているデータの販売もしています。

Pythonで株価データを扱う方法まとめ【データの取得・分析・可視化等、なんでもできます】

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


-Python
-, , , , ,

© 2022 気ままなブログ