绘制多个几何布朗运动
问题描述:
我创建几何布朗运动的各种模拟中的R用以下代码:绘制多个几何布朗运动
m <- 10
n <- 1000
mu <- 0.15
sigma <- 0.3
s0 <- 10
T1 <- 5
set.seed(70967993)
MotiBr <- matrix(rnorm(m*n, 0, sqrt(T1/n)), n, m)
MotiBr <- apply(MotiBr, 2, diffinv)
temp <- (0:n)/n*T1
MotiBr <- (mu - sigma^2/2)*temp + sigma*MotiBr
MotiBr <- t(s0*exp(MotiBr))
现在我要绘制在曲线图中的结果是这样的:
请注意,它不是GBM,我只是为了公开我想要得到的结果而发布的。有人可以在这里发布代码,使用我在MotiBr
中的模拟来创建一个这样的情节? PS:我给T1的值为5,但我的意思是[0,5]的时间段,只是用T1 <- 5
对它进行编码是正确的吗?
答
下面是创建为您的数据曲线的方法。
首先,将矩阵转换为长格式的数据帧。
dat <- data.frame(val = as.vector(MotiBr),
idx = seq(nrow(MotiBr)),
time = rep(seq(ncol(MotiBr)), each = nrow(MotiBr)))
一种绘制数据的方法是ggplot2
包。
library(ggplot2)
ggplot(dat, aes(x = time, y = val, group = idx)) +
geom_line()
+0
美丽的情节代码,非常感谢你! – Kolmogorovwannabe
这完美的作品,它也很简单,非常感谢你! – Kolmogorovwannabe