【R语言实战】——金融时序分布拟合

🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972

   个人介绍: 研一|统计学|干货分享
         擅长Python、Matlab、R等主流编程软件
         累计十余项国家级比赛奖项,参与研究经费10w、40w级横向

文章目录

  • 1 加载相关包
  • 2 对数收益率可视化
    • 2.1 对数收益率时序可视化
    • 2.2 对数收益率直方图
  • 3 正态分布拟合
    • 3.1 拟合均值及标准差
    • 3.2 拟合AIC值
    • 3.3 拟合密度估计值及对数收益率范围
    • 3.4 拟合经验密度及正态分布曲线
  • 4 假设检验
    • 4.1 t检验
    • 4.2 偏度t统计量
    • 4.3 偏度P值
    • 4.4 峰度t统计量
    • 4.5 正态分布检验

该篇文章实现了对深证综指收益率数据进行分布拟合,首先对原始数据进行对数收益率计算,然后实现对数收益率数据的时序可视化及直方图展示。然后完成正态分布拟合的相关操作:均值;标准差;AIC值;密度估计值;对数收益率范围;经验密度及正态分布曲线。最后对对数收益率数据进行相关检验操作:t检验、偏度统计量计算及偏度检验;峰度统计量计算及峰度检验;正态分布检验。

1 加载相关包

rm(list=ls()) #清空变量
library("openxlsx") #加载包
library("knitr")    #加载包
library("xlsx")     #加载包
library("tseries")  #加载包

2 对数收益率可视化

2.1 对数收益率时序可视化

  运行程序:

#加载包
data<-read.xlsx("F:\\2021-03-15 上证指数,深证综指日交易数据.xls",'Sheet1',encoding ="UTF-8")#读取数据
rt=log(data$收盘价.元.点._ClPr)-log(data$昨收盘.元.点._PrevClPr)#对数收益率
rt=na.omit(rt)                                                  #清除缺失数据
rt1=ts(rt,start =c(1991,4,4),frequency = 244)                   #转化为时序数据
plot(rt1,sub="图1 深证综指日对数收益率时序图")

  运行结果:

  首先由收益率公式:

r t = l n P t P t − 1 = l n P t − l n P t − 1 r_t=ln \frac{P_t}{P_{t-1}}=lnP_t-lnP_{t-1} rt=lnPt1Pt=lnPtlnPt1

  计算深证综指日对数收益率,并对缺失值进行处理,得到从1991-2021年深证综指的对数收益率共7379个观测值。由于该证券数据一年多为244天,故以244天作为1年绘制证券收益率时序图(图1),接下来利用清洗过后的数据进行其分布拟合。

2.2 对数收益率直方图

  运行程序:

library(MASS)#加载包
hist(rt,nclass = 30,sub="图2 1991-2021年深证综指的对数收益率直方图")   #1991-2021年深证综指的对数收益率直方图

  运行结果:

  图2显示1991-2021年深证综指的对数收益率直方图,它通过将数据划分为30个子区间而得到。由图2可知,日对数收益率曲线关于它的零均值近似对称。

3 正态分布拟合

3.1 拟合均值及标准差

  运行程序:

fit1=fitdistr(rt1,densfun = "normal") #拟合正态分布
E=fit1$estimate
E                                     #拟合均值及标准差           

  运行结果:

##         mean           sd 
## 0.0004303541 0.0214256749

3.2 拟合AIC值

  运行程序:

AIC(fit1)                             #AIC值

  运行结果:

## [1] -35559.41

3.3 拟合密度估计值及对数收益率范围

  运行程序:

d1=density(rt1)                       #获得密度估计值
range(rt1)                            #深证综指的对数收益率范围

  运行结果:

## [1] -0.2061087  0.2722098

3.4 拟合经验密度及正态分布曲线

  运行程序:

x=seq(-.2,.2,by=0.001)
y1=dnorm(x,E[1],E[2])                 #输出满足正态分布的概率密度值
plot(d1$x,d1$y,xlab="rtn",ylab="density",type="l",sub="图3 日对数收益率的经验密度曲线及正态分布密度曲线")
lines(x,y1,col=2,lty=2)               #对数收益率的经验密度函数及正态分布的密度函数

  运行结果:

  其中黑色线曲线为日对数收益率的经验密度曲线,红色虚线曲线为拟合的正态分布的密度曲线。

4 假设检验

4.1 t检验

  运行程序:

library(fBasics)
t.test(rt)                            #在0.05的显著性水平下,均值为0

  运行结果:

## 
##  One Sample t-test
## 
## data:  rt
## t = 1.7201, df = 7334, p-value = 0.08545
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
##  -0.0000600836  0.0009207918
## sample estimates:
##    mean of x 
## 0.0004303541

4.2 偏度t统计量

  运行程序:

s3<-skewness(rt)[1] 
t<-length(rt)
t3<-s3/sqrt(6/t)
t3                                    #偏度t统计量

  运行结果:

## [1] 13.39004

4.3 偏度P值

  运行程序:

pp<-2*(1-pnorm(t3))  
pp                                    #偏度p值,小于0.05,拒绝原假设

  运行结果:

## [1] 0

4.4 峰度t统计量

  运行程序:

s4<-kurtosis(rt)[1]
t4<-s4/sqrt(24/t)                     #峰度t统计量
t4                                    #值是巨大的,拒绝原假设,有厚尾部

  运行结果:

## [1] 246.7373

4.5 正态分布检验

  运行程序:

normalTest(rt,method = "jb")          #p<0.05,拒绝原假设

  运行结果:

## 
## Title:
##  Jarque - Bera Normalality Test
## 
## Test Results:
##   STATISTIC:
##     X-squared: 61098.91
##   P VALUE:
##     Asymptotic p Value: < 2.2e-16 

  拟合正态分布得到估计均值为0.00043,估计标准差为0.021。且AIC值为-35559.41,具有较好的拟合度。图3的实线列出了深证综指的日对数收益率的经验密度函数,通过用非参数的平滑方法得到。图3的红色虚线显示了深证综指的日对数收益率正态分布的密度函数,它们具有相同的均值和标准差,根据图3可以看到,和正态分布相比,经验密度函数具有更高的峰值和更厚的尾部。表明深证综指的日对数收益率是非正态的。结合正态性检验发现,JB检验的p值为 2.2 × 1 0 − 6 2.2×10^{-6} 2.2×106,远小于0.05,在0.05的显著性水平下拒绝服从正态分布的原假设,表明经验密度函数结果与正态性检验结果一致。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/740279.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android audiotrack尾帧无声

前言 产品一直有用户反馈音频截断问题。在机遇巧合下现学现卖音频知识处理相关问题。 问题描述 我们查看以下简化播放器代码&#xff1a; class AACPlayer(private val filePath: String) {private val TAG "AACPlayer"private var extractor: MediaExtractor? …

TortoiseSVN 报错:The server unexpectedly closed the connetion

前言 CentOS7Linux 安装subversionmod_dav_svn&#xff0c;搭建subversion(svn)服务器 The server unexpectedly closed the connetion 解决办法 重启Apache服务 shell> systemctl restart httpd

uniapp—day02

个人名片&#xff1a; &#x1f60a;作者简介&#xff1a;一名大二在校生 &#x1f921; 个人主页&#xff1a;坠入暮云间x &#x1f43c;座右铭&#xff1a;给自己一个梦想&#xff0c;给世界一个惊喜。 &#x1f385;**学习目标: 坚持每一次的学习打卡 文章目录 WXML 和HTML区…

系统及其分类

系统定义 系统&#xff1a;指若干相互关联的事物组合而成的具有特定功能的整体。 系统的基本作用&#xff1a;对输入信号进行加工和处理&#xff0c;将其转换为所需要的输出信号。 系统分类 系统的分类错综复杂&#xff0c;主要考虑其数学模型的差异来划分不同类型。主要分为…

怎么绕过CDN查找真实IP

一、怎么绕过CDN查找真实IP 首先使用全球ping查看该域名是否存在cdn 方法一&#xff1a;使用phpinfo等探针的方式找到真实IP 方法二&#xff1a;网站根域或子域查找真实IP 大部分CDN服务都是按流量进行收费的&#xff0c;所以一些网站管理员只给重要业务部署CDN&#xff0c…

大华智慧园区综合管理平台 clientServer SQL注入漏洞复现

0x01 产品简介 “大华智慧园区综合管理平台”是一款综合管理平台,具备园区运营、资源调配和智能服务等功能。平台意在协助优化园区资源分配,满足多元化的管理需求,同时通过提供智能服务,增强使用体验。 0x02 漏洞概述 由于大华智慧园区综合管理平台clientServer接口处未…

使用reprepro+nginx搭建apt服务器

目录 项目背景 项目要求 项目开发过程 1、apt服务器的搭建 2、实现自定义指定源文件列表来实现apt update更新 3、实现软件启动时自动更新 4. source.list中镜像源地址的格式 项目开发的难点/坑点 总结 项目背景 前面写过一篇“利用Nginx搭建一个apt服务器”&#xff…

STM32嵌入式开发需要掌握硬件、嵌入式系统、C编程语言以及相关的外设驱动等知识

学习STM32嵌入式开发需要掌握硬件、嵌入式系统、C编程语言以及相关的外设驱动等知识。以下是学习STM32的路线及重要的学习内容&#xff1a; 阶段学习内容目标1.基础知识- 理解嵌入式系统的基本概念和原理 - 了解STM32系列微控制器的特点和应用领域掌握嵌入式系统基本概念&…

Midjourney绘图欣赏系列(十)

Midjourney介绍 Midjourney 是生成式人工智能的一个很好的例子&#xff0c;它根据文本提示创建图像。它与 Dall-E 和 Stable Diffusion 一起成为最流行的 AI 艺术创作工具之一。与竞争对手不同&#xff0c;Midjourney 是自筹资金且闭源的&#xff0c;因此确切了解其幕后内容尚不…

用Docker Compose实现负载均衡【入门篇】

在本文中&#xff0c;我们将讨论如何使用Docker Compose管理多个容器&#xff0c;并实现负载均衡。 首先&#xff0c;让我们简要介绍一下Docker Compose。Docker Compose是一个用于定义和运行多个Docker容器的工具&#xff0c;通过一个单独的文件来描述应用程序的整个服务架构…

vue项目:webpack打包优化实践

本文目录 一、项目基本信息二、分析当前项目情况1、使用 webpack-bundle-analyzer 插件2、使用 speed-measure-webpack-plugin 插件 三、解决构建问题1、caniuse-lite 提示的问题2、 warning 问题 四、打包速度优化1、修改source map2、处理 loader 五、webpack性能优化1、使用…

idea+maven+tomcat+spring 创建一个jsp项目

概述&#xff1a;我真服了&#xff0c;这个垃圾学校还在教jsp&#xff0c;这种技术我虽然早会了&#xff0c;但是之前搞的大多都是springboot web类型的&#xff0c;这里我就复习一下&#xff0c;避免以后忘记这种垃圾技术 第一步&#xff1a;创建maven项目 第二步&#xff1a…

adb shell 指令集

1.connect device连接设备&#xff1a; adb devices #return: List of devices attached 0123456789ABCDEF device2.连接终端 adb shell从设备拷贝文件到本地 adb pull <remote> [local] 如: adb pull /sdcard/demo.txt e:\从到本地拷贝文件到设备 adb push &…

HUAWEI 华为交换机 配置 MAC 地址漂移检测示例

组网需求 如 图 2-17 所示&#xff0c;网络中两台 LSW 间网线误接形成了网络环路&#xff0c;引起 MAC 地址发生漂 移、MAC 地址表震荡。 为了能够及时检测网络中出现的环路&#xff0c;可以在 Switch 上配置 MAC 地址漂移检测功能&#xff0c; 通过检测是否发生MAC 地址漂移…

从零搭建Vue项目

目录 环境准备 NodeJS安装 ​编辑 2. 选择安装目录 3. 验证NodeJS环境变量 4. 配置npm的全局安装路径 5. 切换npm的淘宝镜像 6. 安装Vue-cli Vue项目创建 1. 打开UI界面 2. 打开项目管理器 3. 创建项目 vue项目目录结构介绍 运行vue项目 Vue项目开发流程 Vue组…

JAVA的多线程及并发

1. Java 中实现多线程有几种方法 继承 Thread 类&#xff1b; 实现 Runnable 接口&#xff1b; 实现 Callable 接口通过 FutureTask 包装器来创建 Thread 线程&#xff1b; 使 用 ExecutorService 、 Callable 、 Future 实 现 有 返 回 结 果 的多 线 程 &#xff08; 也 就 …

十五、计算机视觉-sobel算子

文章目录 前言一、sobel算子的概念二、sobel算子的计算方式三、具体实现 前言 上节课我们学习了梯度的知识&#xff0c;学习了如何去计算梯度&#xff0c;本节我们继续学习计算梯度的方法&#xff0c;本节我们学习使用Sobel算子计算梯度&#xff0c;这与上节课梯度计算方法有所…

jmeter发送请求参数如何使用变量

问题描述 发送jmeter请求时&#xff0c;想设置请求参数为变量 解决方法

190基于matlab的tfrSTFT时频分布图

基于matlab的tfrSTFT时频分布图&#xff0c;计算时间序列的STFT时频分布图&#xff0c;得到瞬时频率。通过GUI可以调节图像的展示样式。程序已调通&#xff0c;可直接运行。 190 STFT时频分布图 瞬时频率 能量谱 (xiaohongshu.com)

GPT R 生态环境领域数据统计分析

自2022年GPT&#xff08;Generative Pre-trained Transformer&#xff09;大语言模型的发布以来&#xff0c;它以其卓越的自然语言处理能力和广泛的应用潜力&#xff0c;在学术界和工业界掀起了一场革命。在短短一年多的时间里&#xff0c;GPT已经在多个领域展现出其独特的价值…