这是我写的沪深300指数88天后的蒙特卡洛模拟r语言代码,但是运行不出来,想问问该怎么修改
mu<-mean(lnrt)
mu
sig=stdev(lnrt)
sig
T=1
price<-rep(NA,88)#不限制最小值复制88次
for(i in 2:length(lnrt)){
price[i]<-price[i-1]*exp(rnorm(1,mu,sig))
}
random.lnrt<-cbind(price,1:1)#随机数据
colnames(random_lnrt)<-c("price","Trddt")
random.lnrt<-as.data.frame(random_lnrt)
library(ggplot2)
random_lnrt<-ggplot(aes(Trddt,price))+geom_line()+labd(title="Amazo"+theme_bw())
N<-1000
mc_matrix<-matrix(nrow = 88,ncol = N)
mc_matrix[1,1]<-as.numeric(lnrt[length(lnrt),])
for(j in 1:ncol(mc_matrix))
{mc_matrix[1,j]<-
as.numeric(lnrt[length(lnrt)])}
for (i in 2:nrow(mc_matrix)){
mc_matrix[i,j]<-mc_matrix[i-1,j]*exp(rnorm(1,mu,sig))
}
name<-str_interp("sim",seq(1,1000))
name<-c("Day",name)
final_mat<-cbind((1:88),mc_matrix)
final_mat<-as.tibble(final_mat)
colnames(final_mat)<-name
dim(final_mat)
finalmat<-gather("simulation",2:1001)
ggplot(aes(x=Day,y=price,Group=simulation))+geom_line(alpha=0.2+labs(title="蒙特卡洛模拟路径图")))