この記事では、Pythonや投資初心者でもできるように、株式投資の資産管理のひとつの考え方であるポートフォリオ理論をレクチャーしていきます!
(記事にでてくるコードは配布しております。まとめにあるリンクからダウンロードください。)
本記事は、全4回に渡って掲載される「Pythonによるポートフォリオ理論 株式投資の資産管理をレクチャー! 」シリーズの第1回になります!
株式投資の資産管理の考え方であるポートフォリオ理論を理解すれば、実際に株式投資をする上でリスクがない投資をおこなうことができるようになります。
それだけでなく、本記事ではPythonをつかい分析をするため 投資だけでなくプログラミングのスキルも磨けます!
今回のシリーズは大学のファイナンス入門の講義レベルを扱っているのて、お金の知識をつける上で教覚えて損はないです!
それでは一緒にまなんでいきましょう!
Pythonで資産管理の考え方『ポートフォリオ理論』を学習しよう!

分析に強いプログラミング言語であるPyrhonで、ポートフォリオ理論を勉強していきましょう!
ポートフォリオ理論とは、投資をする際にリスクを小さくするため、保有する株を増やしたり株ごとの保有比率を操作する、といったことを理論化したものです。
実は、投資信託のインデックス運用やETFなどにもポートフォリオ理論が利用されており、
これらの証券は、リスクが小さいメリットから銀行や証券会社に初心者にオススメされています。
そんな、投資の世界で愛されているポートフォリオ理論を、Pythonでおこなう上で、今回はJupyter Notebook(ジュピター・ノートブック)を開発環境に学習していきます!
ポートフォリオ理論とは
ポートフォリオ理論について説明する前に、そもそもポートフォリオは何なのか説明します。
例えば、A社の株とB社の株を保有しているとします。
このとき、A社の株が下落し損失を出したとしても、B社が上昇し利益を出せば資産を守ることができます。
このように、投資先を分散しポートフォリオを組むことでリスクを小さくすることができることを理論化をしたものを、ポートフォリオ理論といいます。


インデックス投資が初心者投資家に良いとされている理由
インデックス投資が良いとされる理由は、まさにポートフォリオ理論に沿った投資方法であるからです。
インデックス投資は、多くの株式を個々の保有率が少ない形で投資できる、といっても良いです。(例えば、日経平均のように225銘柄の値動きを反映することができるため。)
そのため、個別銘柄を買うよりリスクを小さくすることができるので、初心者が感覚で企業を選ぶよりずっと良いというわけです。
分析の準備、Jupyter Notebook(ジュピター・ノートブック)を使う
今回、Pythonで資産管理を学ぶに当たって、Jupyter Notebook(ジュピター・ノートブック)を開発環境として学習をしています。
ブラウザ上で動作するプログラム実行ツールです。
教育機関や研究機関でも広く使われており、Pythonでデータ分析を行うには欠かせないツールとなっています。
Pythonをつかってリスク・リターンを理解しよう(リターン編)
今までの文章でリスク・リターンという言葉をつかっていましたが、
日常生活におけるリスク・リターンと投資におけるリスク・リターンの考えは少々異なります。
そのため、今後記事中にリスク・リターンという言葉を使う中で誤解を生まないよう一旦ここでリスク・リターンについて説明していきます!
まずは、リターンについて説明していきます!
リターンとは
リターンの説明にある投資収益率とは、投資したさいどのくらい収益をもたらすのか大小問わず比較できるよう率で表したものです。
また、リターンの代表する数値として、平均投資収益率を利用していることが多いです。
リターンは期待収益率
リターンの重要な考え方で、リターンは期待収益率という考え方があります。
つまり、リターンは予想通りになる/ならない可能性があるということです。
これが、投資がギャンブルと言われてしまう理由です。
しかし、投資が投資と呼ばれるのは、長期的みて利益をもたらすからというのがあるため、ここまで体系化されたというのは言うまでもないです。
Pythonでリターンを求める
それでは、実際に試しでリターンを求めていきましょう!
まずは、デスクトップにコードファイルを入れるフォルダを作成します。
その後、下記のURLからファイルをダウンロードしフォルダに入れます。
https://drive.google.com/drive/folders/17CWTbpB0GEGJ4hg7KPg2-r00Z2492xZw?usp=sharing

その後、ファイルを開き表を確認します。

今回、2つの証券が好景気・不景気でそれぞれ収益率が変わる場合を想定しています。
このとき、リターンは以下のように計算することができます。
つまり、あることが起こる確率/起こった場合収益率1つ1つの合計がリターンであるということです。
実際に、二つの証券のリターンを求めます。

今回の場合、証券2の方がリターンが高いということがわかります。
加えて、証券2の方がリスクも高いです。
なぜそう言えるのか、そもそもリスクとは何なのかみていきましょう!
Pythonをつかってリスク・リターンを理解しよう(リスク編)
次に、投資におけるリスクの考え方について学んでいきましょう。
リスクとは
代表する数値(=平均収益率など)から離れている程度(思惑通りに行かない程度)を示す数値
リスクは、リターンである予想数値に対してその予想数値にいかない可能性を示しています。
リスクは損失を指すものではない
投資におけるリスクの重要な考え方で、リスクは単に損失を示すものではないという考え方があります。
リスクは、予想通りの未来に確実になるとは限らないもの(不確実性)に対して言います。
例えば、リターンが必ずプラスだったとしても、予想以上/以下のプラスの場合、投資ではリスクがあるといいます。
また、別の例として、確実に一定のマイナスの投資収益率 (確実に一定の損失が発生する)の場合、投資ではリスクがないといいます。
このように、リスクは単なる損失を指さず、あくまでも予想通りにいかないことに対して指すことに注意しましょう。


Pythonでリスクを求める
それでは、実際に試しにリスクを求めていきましょう!
このとき、リスクは以下のように計算することができます。
- リスク(分散)= 好景気の確率×(好景気のときの収益率 – リターン)^2 + 不景気の確率×(不景気のときの収益率 – リターン)^2
- リスク(標準偏差)= √リスク(分散)
つまり、好景気不景気どちらも起こったときに、それがどれだけリターンより離れているのか数値化したものがリスクということです。
ちなみに、リスク(分散)とリスク(標準偏差)どちらもある理由としては、標準偏差も分散と同じ目的(リスクを数値化する)で作られているので、どちらか一方のみをリスクとするのは難しいからです。
実際に、二つの証券のリスクを求めます。

今回の場合、証券2の方がリスク高いということがわかります。
まとめ
第1回では、
- ポートフォリオ理論とはなにかザックリ理解する
- 投資におけるリターンとはなにか理解する
- 投資におけるリスクとはなにか理解する
といったことをレクチャーしました!
次回は、今回もとめた2つの証券のリターンにおけるリスクの相互関係を理解していきます。
その後、2つの証券でポートフォリオを組み、リターンとリスクがどのように変化していくのか学んでいきます!
今回のシリーズを通し、自分なりの株式投資のポートフォリオを組んでいきましょう!
記事にでてくるコードはLINE@にて配布をしております!
ラインのメッセージ欄に「python」とお送りいただければ、ダウンロードリンクを送付いたします!