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で株式投資に必要なテクニカル分析を計算する

続きを見る

 

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

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

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

 

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

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

min()なら安値です。

 

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

 

 

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

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

簡単すぎますね。

 

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

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

可視化も容易です。

 

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

 

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

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

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

 

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

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

 

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

 

計算結果を可視化する

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

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

 

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

参考
【コード解説】Pythonで株価チャートを描く【mpl_finance編】

続きを見る

参考
【コード解説】Pythonで株価チャートを描く【mplfinance編】
【コード解説】Pythonで株価チャートを描く【mplfinance編】

続きを見る

参考
【コード解説】Pythonで株価チャートを描く【plotly編】

続きを見る

 

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

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

 

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

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

 

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

 

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

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

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

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

 

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

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

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

 

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

 

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

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

 

高値と安値を描画する

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

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

 

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

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

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

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

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

 

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

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

 

データ分析にはPythonが最適です。

本記事で紹介した分析は全てPythonで行なっています。

Pythonを使うと短いコードでわりと簡単にデータの収集や分析をすることができ、Webスクレイピングやデータ分析、AI関連に強くて、世界中で人気を集めている言語です。

すっきりとしたコード体系で、誰でもきれいなコードが書けるような設計になっています。

過去の記事では、データ分析としてPythonをご紹介している記事や、Pythonでできることをまとめたものがありますので、もしPythonにご興味があれば合わせてご覧ください。

僕自身も社会人になってからPythonを独学しました。それくらい学びやすい言語でもあります。

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

 

\30日返金保証/

Udemyを詳しく見る

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

 

まとめ

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

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

 

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

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

 

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

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

 

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

参考
【まとめ】Pythonで株価データを扱う
【まとめ】Pythonで株価データを扱う

続きを見る

 

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

 





Pythonの独学ならUdemyがオススメです。



Udemyは動画教材でわかりやすく、セールで買うとコスパ最強です。



僕はUdemyでPythonを独学して転職にも成功して人生が大きく変わりました。



\30日返金保証/

Udemyを詳しく見る

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




独学がきついならプログラミングスクールも検討の余地あり



独学がきつい、挫折した、という方はプログラミングスクールも検討の余地があります。



その際には、必ず無料体験レッスンを受けたうえで判断するようにしましょう。



決して安い料金ではないので、慎重に判断を下す方が無難です。



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



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

  • 自習型なので自分のペースで学習を進めたい方におすすめ

  • 受講期間中はマンツーマンで最適な学習プランを提案してもらえる

  • 受講期間中はあらゆるテクノロジースキルが学び放題(他コースも受講できます)

  • 分からないところは何度でも質問ができるため、挫折することがない

  • 大手のスクールで安心


\チャットで質問し放題/

TECH::CAMPを詳しく見る!

自習型で自分のペースで学習を進めたい方にオススメ



 

CodeCamp(コードキャンプ)

  • オンラインによるマンツーマンレッスンが受けられる

  • レッスンごとに好きな講師を選択することができる

  • 講師は現役エンジニアなので、より実践的なスキルが学べる

  • オンラインで365日/7時〜24時迄、時間と場所を選ばずに学習できる

  • 就職/転職やキャリアについての相談が無料でできる

  • 無料体験レッスンを受講すると受講料が1万円引になる

  • 大手のスクールで安心


\マンツーマンレッスンで学べる/

CodeCampを詳しく見る!

無料体験レッスンを受けたら受講料が1万円引きに



 

キカガク

  • Pythonを基礎から学びたいという初心者にもおすすめです

  • 機械学習やAIに関心がある方におすすめ

  • E資格認定コースなので、熟語に試験に受かれば転職で有利です

  • 受講者はキカガクが提供する全ての講座が無期限で見放題

  • 受講者の多くが専門実践教育訓練給付金制度を使用して実質70%オフの料金で受講している


\AIや機械学習を本気で学びたい方へ/

キカガクを詳しく見る!

E資格認定コースでPythonの基礎からしっかりと学べる



 

.Pro

  • .Proの受講生の約90%は未経験からのスタートなので初心者でも安心

  • 完全対面式・少人数クラスの講義スタイル

  • 現役エンジニアやAIの研究者が教える実践形式のカリキュラムで、より実践的なスキルを獲得できる

  • キャリアアップ目的の為の提携企業への転職支援が受けられる

  • フリーランス・起業 の要となるマーケティングや案件受注の仕方等も身に付けることができる

  • WebフレームワークであるDjangoが学べる


\完全対面式の講義スタイル/

.Proを詳しく見る!

受講生の90%は未経験スタートからのスタートで初心者でも安心



データ販売を始めました


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

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

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

続きを見る


-Python
-, , , , ,

© 2022 気ままなブログ