[The Path to QUANT] 《Volatility Trading》by Euan Sinclair 读书笔记 Chapter 3

Chapter 3 收益率和波动率的典型事实

《波动率交易》一书阅读笔记,交叉参照英文原版及机械工业出版社翻译版。
Chapter3勘误:中文版翻译杠杆效应时,原文写作:“Assuming no debt is issued, a fall in the stock price causes the company’s financial leverage to increase, which increases its risk.”此处应理解为:当没有新发行债务时,股价下跌会导致杠杆上升,从而增加风险,导致高波动率。而非翻译的“假设没有债务时……”
本章主要定性地讨论了一些empirical的事实,作者将其认为是一个在金融市场上相似的,具有共性的,统计显著的特征。这些特征无法定量精确地描述,但是了解类似的特征可以在波动率交易中有一个经验上的指导。
需要注意的是,由于原书作者对传统close-to-close波动率估计的不认可,所以书中的波动率多数使用了第二章提出的绝对收益率计算方法,即取收益率的绝对值的均值后乘以19.896。在我自己的实证检验中,将不对不同的波动率计算方法做出区分,统一使用传统方式计算波动率。对于两种不同波动率计算方法得到的差异,可以参见第二章读书笔记中的分析。

典型事实列表

  • 波动率并非常数,存在均值复归,聚集和记忆性。
  • 大收益率会发生的相对频繁,大的波动后会有后续的波动(肥尾效应)。
  • 大多数市场中,波动率与收益率呈负相关。这个效应是非对称的:负收益会导致波动率快速上升,正收益会导致波动率小幅下降。这点在股票中体现尤为明显。
  • 波动率和成交量有很强的正相关性。
  • 波动率的分布接近对数正态分布。

波动率并非常数

波动率是常数是很多经典模型的基础假设,但是显然在实务中这个假设很难成立。书中对方差进行了时间序列分析,尝试使用上证指数复现了两个基本情况。
选取30天的年化波动率,可以看出大的波动后会紧接大的波动,小的波动后也会紧接小的波动。

import tushare as ts
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df = ts.get_hist_data('sh')[['open', 'close']]  # 选取上证指数的开盘/收盘价
df['log_return'] = np.log(df['close']/df['close'].shift(-1))  # 计算对数收益率
df['volatility'] = df['log_return'].rolling(
    21).std().shift(-20)*np.sqrt(244)  # 年化30天波动率
df.dropna(inplace=True)


plt.xticks([])
plt.xlabel('2017/01/18-2019/06/17')
plt.ylabel('volatility')
plt.title('SH_000001 close-close return_volatility')
plt.plot(df.index, df['volatility'])
# plt.savefig('SH_index_vol.png')
plt.show()

30天年化波动率
显然波动率并不平稳。
对波动率进行一阶差分后做ADF检验,发现一阶差分后的波动率已经平稳。(其实从图像上看是存在conditional heteroscedasticity的,但是这里不做后续处理。)

from statsmodels.tsa.stattools import acf, pacf, adfuller
plt.xticks([])
plt.title('volatility after first-difference')
plt.plot(df.index, df['first_diff'])
# plt.savefig('vol_stationary.png')
plt.show()

df['first_diff'] = df['volatility'].diff(-1)
df.dropna(inplace=True)
adfuller(df['first_diff'])

一阶差分波动率

Augmented Dickey-Fuller test results:
test statistic: -6.12649764466
p-value: 8.6038491076e-08
used lags: 17
number of observations: 561
critical values (1%): -3.442060292264578
critical values (5%): -2.866705729876777
critical values (10%): -2.569521171354946

通过以上观察可以看出,波动率存在显著的自相关性,即波动率聚类。同时波动率也具有记忆性。
此外,书中给出其他一些事实:

  • 成熟市场的波动率聚集比新兴市场明显
  • 熊市中波动率聚集比牛市中明显,但衰减速度也更快
  • 在暴跌或其他大的恐慌期间,自相关性衰减最快

波动率同样存在均值复归。但是,确定波动率的真实均值是不可能的。在不同期限内,可以观测到波动率都在对应的区间内产生均值复归,但是不同区间的均值往往也大不相同。

收益率分布

实际上,收益率并不服从正态分布。对证指数收益率作图,比较使用同样均值方差得出的正态分布图像,可以明显看出收益率呈现左偏的尖峰厚尾。

import matplotlib.mlab as mlab

plt.title('log_return versus normal distribution')
plt.hist(df['log_return'], bins=50)
plt.hist(np.random.normal(df['log_return'].mean(),
                          df['log_return'].std(), len(df)), bins=50)
plt.legend(['log_return', 'normal_distribution'])
plt.savefig('log_distribution.png')
plt.show()

收益率分布
书中给出了这种现象的几个解释,例如影响股价的事件通常在收盘后公布,因此隔夜收益率会带来较多峰度。此外,当合约标的价格下跌时,波动率趋向于上涨。这是由于当当前债务不发生变化时,股价的下跌会导致权益下降,杠杆上升,从而提高公司整体风险,导致波动率的上升。这个情况被称作杠杆效应。

成交量和波动率

成交量和波动率是互相影响的。成交量会推动合约标的的价格变化,从而产生波动率。同时,波动率也会诱使投资者进行交易,从而增加成交量。
此外成交量与波动率的关系也与杠杆效应有一定联系,但是这个思路没有进一步发展。无论如何,在预测波动率时,考虑成交量的因素是有必要的。

波动率分布

大量的研究都认为,波动率的分布是对数正态的。但也有研究认为波动率的尾部可以用幂律分布描述。
对于波动率来说,分布的特定形式并没有那么重要,重要的是需要认识到相比于正态分布,波动率的分布会严重右偏,即发生高波动率的频率会更高。
另外,波动率在牛市和熊市中的分布也不尽相同。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值