1. 首页 > 知识问答

波动率计算(量化指标之收益波动率)

什么是收益波动率?

收益波动率是衡量金融资产收益的波动程度,反映金融资产的风险水平。

波动率越高,说明金融资产的收益波动越剧烈,其收益率的不确定越强。

举个例子,有A和B两只基金,A和B的年化收益率都是10%,但是A的波动率是0.1,B的波动率是0.2。这就意味着,B在这个期间收益不稳定性更高,如果你在这期间的某几个时间点买入卖出,收益存在更大的不确定性。因此,在相同年化收益率的情况下,一般都去选择A,也就是波动率更小的基金产品。

怎么计算年化收益波动率?

具体计算方法为股票或基金每日收益的年化标准差

 

利用Python计算某只基金的年化收益波动率

1、读取数据

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 绘图设置
%matplotlib inline
%config InlineBackend.figure_format = 'retina'
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.style.use('fivethirtyeight’)
# 读取数据
df = pd.read_csv('data/000001.csv')
df.head()

 

2、计算每日收益率

我们使用Pandas库中的pct_change函数,针对时间序列的金融数据十分方便地计算出日收益率。这里要注意pct_change函数的参数-1,用来控制函数计算顺序,表示第n行与第n+1行的差异率。

如果数据是按照时间从前往后重新排序,pct_change函数的参数需要设置为1,或者不传参,默认是1。

# 计算每日收益率
df['RETURNS'] = df['DWJZ'].pct_change(-1)
df.head()

 

3、计算年化波动率

波动率是针对某一个时间段来说的,我们这里选择100天,也就是说针对第N天,往前推100天,取这段时间的日收益率计算它的标准差,就得到了波动率,之后再年化。

# 计算波动率,然后根据均方根法进行年化
df['DEVIATION'] = df.sort_values(by='FSRQ')['RETURNS'].rolling(window=100).std() * np.sqrt(252)
df.head()

 

4、最后,我们画图更直观地展示这只基金的波动率

# 画图观察基金单位净值的变化趋势
df.plot(x='FSRQ', y='DEVIATION', title='基金波动率变化趋势', label='波动率')
plt.xlabel("时间")
plt.ylabel("波动率")
plt.show()

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站不拥有所有权,不承担相关法律责任。如发现有侵权/违规的内容, 联系QQ15101117,本站将立刻清除。

联系我们

在线咨询:点击这里给我发消息

微信号:666666