【TTO通信】Pandasで値上がり率ランキングを集計(サンプルコード付き)[Python#019]
<< 前回のnoteはこちら
しゅん@Trade Techです。
今回はPythonの
Pandasライブラリを利用して
株価データを取り扱う様子をご紹介します。
今回やってみたのは、以下のようなことです。
日本株5銘柄の株価データ(日足)をダウンロード
日足データを週足データに変換
前日からの株価変動率ランキングを集計
値上がり率ランキングのみ表示
サンプルコードはこちらです。
4つの灰色背景エリア(”セル”と言います)に分かれていますが、
各セルにマウスを当てると右上に再生アイコンが表示されますので、
それをクリックするとブラウザ上でPythonコードが実行され
結果を確認できます。
(※Googleアカウントのログインが必要)
以下、各セルで何をやっているのか詳しく。
1. 日本株5銘柄の株価データ(日足)をダウンロード
Web上から5銘柄の株価データをダウンロードしています。
銘柄は適当に時価総額が大きいもの5つを選んでみました。
数秒待てば、2023年の株価データが手に入ります。
2. 日足データを週足データに変換
取得した株価データの中から、
7203トヨタ自動車の日足データを
週足に変換してみました。
Pandasのresampleを使うことで、
日足から週足や月足などへの変換も
比較的簡単に行なえます。
株探のこのページにある
週足データと同じになるはずなので、
実行出来たら見比べてみてください。
(日付の表記が若干違うと思いますが)
https://kabutan.jp/stock/kabuka?code=7203&ashi=wek
3. 当日の値上がり率ランキングを集計
今回取得した5銘柄の中で
2023/5/16の日における
株価変動率ランキングを集計しています。
こちらはPandasのsort_valuesを使うことで
前日からの価格変動率(PrevChangePct列)が
大きいものから順に並び変えることで、
ランキングを集計しています。
4. 値上がり率ランキングのみ表示
上の実行結果には値下がりした銘柄も含まれるので、
「前日より上昇した銘柄」のみに絞り込んで表示しました。
今回は簡単な実験用なので5銘柄しかありませんが、
5銘柄でなくその日の全銘柄データを用意できれば
取引ツールで見られるような
当日値上がり率ランキングが自分で集計できます。
・・たくさんコードがあって難しそうですが、
一度作ってしまえば後は銘柄コードなどの部分を変えるだけで
同じように動作するのがプログラムの利点です。
今後の僕の活動としては、
こういったPythonのサンプルコードは
ブログ、メルマガ、noteなどで
色々と公開していこうと思っています。
既にプログラミングが得意な方は
サンプルコードを見て自力で色々やってもらえますし。
一方で無料/有料のオンライン講座では
プログラミング未経験~初心者の方でも分かりやすいように
サンプルコードの解説やカスタマイズ方法などを
動画で解説していくような形にしていこうかと。
プログラミング講座系が落ち着けば、
システムトレードに役立ちそうな様々な知識や情報も
シェアしたりできればなとも思っています。
(資金管理、確率論、シストレ本の紹介、など)
Pythonの新しいオンライン講座は
来週中にはリリースできそうです。
講座で取り扱う内容や参加方法については、
本メルマガで随時お伝えしていきますね。
興味のある方は楽しみにしていてください。
それでは。
Pythonを1時間で体験できる
株式投資家向けチュートリアル講座作りました
プログラミング未経験でもOK!
Pythonを使って株価データの取得から
移動平均線の計算やチャート表示までを体験できる、
動画+サンプルコードで学べるチュートリアル講座を作りました。
登録者限定で
新しい講座や勉強会などのお知らせもしていきますので、
興味のある方は以下から登録しておいてください。
株式投資家のためのPython爆速チュートリアル
https://online.trade-tech.jp/p/python-introduction
しゅん@Trade Tech
【ブログ】 https://tradetech.online/
【Twitter】 https://twitter.com/eltraders
【Youtubeチャンネル】 https//www.youtube.com/channel/UCRq7nwlHqNepd-LDkurrEdQom
<更新通知をメールで受け取りたい方はこちら>
無料メルマガ「トレードテック・オンライン通信」登録フォーム
https://mailchi.mp/trade-tech/lubw5jj4fc
<更新通知をnoteで受け取りたい方はこちら>
https://note.com/tradetech/m/m5b47d6bf400c
※公開している銘柄および検証結果については、銘柄の推奨や売買指示などを行なったり、効果を保証するものではありません。実際の投資判断は各自の自己責任でよろしくお願いいたします。
この記事が気に入ったらサポートをしてみませんか?