Python

【コード解説】Pythonで株価データを日足から週足・月足に変換する!

2021年8月12日

【コード解説】Pythonで株価データを日足から週足・月足に変換する!

こんにちは。TATです。

今日のテーマは「Pythonで株価データを日足から週足・月足に変換する」です。

 

過去にPythonで株価データを扱う記事をいろいろとご紹介してきました。

おすすめ
【まとめ】Pythonで株価データを扱う
【まとめ】Pythonで株価データを扱う

続きを見る

 

今回は取得した日足データを週足や月足に変換します。

Pythonを使えばこういったデータの処理も簡単に実装することができます。

この方法を利用すれば、日足のデータだけを収集すれば週足や月足に自由に変換して扱うことができます。

 

【コード解説】Pythonで株価データを日足から週足・月足に変換する!

【コード解説】Pythonで株価データを日足から週足・月足に変換する!

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

まずは解説に使用するための株価データを取得します。

過去記事でも解説済みなのでサクッといきます。

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

続きを見る

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

続きを見る

 

今回はyahoo_finance_api2を使ってトヨタ自動車(証券コード:7203)の株価データを取得しました。

過去2年分のデータを取得しています。

 

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

 

週足・月足に変換する

データの取得ができたところで、週足・月足に変換していきます。

 

pandasのresampleを活用する

週足・月足への変換にはpandasのresampleを使うと大変便利です。

resampleを使うと簡単に週足や月足への変換が完了します。

名前の通り、データのリサンプリングを行ってくれます。

DataframeのIndexを日付データにしておけば、週足や月足の変換も簡単に行うことができます。

 

週足に変換してみる

早速変換していきます。

resampleの使い方は、期間を選択して、さらにカラムごとの計算手法を指定します。

週足に変換する場合は、始値は週初めの始値、高値は1週間の高値、安値は1週間の安値、終値は週最後の終値、出来高は合計値になります。

 

WはWeek(週)を意味します。

resampleを使うには、indexが日付データになっている必要があるので、set_indexでdatetimeカラムをindexに指定しています。

 

完成したデータがこちらです

週ごとに変換されていることが確認できますね。

 

loffsetを指定して日付を調整する

先ほどのデータをみると、各日付は該当する週の日曜日になっています。

週足データの日付の表示はサイトによって異なります。

例えば、yahooファイナンスだと、週の月曜日(祝日なら翌日)で表示されます。

株探だと金曜日(祝日なら前日)で表示されます。

 

どちらにするかは好みの問題です。

僕的には株探をよく使っているので、金曜日表示に慣れています。

ゆえにここでは日付の表示が金曜日になるように調整していこうと思います。

 

これを行うにはresampleで、loffsetを指定します。

ここでは日曜日を金曜日にずらすために日付を2日間マイナスします。

 

pandasのoffsetsを使うと任意の日付を指定することができます。

結果がこちらです。

 

日曜から2日引いているので金曜日になっています。

月曜日で表示したい場合は6日引けばOKです。

 

月足に変換する

次に日足データを月足に変換してみます。

この場合はresampleの引数をWからMに変更すればOKです。

MはMonth(月)の頭文字です。

 

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

値を確認します。

 

きちんと月ごとに集計できていることが確認できます。

これで日足データを週足・月足データに変換することができました。

 

注意点:最初のデータはずれる場合があります

最後に注意点です。

日足データを週足・月足データに変換する際には、用意するデータによっては一部データの値がずれます。

特に最初のデータがずれる場合が多いです。

本記事で使用したデータは2019年7月29日〜のデータになってるので、これを月足にすると2019年7月分のデータは3日分しかありません。

 

また、記事を書いている2021年7月時点のデータも7月がまだ終わっていないので、2020年7月のデータは途中までのデータになります。

週足に変換する場合には、収集する日足データを月曜開始になるように調整する必要があります。

月足データに収集する場合には月初めからのデータを用意する必要があります。

ここだけは要注意なのでご紹介しておきました!

 

収集するデータが1種類あれば十分!

本記事でご紹介した変換方法と使えば、日足データさえあれば週足データと月足データは簡単に変換できることがわかりました。

よって、データ収集の際には、基本的には1種類のデータだけあればOKです。

具体的には必要なデータのうち最も細かいデータが1つだけあれば、それより粗いデータは自由に変換することができます。

5分足のデータがあれば、そこから30分足や1時間足などのデータも作れます。

逆に日足データから1時間足などのデータに変換することはできないので、必要なデータのうち、最も粒度の細かいデータを1つだけ収集しておけばOKということになります。

これだけで収集するデータはかなり減ります。

 

僕の場合は、日足データのみを収集して、週足・月足に変換するようにしています。(月足はほぼ使いませんがw)

 

まとめ

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

ここでは「Pythonで株価データを日足から週足・月足に変換する」というテーマで、resampleを使って株価データを変換する方法を解説しました。

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 気ままなブログ