历史波动率(Historical volatility,简称HV)是对于某一证券或市场指数在一定时间内收益的离散程度的统计量。通常情况下,该统计量是通过计算给定时间段内金融标的收益偏离平均值的程度来确定的。使用标准差是最常见的计算历史波动率的方法。历史波动率数值越高,该证券风险就越高。但也意味着有可能获得更高的收益。

股票的历史波动率可以用标准差来衡量,通常使用对数收益率计算。公式如下:

其中,表示第 i 个时期的对数收益率,表示表示所有时期对数收益率的均值,N表示样本的数量。

Python代码实现如下:

import pandas as pdimport numpy as np# 读取股票数据df = pd.read_csv('stock_data.csv')# 计算对数收益率df['log_return'] = np.log(df['price']/df['price'].shift(1))# 计算历史波动率volatility = df['log_return'].std() * np.sqrt(242) print('历史波动率为:', volatility)

其中,stock_data.csv 文件包含了股票的价格数据,log_return 列是对数(每日)收益率,242 是按照国内一年 242 个交易日计算,这个值可以根据实际情况进行调整。最后输出的 volatility 就是股票的年化历史波动率。