我现在正在处理我的大学论文的期权价格估值。 我们需要在R.一些事情编程这是我第一次用编程软件,如R.我已经做了过去两周的工作,这是我竟还:For循环R(特殊情况:维纳过程)
s <- 120
#Value of the stock today
sd <- 0.1
#standard deviation
d <- 0.003
#Drift
N <- 365
T <-1
dt <-T/N
t <- seq(0,T, length=N+1)
W <- c(0, cumsum(sqrt(dt)*rnorm(N)))
#plot(t, W, type="l", main="Wiener process", ylim=c(-1,1))
S <- s*exp(d+sd*W)
S
这是一个简单的广义维纳过程,我想变成蒙特卡洛模拟。 对于S,现在有366(N + 1)个库存路径的值。我需要的是一个“for循环”,它取S的最后一个值并将它分配给一个向量(列表向量),以便我可以运行循环例如10000次,收集每个S的最后一个值并获得矢量。
我不知道如何编程这样一个for循环。 如果你能帮助我或给我一些好的提示,我会很感激。
来自德国 基督教问候
第1步:把你的代码变成一个函数'my_wiener_process'。只有'return()'S'的最后一个值。第2步:'n = 10000; results = rep(NA,n); for(i in 1:n)results [i] < - my_wiener_process()'。 – Gregor
非常感谢。问题是,我甚至不知道如何将我的代码转换为函数 – Monte
把'my_wiener_process < - function(){'放在所有代码之前,并将'return(tail(S,1))}'放在所有代码的结尾。请参阅,例如,[如何在R中编写函数]中的大部分内容(https://www.google.com/search?q=how+to+write+a+function+in+R&ie=utf-8&oe=utf -8) – Gregor