全部版块 我的主页
论坛 金融投资论坛 六区 金融学(理论版) 金融工程(数量金融)与金融衍生品
977 1
2013-03-09
麻烦高手帮忙看看
Function DOC(S0, K, r, sigma, T, B, N, M)
Dim i As Integer
Dim j As Integer
Dim intermM, intermP, intermS As Double
epsilon = T / M
intermP = 0
For i = 1 To N
      intermS = S0
      intermM = S0
        For j = 1 To M
        intermS = intermS * (Exp(r - (1 / 2) * sigma ^ 2) * (epsilon) + sigma * (Sqr(epsilon)) * Gaussrand())
        intermM = Application.WorksheetFunction.Min(intermM, intermS)
        Next j
      If internM > b Then
      intermP = intermP + Application.WorksheetFunction.Max(intermS - K, 0)
      Else
      intemP = intemP
      End If
Next i
DOC = intermP * Exp(-r * T) / N
Range("B1").Value = DOC

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-3-9 11:32:48
不知道你自己有没有检验过有什么问题,我反正没发现什么问题,只是barrier option用这种naive的simulation可能会收敛比较慢,不准而已,你可以试试一些variance reduction 的技术推荐 stratified sampling

另外一个常用的方法是你simulate 一个indictor然后乘到普通的european option 上去即C_d=C_bs*P(Smin>B)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群