[ソースコード公開]Pythonで効率的に資産管理

プログラミング,マネー全般Python

どうも、Econです。

最近仕事が忙しく、久しぶりの更新になってしまいました。

何回か書いてきましたが、これまでエクセルでやっていた資産管理をPythonに移行しています。
データの管理が楽になったり、ファイルもcsvで軽量化され、とても快適です。

Pythonで資産運用データを管理する最大のメリット

具体的なメリットは上のリンク記事を読んで頂ければ幸いですが、この記事では実際に私が使っているサンプルファイルとコードを紹介します。
Python環境が構築されている方なら、この記事のコードを使って下のような

  • 資産額の推移を示した棒グラフ
  • アセットアロケーションを示した100%積み上げ棒グラフ

が出来上がりますので資産管理の役に立てば嬉しく思います。

なお、この記事のソースコードは個人の利用範囲内であれば複製・改変は自由に構いませんが、ほぼオリジナルのままで、著作者を偽って再配布することは禁止いたします。
また、無保証のため利用は自己責任でお願いいたします。


コードのフローチャートとcsv

まず、入力用ファイルとして

の3つをcsvとして用意しています。

マスターテーブル

マスターテーブルは資産ごとのカテゴリーと通貨を管理するテーブルです。

資産管理をするにつれて管理する資産は増えていきますが、その都度このテーブルに追加していくことで集計対象に加わります。
逆に過去持っていたけど既に持っていない資産がここに残っていても特に悪さはしないので、基本的にはマスターテーブルは追加するだけで良いと思います。

資産ファイル

資産ファイルは月ごとの資産状況を入力するシートです。

入力項目は年、月、資産、時価、数量があります。

為替ファイル

円建ての商品だけで運用しているなら、為替ファイルは不要ですが、資産運用が進むと円だけで運用していくということは考えれらません。
なので、外貨建ての商品を日本円に換算するために為替ファイルが必要になります。

下の図がイメージで、通貨ごとにその月のレートを入力します。

フローチャート

この3つのcsvに入力された内容から、下のようなフローチャート¹でPythonが自動処理をして

  • 資産額の推移を表した棒グラフ
  • アセット・アロケーションの推移を表した100%積み上げ棒グラフ

が出力されます。

1 私はSEではないのでフローチャートが正しくないかもしれませんが、その際はご了承ください…


Pythonコード

コードは次のようになっています。
このコードは、Jupyter Labで動くように、1行目で%matplotlib inlineを宣言していますが、pythonファイルとして使う時は%matplotlib inlineは削除してください。

 アウトプット

このコードを動かすと同じディレクトリに下のような2つのグラフが出来上がります。
上が資産額の推移を資産カテゴリー毎に表している棒グラフで、下がアセット・アロケーションの推移を表した100%積み上げ棒グラフです。

ここではサンプルなので3ヶ月分しか表示していませんが、マスターテーブルの資産を自分の持つ資産に置き換え、資産ファイルと為替ファイルに過去の日付を入力することで、任意の期間について表示することができます。

参考までに、下のグラフは2011年からの私のアセットアロケーションを示したものですが、今ではこの資産データそのものが貴重な資産になっていますし、こうやってデータがどんどん積み上がっていくのが嬉しくなります。

 

それでは、また。


人気ブログランキング
最後まで読んで下さりありがとうございます。



Posted by Econ