この記事では、Pythonや投資初心者でもできるように、株式投資の資産管理のひとつの考え方であるポートフォリオ理論をレクチャーしていきます!
(記事にでてくるコードは配布しております。まとめにあるリンクからダウンロードください。)
本記事は、全4回に渡って掲載される「Pythonによるポートフォリオ理論 株式投資の資産管理をレクチャー! 」シリーズの第2回になります!
今回は、前回の記事で求めた2つの証券をまた使い、様々な分析をしていきます。
まず2つの証券のリターンにおけるリスクの相互関係を理解していきます。
これにより、時期(好景気/不景気)によっての、証券1の投資収益率と証券2の投資収益率の関係性をみていきます。
その後、2つの証券でポートフォリオを組み、リターンとリスクがどのように変化していくのか学んでいきます!
この変化をみることにより、個別銘柄にひとつ投資するのではなくポートフォリオを組むことがリスクを減らす上で有効であることがわかります!
それでは一緒に学んでいきましょう!!
Pythonで2つの証券の関係性を理解しよう!

前回の記事で求めた、2つの証券の関係性を理解していきます。
2つの証券の関係性とは、時期ごとに「証券1/証券2が上昇/下落する」といった値動きの関係性です。
これを理解することで、リスクを押さえた投資戦略を考えるヒントを得ることが出来ます!
まずは、2つの証券のリターンにおけるリスクの相互関係を理解していきます。
今回は好景気/不景気により、証券1の投資収益率の証券2の投資収益率の関係性をみます。
時期によって、同じ方向に価格が変動するのかまったく別の動きをするのかみていき、ポートフォリオを組む準備をしていきます。
まずは、第2回のコードファイルを下記のURLより取得していき、Pythonでの学習をしていきます!
https://drive.google.com/drive/folders/17CWTbpB0GEGJ4hg7KPg2-r00Z2492xZw?usp=sharing

散布図で2つの証券のリスクの相互関係をみる
それでは、まず散布図で2つの証券のリスクの相互関係をみていきましょう!
散布図は視覚的に関係性をみる上で有効な手段です。
例えば、好景気のとき証券1がプラスに対して証券2がプラスの場合、なんとなく同じ値動きなのではと予想がつきます。
実際にやってみましょう!
第1回と同じ条件の証券1,2の表をもとに、散布図を作成します。

描画ライブラリを用いて、散布図を作成していきます。

今回は、X軸が証券1の収益率、Y軸が証券2の収益率としました。
これをみるに、証券1がプラスのとき証券2がマイナスになり、証券1がマイナスのとき証券2がプラスになっていることがわかります。
この結果から、証券1と証券2の間に反対の値動きをする関係性があるのではと予想されます。
今度は、これを数値的にみていきます。
数値化し2つの証券のリスクの相互関係をみる(1)
数値化し、2つの証券のリスクの相互関係をみていきましょう。
数値化する上で今回は、共分散をもとめていきます。
証券1,証券2といった2つの資産の投資収益率が、どの傾向でどの程度平均(リターン)より離れているのかしているのか数値化したもの。
共分散の説明にある”どの傾向”とは、平均(リターン)との離れている傾向を指します。
イメージ、2つの証券の間の関係性の方向性(プラスやマイナス)です。
また、共分散の説明にある”どの程度”とは、平均(リターン)との離れている程度を指します。
言うなれば、2つの証券の間の関係性の強さ(大きさ)です。
例えが難しいのですが、数値をみると理解が進むので計算していきます!
計算方法は以下の通りです。
好景気の確率×(証券1の好景気の予想投資収益率一証券1のリターン)×(証券2の好景気の予想投資収益率一証券2のリターン) +不景気の確率×(証券1の不景気の予想投資収益率一証券1のリターン)×(証券2の不景気の予想投資収益率一証券2のリターン)


実際に共分散を求めます。
相関係数を求める上でリターンが必要なので、まずは第1回と同じくリターンを求め計算します。

結果をみるに、2つの証券には、マイナスの傾向(逆の動きをする関係性)にあり、それが32(数値)の程度である、ということがわかります。
今の段階では、2つの証券の関係性を傾向や程度といった点から分析できるということだけ理解するだけで大丈夫です!
数値化し2つの証券のリスクの相互関係をみる(2)
さきほど、共分散を求めていき関係性を数値化しました。
このとき、傾向や程度といった2つの情報を含んでいるので、慣れていないと使いにくい(かも)です。
これに対して、相関係数と呼ばれる、傾向だけに絞った関係性の確認方法もあるため、みていきましょう!
共分散の情報をもとに傾向だけを示す指標
共分散の結果をもとに、傾向の部分のみに特化したのか相関係数です。
= 証券1と証券2の共分散/(証券1の標準偏差 * 証券2の標準偏差)
実際に相関係数を求めます。
相関係数を求める上で標準偏差が必要なため、まずは第1回と同じくリスク(標準偏差)を求めます。

その後、相関係数を求めていきます。

結果をみるに、2つの証券に強い負の相関関係(逆に値動きをする傾向が高い)にあることがわかります。
Pythonで2つの証券のポートフォリオリターンとリスクを確認しよう!
2つの証券の相互関係がわかった上で、ポートフォリオを組み、ポートフォリオを組んだ時のリターンやリスクを確認しましょう!
2つの証券のポートフォリオリターンを求める
今回は例として、
- 証券1を50%
- 証券2を50%
の投資比率で割り当ててポートフォリオを組みます、
資本100万円を証券1に50万円、証券2に50万円投資するイメージです。
= 証券1の投資比率 * 証券1のリターン + 証券2の投資比率 * 証券2のリターン
実際にポートフォリオリターンを求めます。

結果をみるに、ポートフォリオリターンは3.0%と出ました。
これは証券2のリターンである4.0%より低い数値ですが、その分リスクがかなり低くなっています。(第1回で求めた証券1,2のリスクより低い程度です)
次にリスクを確認し、どれだけリスクが低くなっているのか確認しましょう!
2つの証券のポートフォリオリスクを求める
ポートフォリオリターンがわかったところで、ポートフォリオリスクを求めていきます。
ポートフォリオリスクはやや特殊な方法で求めていきます。
まず、以下のような分散や共分散といったリスクを意味する表を作成します。

その後、証券1証券2それぞれに投資比率を掛けていきます。

この表にある、投資比率をかけた証券1の分散,投資比率をかけた証券2の分散,投資比率をかけた共分散の合計がポートフォリオリスクです!
= 証券1の投資比率 * 証券1の投資比率 + 証券1の分散 + 証券2の投資比率 * 証券2の投資比率 + 証券1の分散 + 2 * 証券1の投資比率 * 証券2の投資比率 * 証券1,2の共分散 (投資比率をかけた共分散は2つあるため)
実際にポートフォリオリスクを求めます。

結果をみるに、分散によって表されるリスクは 4.0(%^2) 、標準偏差によって表されるリスクは 2.0%となりました。
これは、第1回で求めたリスクよりかなり低いです。(下記の画像を参照)

このように、ポートフォリオを組むことでリスクを小さくすることができます!
2つの証券のポートフォリオリターンとリスクを描画する
さきほど、ポートフォリオを組むことでリスクを減らせることがわかりました。
しかし、まだどの程度に投資比率により、リターンやリスクがどのように変化するのか、といった具体的なところはしていません。
そうした、投資比率によるターンやリターンの変化を、描画させて確認しましょう!
下記のようなコードを書き、投資比率によるリスクとリターンの関係性を確認します。



このように、投資比率を変えることでリスクとリターンが変化していることがわかります。
こうした変化から、リスクとってリターンを大きくしたい、なるべくリスクを小さくして資産を守りたい、といった戦略が考えられますね!
2つの証券のポートフォリオリスクの最小を求める
最後に、2つの証券のポートフォリオリスクが最小になる投資比率を求めていきます。
リスクが最小になる、ということはリターン(投資収益率)が予想通りに一番なりやすくなる、ということです。
これを求めることで、資産をより安定に運用することができます。
実際にポートフォリオリスクの最小を求めていきましょう。
2つの証券のポートフォリオリスクの最小化は以下の計算式です。
証券1の投資比率 = (証券2のリスク(分散)- 共分散) 証券2の投資比率 = 1.0 – 証券1の投資比率
/ (証券1のリスク(分散)+ 証券2のリスク(分散)- 2 * 共分散)
この求め方は、ラグランジュアンの未定乗数法と呼ばれる、大学の経済学で学ぶ計算方法を使用していますので、説明は割愛します。
詳しく知りたい方は、PDFを作成しましたのでそちらからご覧ください。
https://drive.google.com/file/d/1YkqDSuz5LdM_fh-765NUY5BArnUkNTd4/view?usp=sharing
実際にポートフォリオリスクの最小を求めていきます!

結果をみるに、証券1に67%証券2に33%投資することでリスクを最小にすることができます!
まとめ
第1回では、
- Pythonで2つの証券のリターンにおけるリスクの相互関係を理解する
- Pythonで2つの証券のポートフォリオリターンとリスクを確認する
といったことをレクチャーしました!
次回は、今回ポートフォリオを組むことでリスクが小さくなることが分かったことを踏まえ、3つ以上の証券の最もリスクの小さい組み合わせを求めていきます!
加えて、「シャープ・レシオ」を呼ばれるポートフォリオのパフォーマンスを調べる指標についても学んでいきます!
今回のシリーズを通し、最終的に自分なりの株式投資のポートフォリオを組んでいきましょう!
記事にでてくるコードはLINE@にて配布をしております!
ラインのメッセージ欄に「python」とお送りいただければ、ダウンロードリンクを送付いたします!