我从教科书“金融工程的统计和数据分析”中找到了这段代码,但我对此代码中的某些行感到困惑:
此代码试图回答在接下来的45个交易日中至少有一个交易日结束时股票价值低于950,000美元的概率是多少?他们也提供平均值和SD。
代码:
niter = 1e5 # number of iterations
below = rep(0,niter) # set up storage
set.seed(2009)
for (i in 1:niter)
{
r = rnorm(45,mean=.05/253,
sd=.23/sqrt(253)) # generate random numbers
logPrice = log(1e6) + cumsum(r)
minlogP = min(logPrice) # minimum price over next 45 days
below[i] = as.numeric(minlogP < log(950000))
}
mean(below)
几个问题:
logPrice = log(1e6) + cumsum(r)
,为什么我们使用log(1e6)
以及为什么我们有cumsum(r)
?below[i] = as.numeric(minlogP < log(950000))
log(950000)
?为什么我们需要log
?答案 0 :(得分:0)
我猜这个价格是10万美元,因此是log(1e6)
。返回必须在45天内累计,因此cumsum(r)
您正在检查价格是否低于$ 950,000
在定量中,股票收益是正态分布的,股票价格(总是+ ve)是对数正态的。