首页 > 编程语言 >python用回归、arima、随机森林、GARCH模型分析国债期货波动性、收益率、价格预测

python用回归、arima、随机森林、GARCH模型分析国债期货波动性、收益率、价格预测

时间:2023-01-04 23:44:18浏览次数:64  
标签:预测 ARIMA python 模型 arima 波动性 国债 GARCH

全文链接:http://tecdat.cn/?p=31123

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

分析师:Yihan Mao

解决方案

本文为客户提供咨询,让个人购买人员了解美国国债期货的特性,以便于进行个人投资及管理。

任务/目标

由于国债期货的方便,可以快速交易,所以无论是用来投机还是用来对冲风险都有很好的作用效果。我们提取美国国债期货的数据,进行波动性,收益率上的分析,并进行价格预测。

数据源准备

用python(import YahooFinance)获取美国国债期货近10年的数据作为基本分析数据。同时,由于国债期货的价格受到许多宏观因素的影响,所以并且还需要找到一些其他的影响要素,这里我们提取GDP,CPI,Treasury Yield(收益率)并作为我们的特征。

特征转换

数据预处理。datetime换成标准时间,算出日logreturn(log收益),分别算出15,50,100天的SMA与RSI加入到特征。画出boxplot,通过图过滤掉outliers跟一些不正常的点。用pandas筛选数据,填补过滤掉空数据。

分析收益

画出日收益率,寻找聚集波动性强的点,进行进一步分析。通过图看出在哪一段时间日收益较高,并且寻找近期事件发生的影响。我们发现存在收益相对较高,有投资价值。

分析波动性

波动性可以考虑为标准差的表现。首先直观观察,画出短期SMA与长期SMA,交点较多的地方为潜在波动性强的地方。再画出Bollinger Bands,密集的地方为波动性大的地方。

image.png

image.png

将这段时间发生的事情结合在一起分析,可以看出人们在发生经济变动的时候会选择用此国债期货进行风险转移。

 

建模分析

Regression Model:

由于特征数据有多重因素,我们可以一个多重线性回归。 通过画图scatterplot matrix我们发现,很多之间并不是线性,而且存在变量之间的线性关系(由于目标是预测,所以可以忽略),所以我们进行Box-Tidewell Transformation. 然后选取训练集合跟预测集合,建立模型进行回归预测。

ARIMA:

由于国债期货不是商品类型,所以我们不考虑季节性的变化。(ARIMA模型是指将非平稳时间序列转化为平稳时间序列,然后将结果变量做自回归(AR)和自平移(MA)。)

首先画图查看是否存在自相关。用ADF test来检测是否平稳,如果不平稳我们对其进行差分处理,知道检测P-value<0. 然后用Ljung-Box Test 检测白噪声,如果不是白噪声证明可以预测此时间序列。

image.png

接下来定阶。Auto-select得知选择ARIMA(1,1,1). 我们建立模型。并对模型进行residual分析,得知模型良好。

image.png

同时看出residual可以看做normal分布。

我们选择前80%的数据为训练集合,后20%为测试集合,建立预测。

1.png

可以看出预测值与实际值近似。如果假设经济状况平稳,没有重大事情发生的状况下(eg.covid-19),可以参考其变化来进行投机,实际上仍需考虑多方面宏观因素。

随机森林:

用随机的方式建立一个由很多决策树组成的,每一棵树都只负责自己的部分。每一棵树来进行自己的分类运算,最后选择评分最高的来进行预测。

image.png

GARCH模型:

金融市场有杠杆效应。方差并不是恒定的,ARCH模型是一个很好的解决方法。

由于国债期货长达30年,很多宏观因素的变化对其有很大的影响。

预测取决于我们的目的,如果我们的目的仅仅是投机,我们只需要观察价格的变化走势,同时受到一些宏观因素的影响。比如我们还可以通过画出RSI的变化,来训练什么时候应该买入卖出。

image.png

同时根据交易量(Volume)的变化可以看出人们的活动状况,尤其是在宏观事件影响的时候。这个对于风险管理有很重要的参考价值。

改进:

可以根据每周工作日设置indicator变量,更好的反应时间因素。同时可以设置他们的相互作用(interaction effect)。

选取的宏观因素可以进一步增加。

关于作者

image.png

在此对Yihan Mao对本文所作的贡献表示诚挚感谢,他毕业于厦门大学(马来西亚分校),专长金融数学,数据分析可视化。


1159375409-1536x1536.jpg

最受欢迎的见解

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

2.R语言改进的股票配对交易策略分析SPY—TLT组合和中国股市投资组合

3.R语言时间序列:ARIMA GARCH模型的交易策略在外汇市场预测应用

4.TMA三均线期指高频交易策略的R语言实现

5.r语言多均线量化策略回测比较

6.用R语言实现神经网络预测股票实例

7.r语言预测波动率的实现:ARCH模型与HAR-RV模型

8.R语言如何做马尔科夫转换模型markov switching model

9.matlab使用Copula仿真优化市场风险

标签:预测,ARIMA,python,模型,arima,波动性,国债,GARCH
From: https://www.cnblogs.com/tecdat/p/17026332.html

相关文章

  • Python的保留字、标识符、变量的定义、常用数据类型、数据类型转换
    Python包含的保留字可以执行如下命令进行查看:importkeyword#keyword关键词print(keyword.kwlist)#输出关键词运行结果:['False','None','True','and','as'......
  • Python Kconfiglib初次学习
    1参考kconfiglib库官方介绍:kconfiglib·PyPIKconfiglib源码:GitHub-ulfalizer/Kconfiglib:AflexiblePython2/3KconfigimplementationandlibraryKconfig语法......
  • Appium+python实践
    环境准备:https://www.cnblogs.com/yuntimer/p/17019315.html获取app的信息app入口,两种方式获取:1、通过logcat日志获取Mac/Linux: adblogcatActivityManager......
  • [oeasy]python0037_电传打字机_打印头_print_head_carriage_词源
    换行回车回忆上次内容上次我们diy了自己的小动物还可以让小动物变色、报时还可以说些话这很亚文化很酷炫的亚文化不是吗?回忆一下最开始研究报时......
  • python接口自动化系列 - openpyxl基本使用03
    一、openpyxl简单介绍一个Python库,用于读取/写入Excel2010 xlsx 、xlsm 、xltx 、xltm 文件不能操作 xls 文件Workbook:excel工作表Sheet:工作表中的一张表......
  • python接口自动化系列 - requests库的基础使用01
    一、安装利用pip安装:$pipinstallrequestsrequests方法法描述delete(url, args)发送DELETE请求到指定urlget(url, params,args)发送GET请求......
  • python爬取电影
    我们现在很多视频网站的电影都是由很多ts文件片段组成的,要想下载电影,就需要把这些ts文件片段全部下载下来,然后合成一部完整的电影这个程序配置好以下三个地方就可以下......
  • Python开发一个csv比较功能相关知识点汇总及demo
    Python2.7csv.reader(csvfile, dialect='excel', **fmtparams)的一个坑:csvfile被csv.reader生成的iterator,在遍历每二次时,内容为空iteratorAnobjectrepresentingastr......
  • SICP:符号求导、集合表示和Huffman树(Python实现)
    绪论到目前为止,我们已经使用过的所有复合数据,最终都是从数值出发构造起来的(比如我们在上一篇博客《SICP2.2:层次性数据和闭包性质(Python实现)》所介绍的链表和树就基于......
  • python模块(module)
    目录模块化(module)程序设计理念模块和包概念的进化史标准库模块(standardlibrary)为什么需要模块化编程模块化编程的流模块的API和功能描述要点模块的创建和测试代码模......