各銘柄がインデックスに与えた寄与を計算する
バリュー加重インデックスの構築に成功しました。次は、2010〜2016年の期間にどのようなパフォーマンスだったかを確認しましょう。
あわせて、各銘柄がインデックスのリターンにどれだけ寄与したかも求めます。
この演習はコースの一部です
Pythonでの時系列データ操作
演習の手順
pandas は pd、matplotlib.pyplot は plt としてすでにインポート済みです。前の演習で扱った components と index も読み込んであります。
- 最初に、
indexの最後の値を最初の値で割り、1 を引いて 100 を掛けます。結果をindex_returnに代入し、表示してください。 componentsから'Market Capitalization'列を選択します。- すべての構成銘柄の総時価総額を計算し、
total_market_capに代入します。 - 各銘柄の時価総額を
total_market_capで割って構成比(ウェイト)を計算し、weightsに代入します。既定(昇順)で値をソートしたweightsを表示してください。 weightsにindex_returnを掛けて銘柄別の寄与度を計算し、値を昇順に並べ替えて、横向きの棒グラフとしてプロットしてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Calculate and print the index return here
index_return = ____
print(____)
# Select the market capitalization
market_cap = ____
# Calculate the total market cap
total_market_cap = ____
# Calculate the component weights, and print the result
weights = ____
print(____)
# Calculate and plot the contribution by component