#1 目的
ある銘柄について、一定期間のVolatilityを計算する。
#2 内容
#2-1 Volatilityの計算式
ある株式銘柄の価格について、任意の日の銘柄価格を$S_{i}$とするとき、前日との変化率$c_{i}$を下記のとおり定義する。
c_{i} = \biggl({\frac{S_i}{S_{i-1}}} \biggl)
このとき開始日からn営業日後までの株式銘柄のVolatilityを下記数式で定義する。
vol_{n} = \sqrt{\frac{1}{n} \sum_{i=1}^{n} {(c_{i}-\bar{c})}^{2}} ×\sqrt{256}
Volatility(年率換算)は、標準偏差×$\sqrt{256}$で算出されます。$\sqrt{256}$を乗算する理由は、年率換算(日にちベース)を行うためです。週ベースで年率換算を行う場合は$\sqrt{52}$を乗算します。
#2-2 Volatilityを計算するソースコード例
test.py
#volatirityを計算する関数。
def volatility(DF):
df = DF.copy()
df["daily_ret"] = DF["Close"].pct_change()
vol = df["daily_ret"].std() * np.sqrt(256)
return vol