首页 > 编程语言 >Python随机波动率(SV)模型对标普500指数时间序列波动性预测|附代码数据

Python随机波动率(SV)模型对标普500指数时间序列波动性预测|附代码数据

时间:2023-10-10 23:56:54浏览次数:40  
标签:plot Python 模型 波动 SV returns 随机 标普

原文链接:http://tecdat.cn/?p=22546 

原文出处:拓端数据部落公众号

 最近我们被客户要求撰写关于随机波动率(SV)模型的研究报告,包括一些图形和统计输出。

资产价格具有随时间变化的波动性(逐日收益率的方差)。在某些时期,收益率是高度变化的,而在其他时期则非常平稳。随机波动率模型用一个潜在的波动率变量来模拟这种情况,该变量被建模为随机过程。下面的模型与 No-U-Turn Sampler 论文中描述的模型相似,Hoffman (2011) p21。

这里,r是每日收益率序列,s是潜在的对数波动率过程。

 

建立模型

首先,我们加载标普500指数的每日收益率。

   

returns = (pm.get_data("SP500.csv"))
returns[:5]

正如你所看到的,波动性似乎随着时间的推移有很大的变化,但集中在某些时间段。在2500-3000个时间点附近,你可以看到2009年的金融风暴。

 

   

ax.plot(returns)

指定模型。

   



GaussianRandomWalk('s', hape=len(returns))
nu = Exponential(  .1)
r = StudentT(  pm.math.exp(-2*s),
                    obs=returns)

 

拟合模型

对于这个模型,最大后验(Maximum A Posteriori,MAP)概率估计具有无限的密度。然而,NUTS给出了正确的后验。

   
pm.sample(tune=2000
Auto-assigning NUTS sampler...

  html
 

 

   
plot(trace['s']);

 

观察一段时间内的收益率,并叠加估计的标准差,我们可以看到该模型是如何拟合一段时间内的波动率的。

   
plot(returns)
plot(exp(trace[s]);

   
 np.exp(trace[s])

参考文献

  1. Hoffman & Gelman. (2011). The No-U-Turn Sampler: Adaptively Setting Path Lengths in Hamiltonian Monte Carlo.


最受欢迎的见解

1.HAR-RV-J与递归神经网络(RNN)混合模型预测和交易大型股票指数的高频波动率

2.WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较

3.波动率的实现:ARCH模型与HAR-RV模型

4.R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测

5.使用R语言随机波动模型SV处理时间序列中的随机波动率

6.R语言多元COPULA GARCH 模型时间序列预测

7.R语言基于ARMA-GARCH过程的VAR拟合和预测

8.R语言随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型

9.R语言对S&P500股票指数进行ARIMA + GARCH交易策略

标签:plot,Python,模型,波动,SV,returns,随机,标普
From: https://www.cnblogs.com/tecdat/p/17756065.html

相关文章

  • vsvim config 2023-10-10 23:30:10
    "=Extensions=====================================Plug'tpope/vim-surround'Plug'preservim/nerdtree'"=Basicsettings=====================================setclipboard+=unnamedsetignorecasesetscrolloff=30sethis......
  • Python爬虫必杀技:XPath
    XPath是什么XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言。XPath基于XML的树状结构,有不同类型的节点,包括元素节点,属性节点和文本节点,提供在数据结构树中找寻节点的能力。跟BeautifulSoup4一样都是用来解析页面内容的工具,只......
  • Python自动筛选、删除Excel不处于给定区间的数据
      本文介绍基于Python语言,读取Excel表格文件,基于我们给定的规则,对其中的数据加以筛选,将不在指定数据范围内的数据剔除,保留符合我们需要的数据的方法。  首先,我们来明确一下本文的具体需求。现有一个Excel表格文件(在本文中我们就以.csv格式的文件为例),如下图所示。  其中,Exc......
  • # yyds干货盘点 #盘点一个Python自动化办公Excel数据填充实战案例(下篇)
    大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Python自动化办公的问题,一起来看看吧。上一篇【论草莓如何成为冻干莓】大佬给出的方法太深奥了,粉丝没有看懂,这一篇文章,一起来围观大佬在粉丝的代码基础上进行修改出正确的代码。二、实现过程这里是【论草莓......
  • python读取excel测试用例数据
     #excel_readUtil.pyfromopenpyxlimportload_workbookimportpandasclassHandleExcel:"""封装excel文件处理类"""def__init__(self,filename,sheetname=None):"""定义构造方法:p......
  • PythonDay1
    编译型:如谷歌翻译器,英汉互译       解释型:如外交官一对一翻译python解释器下载官网:https://www.pyhton.org ---------Downloads(版本选择)  注释: ......
  • 记录python语言的数组去重并输出
    deffind_duplicates(arr):seen=set()duplicates=[]fornuminarr:ifnuminseen:duplicates.append(num)seen.add(num)returnduplicatesarr=['1000223453','1000227458','1000223......
  • python查找替换危险字符脚本
    为了沃滴好大儿的大创写了这么个脚本代码如下:1importio2importbase6434defreplace_dangerous_sequences(image_path):5try:6#读取图像文件的内容7withopen(image_path,'rb')asimage_file:8image_data=image_......
  • python计算 ico hash 值
    apt-getinstallpython3apt-getinstallpython3-pippipinstallmmh3importrequestsimportbase64importmmh3URL='https://www.baidu.com/favicon.ico'r=requests.get(URL)r1=r.contentr2=base64.encodebytes(r1)r3=mmh3.hash(r2)print('http.fav......
  • Python 常见排序:冒泡、选择、快速
    简单说明:1.冒泡排序:双层循环,交替结果2.选择排序:whilenums,假设第一个值为做小,通过for循环找到最小值以此来替换,再将nums中该值去掉继续上述步骤3.快速排序:定义一个初值,把整个数据列表分为两部分,再递归代码实现:#冒泡排序defaction1(n):foriinrange(len(n)):......