【发布时间】:2021-06-25 16:18:22
【问题描述】:
我正在尝试模拟股票价格的演变,所以我决定使用 MCMC 模拟(不过我不知道是否有一个库可以帮助我)。 我打算做的是:
- 在给定多个参数的情况下,创建一个模拟股票价格演变的函数:
price.path <- function(p, t, meanr, sdr){
score <- c(0,rnorm(t))
retorno <- meanr + sdr*score
prices <- p*exp(cumsum(retorno))
}
返回价格随机过程的向量。
- 多次运行模拟(最多 100,000 次),并存储找到的每条路径。我认为最好将其存储在数据框中。
我没有找到一种方法将所有向量存储到一个数据框中,而不必为每一列命名(命名每一列是不必要的,而且浪费时间),所以我决定使用 purrr。我尝试使用 map 函数来获取一个不需要名称的列表。之后我会使用 map_dfc 函数,将列表转换为具有琐碎名称(...1、...2、...3 等)的数据框,我使用 rnorm 进行了尝试,效果很好。
map(seq(1,run), price.path,
p = 20,
t = 10,
meanr = 0.00008,
sdr = 0.00015)
其中“运行”是一个整数。这种方法不起作用,因为 map 函数“认为”我在第一个参数中给它的向量必须在函数中使用。我不想要这个,因为我只是将向量用作占位符,它没有用处或真正的意义。它基本上只计算价格路径的运行情况,这真的无关紧要。这会导致 map 抛出错误,因为其中一个参数未使用。
- 最后,我想使用 ggplot 和另一个地图函数来可视化每个价格路径。我还没有进入这部分,因为我有点卡在第二步了。
如果你们能给我一些关于第 2 步的帮助,我将不胜感激。到目前为止,对我的程序的一些见解是好的,非常欢迎在可视化部分提供一点帮助。提前致谢。
【问题讨论】:
-
不知道有什么好方法来组织这个,除了你已经尝试过的。我的建议是只使用小得多的数字(少量的步骤和少量的路径),直到你得到一些工作,然后弄清楚如何扩大它。你可以试试 r-help 邮件列表。
标签: r finance montecarlo markov-chains mcmc