Python

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

2021年8月12日

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

こんにちは。TATです。

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

 

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

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

続きを見る

 

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

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

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

 

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

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

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

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

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

関連
【日本株対応】Pythonで株価のローソク足データを取得する方法まとめ【CSV、ライブラリ、スクレイピング】

続きを見る

関連
【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が最適!

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

 

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

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

 

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

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

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

 

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

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

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

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

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

 

\30日返金保証/

Udemyを詳しく見る

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

 

まとめ

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

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

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