【发布时间】:2015-08-01 00:52:05
【问题描述】:
我正在尝试绘制 For 循环的结果,如下所示:
marketPrice = 100
strikePrice = 125
tau = 1
dividendYield = .03
interestRate = .02
sigma = .25
lowerMarketBound = 100
upperMarketBound = 150
stepIncrement = 5
callPrice = NULL
putPrice = NULL
plot(marketPrice, callPrice)
for (marketPrice in seq(from=lowerMarketBound, to=upperMarketBound,
by=stepIncrement)){
d1 = ((log(marketPrice / strikePrice)) + ((interestRate +
(sigma**2/2)) * f_tau)) / (sigma * sqrt(tau))
d2 = d1 - (sigma * sqrt(tau))
print(marketPrice)
callPrice = marketPrice * pnorm(d1) - pnorm(d2) * strikePrice *
exp(1)^(-interestRate * tau)
putPrice = strikePrice * exp(1)^(-interestRate * tau) * pnorm(-d2) -
marketPrice * pnorm(-d1)
print (callPrice)
print (putPrice)
plot(marketPrice, callPrice)
}
代码的最后一行调用plot()。我期待看到marketPrice 变量与callPrice 变量的关系图。相反,我看到的只是循环的 LAST marketPrice 和 callPrice(在本例中,分别为 150 和 31.46)。
有没有办法绘制 For 循环的所有结果?
【问题讨论】:
-
函数见
?points。为什么你在每次迭代时printing 值?