不動産投資ReviewプログラミングITホームプログラミング【Python】Plotlyで外国人投資家の売買動向の推移を可視化するプログラミングTwitterFacebookはてブPocketLINEコピー2019.11.04この記事は約20分で読めます。以下の投稿で外国人投資家の売買動向を知ることが大切ということと、そのデータがJPX(日本取引所グループ)のホームページから取得できることを書きました。その際にPythonのPlotlyを使って、JPXのデータを可視化した結果を載せたのですが、せっかくですので、そのデータの可視化方法を書いておきたいと思います。外国人投資家の売買動向を確認する方法ニュースやネット記事、ツイッターなどを見ていると、しばしば外国人投資家が買い越している、売り越しているというのを見かけます。外国人投資家の売買動向を確認する方法に従い、2019年のエクセルデータをJPXからダウンロードしてきて、dataというフォルダにいれます。notebookを作成します。以下のようなフォルダ構成の想定です。visualization.ipynbモジュールのインポート今回は以下のモジュールを使用します。goエクセルファイルのパス一覧取得データの準備ができたので、globモジュールを使って、dataフォルダ内のファイルのパスを取得します。以下のコードになります。sorted(glob.glob('data/*'))エクセルファイル読み込みエクセルファイルのパス一覧が取得できたので、実際にエクセルファイルを読み込んでいきます。2019年10月第4週のデータを読み込み、データを取得したいと思います。以下のコードで、エクセルの東証1部のシートを読み込むことができます。wb.sheet_by_name(sheet_names[0])セルデータの取得エクセルシートのデータは、以下のように記載するとA4セル(4行目1列)の値を取得することができます。)'どのセルにどのデータが入っているかを確認しながら値を取得していく必要があります。面倒ですが、頑張って位置を見比べながら以下の関数を作成しました。全部まとめて書いても良かったのですが、後々わかりやすいようにテーブル毎に関数を作成しています。取得したデータをpandasのデータフレームに変換します。colsの中は列名を設定しているだけです。最後の3行は、文字列のデータを数値に変換しています。df[c].astype(float)上記を実行すると以下のような1行54列のデータフレームが得られているとおもいます。上記は2019年10月第4週だけのデータになるので、2019年1月第1週からのデータをすべて読み込みたいと思います。その前に、第何週目のデータかわかるようにweek情報を取り出す関数を作っておきます。['201910-04']週を取り込む関数ができたので、以下のコードでデータフレームを作成します。df[c].astype(float)上記を実行すると以下のようなデータが得られていると思います。【Python】Plotlyによるデータの可視化plotlyはグラフを綺麗に可視化してくれるモジュールです。慣れるまで少し時間がかかりますが、使えるようになれば、非常に見栄えの良いグラフがかけるのでおすすめです。詳細な使い方は今回は割愛させていだきます。細かい使い方は公式のページに結構親切に書かれているので、こちらを参照してください。売買代金のtotal値の可視化を行うプログラムが以下になります。width=1000))fig.update_layout(barmode='group')fig.show()実行すると以下のようなグラフが得られます。売買動向を可視化するプログラムは以下になります。width=1000))fig.update_layout(barmode='group')fig.show()上記を実行すると以下のような結果が得られます。以上、Plotlyで外国人投資家の売買動向の推移を可視化するでした。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。29アーカイブ2020年1月2019年12月2019年11月2019年10月2019年9月2019年8月2019年7月2019年6月2019年5月topix脱サラ、転職、副収入に役立つかもしれないことをブログに書き綴っています。29アーカイブ2020年1月2019年12月2019年11月2019年10月2019年9月2019年8月2019年7月2019年6月2019年5月topix脱サラ、転職、副収入に役立つかもしれないことをブログに書き綴っています。topixをフォローするスポンサーリンクタイトルとURLをコピーしました。