始める無料で始める

ポートフォリオ・シミュレーション - パート 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(____))
コードを編集して実行