金融リターン

Pythonで学ぶポートフォリオ・リスク管理入門

Dakota Wixom

Quantitative Analyst | QuantCourse.com

コース概要

投資リターンの分布を分析し、ポートフォリオを構築してリスクを低減し、リターンを左右する主要因子を特定する方法を学ぶ。

  • 単一資産の投資リスク
  • ポートフォリオ投資
  • ファクター投資
  • リスクの予測と低減
Pythonで学ぶポートフォリオ・リスク管理入門

投資リスク

リスクとは何か?

  • 金融市場におけるリスクは不確実性の尺度である
  • 金融リターンの分散またはばらつき

リスクの一般的な測定方法

  • 日次リターンの標準偏差または分散
  • 日次リターン分布の尖度
  • 日次リターン分布の歪度
  • 過去の最大ドローダウン
Pythonで学ぶポートフォリオ・リスク管理入門

金融リスク

リターン

確率

Pythonで学ぶポートフォリオ・リスク管理入門

2種類のリターン

  • リターンは株価から導出される
  • 離散リターン(単純リターン)は最も広く使われており、定期的な(例:日次、週次、月次など)価格変動を表す
  • 対数リターンは学術研究や金融モデリングで頻繁に用いられ、連続複利を前提とする

Pythonで学ぶポートフォリオ・リスク管理入門

株式リターンの計算

  • 離散リターンは、前期の価格に対する価格変化の割合として計算される

Pythonで学ぶポートフォリオ・リスク管理入門

対数リターンの計算

  • 対数リターンは、2つの価格の対数の差として計算される
  • 対数リターンは時間方向に集計でき、離散リターンは資産間で集計できる

 

$$ Rl = \ln(\frac{P_{t_2}}{P_{t_1}}) $$

または同等の表現として

$$ Rl = \ln(P_{t_2}) - \ln(P_{t_1}) $$

Pythonで学ぶポートフォリオ・リスク管理入門

Python での株式リターンの計算

ステップ 1:

株価データを読み込み、日付順に整理した pandas DataFrame として格納する:

import pandas as pd 
StockPrices = pd.read_csv('StockData.csv', parse_dates=['Date'])
StockPrices = StockPrices.sort_values(by='Date')
StockPrices.set_index('Date', inplace=True)
Pythonで学ぶポートフォリオ・リスク管理入門

Python での株式リターンの計算

ステップ 2:

調整済み終値の日次リターンを計算し、DataFrame に新しい列として追加する。

StockPrices["Returns"] = StockPrices["Adj Close"].pct_change()
StockPrices["Returns"].head()

Pythonで学ぶポートフォリオ・リスク管理入門

リターン分布の可視化

import matplotlib.pyplot as plt
plt.hist(StockPrices["Returns"].dropna(), bins=75, density=False)
plt.show()

Pythonで学ぶポートフォリオ・リスク管理入門

練習してみましょう!

Pythonで学ぶポートフォリオ・リスク管理入門

Preparing Video For Download...