R-squared误差取值范围为0到1,这个值越接近1说明模型的拟合度越好。
在R语言中,对于一个线性回归r,可以使用函数summary(r)来查看r的各种参数,其中就包括这个拟合度。
不过,模型的好坏还有很多其他的评价标准,单单是拟合度好并不能说明这个模型是合适的。
这上网搜应该搜的到吧,比如这篇文章"股票价格行为关于几何布朗运动的模拟--基于中国上证综指的实证研究
",照着几何布朗运动的公式直接写代码应该就行了吧,代码逻辑都很清晰。
下面是照着这片文章模拟一次的代码,模拟多次的话,外面再套个循环应该就行了。然后再根据均方误差(一般用这个做准则的多)来挑最好的。
话说你的数据最好别是分钟或者3s切片数据,不然R这速度和内存够呛。
N <- 2000 #模拟的样本数
S0 <- 2000 #初始值
mu <- 0.051686/100
sigma <- 1.2077/100
St <- rep(0,N)
epsion <- rnorm(N,0,1) #正态分布随机数
for(i in 1:N) {
if(i == 1) {
delta_St <- mu * S0 + sigma * S0 * epsion[i]
St[i] <- S0 + delta_St
}else {
delta_St <- mu * St[i-1] + sigma * St[i-1] * epsion[i]
St[i] <- St[i-1] + delta_St
}
}
Final_St <- c(S0,St) #最终结果
plot(Final_St,type = "l")