PyPortfolioOptで効率的フロンティアを求めてみる

ポートフォリオ理論で出てくる、効率的フロンティアを描くコードを PyPortfolioOpt + Plotly で書いてみましたよという記事です。

まずは結果から。Plotly を使った動的なグラフなのでこちらのページをご覧ください。以下のようなグラフが表示されます。

青い点のある右上に伸びるカーブが効率的フロンティアのグラフです。その後ろにある積み上げグラフがそのリスクでの各資産の割合です。マウスオーバーすると細かい値が表示されます。

上記グラフで使ったリターン、リスク、相関係数は以下のページの値を拝借しました。

効率的フロンティアの書き方を調べていると、実はこの相関係数が非常に重要ということがわかりましたが、それは後述します。

“PyPortfolioOptで効率的フロンティアを求めてみる” の続きを読む

accagg開発日記: viewerでグラフを描けるようになった

GWから作っていた Viewer ですが、ようやくグラフがかけるようになりました。

現状は以下のような感じです。

グラフ表示がようになった

Python3 + PySide2 (Qt for Python) で作ってます。まだ公開はできるレベルじゃないんですが、ここにくるまででも結構紆余曲折ありまして、その苦労話というか愚痴のエントリーです。

“accagg開発日記: viewerでグラフを描けるようになった” の続きを読む

accagg開発日記: パスワード管理とFactoryの導入

ちょっと間が空いてしまいましたが、ほそぼそと開発中です。

今まではパスワードをコードに直書きだったのですが、外部ファイルから読み出すようにしました。そのために PasswordManager というクラスを追加しました。PasswordManager.get(“アカウント名”) でパスワードなどの情報を Dictionary で返します。

また、Aggregatorクラスを生成するFactoryパターンを見様見まねで導入してみました。Factory.aggregator(“BANKID”) で、IDに応じた Aggregator を生成します。BANKIDはそのまま python のモジュール名にして BANKID.Aggregator のインスタンスを生成するようにしたので、Aggregator を追加しても Factory クラスに手を入れる必要はなく、簡単に Aggregator を追加できるようにしてみました。

例によって練習中のクラス図です。

“accagg開発日記: パスワード管理とFactoryの導入” の続きを読む