ポートフォリオ・シミュレーション - パート I
この先のいくつかの演習では、株式ポートフォリオの期待リターンを計算し、その不確実性を把握します。
あなたは複数の銘柄から成るポートフォリオに $10,000 を投資しています。今後10年間のパフォーマンスを評価したいとします。全体の期待収益率とボラティリティ(収益率の標準偏差)を調整できます。収益率は正規分布に従うと仮定します。
まず、元本(初期投資額)、年数、期待収益率、ボラティリティを入力として受け取り、10年後のポートフォリオの総額を返す関数を書きましょう。
この演習を終えると、ポートフォリオのパフォーマンスを判定するために呼び出せる関数が完成します。
この演習はコースの一部です
Pythonで学ぶ統計シミュレーション
演習の手順
- 関数定義では、4つの引数を受け取ります。年数
yrs、期待収益率avg_return、ボラティリティsd_of_return、元本(初期投資額)principalです。 - 各年の
rates(収益率)を正規乱数としてシミュレーションします。 end_returnを入力のprincipalで初期化します。forループでは、毎年その年の収益率でend_returnを積み上げます。portfolio_return()を使ってresultを計算し、出力してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# rates is a Normal random variable and has size equal to number of years
def portfolio_return(____):
np.random.seed(123)
rates = ____(loc=avg_return, scale=sd_of_return, size=yrs)
# Calculate the return at the end of the period
end_return = ____
for x in rates:
end_return = end_return*(1+____)
return end_return
result = portfolio_return(yrs = 5, avg_return = 0.07, sd_of_return = 0.15, principal = 1000)
print("Portfolio return after 5 years = {}".format(____))