R语言收益率和波动性模拟股票价格COMP226带自测题 您所在的位置:网站首页 r语言求var R语言收益率和波动性模拟股票价格COMP226带自测题

R语言收益率和波动性模拟股票价格COMP226带自测题

2023-06-26 02:39| 来源: 网络整理| 查看: 265

最近我们被客户要求撰写关于模拟股票价格的研究报告,包括一些图形和统计输出。

在本工作表中,我们将研究价格、收益率和波动性。波动性通常用收益率的均方差来衡量,例如夏普比率的分母,它被用作风险的衡量标准。

我们将使用股票价格的平均对数收益率和波动性(对数回报的均方差)来模拟股票价格。

价格和收益率

 

library(quantmod) getSymbols("AAPL") price_AAPL sigma [1] 0.02572958什么是波动性?定义

波动率是收益率的年化均方差。20的波动率意味着一年后资产价格从现值下跌或上涨超过20%的可能性约为三分之一。这是基于收益率是对数正态分布的假设,这不是真的,但它仍然是一个有用的建模假设,至少作为起点。在R中,给定一系列每日价格,对数回报的年化均方差的计算如下:

 

sqrt(252) * sd(diff(log(priceSeriesDaily))) * 100使用收益率模拟股票价格

似乎对数收益率有一个稳定的均值和均方差。让我们假设它们实际上是正态分布的,所以模拟股票价格的目的。假设对数收益率正态分布为均方差μ和均方差sigma。那么我们如何模拟价格?回想一下对数收益率的定义:

R语言收益率和波动性模拟股票价格COMP226带自测题|附代码数据_正态分布_12

因此,我们将使用以下方法来模拟股票价格:

1.设置一个初始化价格(在下面的代码中是100)。2.从正态分布中绘制一个随机数,平均μ和均方差sigma是模拟的参数。这个数字将代表日志返回。3.对日志返回进行指数运算,并将其与之前的价格相乘以获得新的价格。4.重复步骤2.和3.进行许多模拟步骤。

练习

执行上述步骤以模拟价格过程并生成单个模拟价格轨迹,并绘制它以生成如下图的图形:

R语言收益率和波动性模拟股票价格COMP226带自测题|附代码数据_时间序列_13

解答

 

plot(p, type = "l" dev.off()练习

将上一个练习中的模拟代码包装在一个函数中,并使用它来产生6种不同的模拟价格轨迹。使用

 

par(mfrow=c(3,3))

将它们放在3×3的网格中,以便可以直观地比较。它们可能会产生如下内容:

R语言收益率和波动性模拟股票价格COMP226带自测题|附代码数据_时间序列_14

解答

 

par(mfrow=c(3,3)) for (i in 1:6) dotion(simNumber=i) dev.off()

R语言收益率和波动性模拟股票价格COMP226带自测题|附代码数据_时间序列_15

本文选自《R语言收益率和波动性模拟股票价格COMP226带自测题》。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有