收藏 分销(赏)

股票期权二叉树定价excelVBA程序.docx

上传人:精**** 文档编号:4817523 上传时间:2024-10-13 格式:DOCX 页数:5 大小:40.17KB
下载 相关 举报
股票期权二叉树定价excelVBA程序.docx_第1页
第1页 / 共5页
股票期权二叉树定价excelVBA程序.docx_第2页
第2页 / 共5页
股票期权二叉树定价excelVBA程序.docx_第3页
第3页 / 共5页
股票期权二叉树定价excelVBA程序.docx_第4页
第4页 / 共5页
股票期权二叉树定价excelVBA程序.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、Sub 期权定价()Dim i As Long将输入的参数的值赋给相应的变量s0 = Worksheets(1).Cells(1, 2)x = Worksheets(1).Cells(2, 2)r = Worksheets(1).Cells(3, 2)s = Worksheets(1).Cells(4, 2)t = Worksheets(1).Cells(5, 2)n = Worksheets(1).Cells(6, 2)生成表格Worksheets(1).Cells(1, 4) = 期数Worksheets(1).Cells(2, 4) = 时间(年)Worksheets(1).Cells(

2、3, 4) = 上行乘数Worksheets(1).Cells(4, 4) = 下行乘数Worksheets(1).Cells(5, 4) = 股票价格Worksheets(1).Cells(n + 6, 4) = 执行价格Worksheets(1).Cells(n + 7, 4) = 上行概率Worksheets(1).Cells(n + 8, 4) = 下行概率Worksheets(1).Cells(n + 9, 4) = 买入期权价格合并相应单元格Set rr1 = Range(D5)For i = 1 To nSet rr1 = Union(Range(D & (5 + i), rr1

3、)Nextrr1.SelectWith Selection .HorizontalAlignment = xlGeneral .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = True End With设置格式 居中With Selection .HorizontalAlignment = xlCenter .Vertica

4、lAlignment = xlCenter .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = True End With 合并相应单元格Set rr2 = Range(D & (n + 9)For i = 1 To nSet rr2 = Union(Range(D & (n + 9 + i), rr2)Nextrr2.SelectWith Selection .HorizontalA

5、lignment = xlGeneral .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = True End With设置格式 居中With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = False .O

6、rientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = True End With计算表格相应内容期数Worksheets(1).Cells(1, 5) = 0For i = 1 To nWorksheets(1).Cells(1, 5 + i) = iNext时间(年)Worksheets(1).Cells(2, 5) = 0For i = 1 To nWorksheets(1).Cells(2, 5 + i) = t / (

7、12 * n) * iNext上行乘数u = Exp(s * (t / (12 * n) 0.5)Worksheets(1).Cells(3, 5) = u下行乘数d = 1 / uWorksheets(1).Cells(4, 5) = d股票价格For i = 1 To n + 1Worksheets(1).Cells(4 + i, 4 + i) = 50 * d (i - 1)NextFor i = 1 To nFor j = i To nWorksheets(1).Cells(4 + i, 5 + j) = Worksheets(1).Cells(4 + i, 4 + j) * uNex

8、tNext执行价格Worksheets(1).Cells(n + 6, 5 + n) = x上行概率、下行概率p = (r * t) / (12 * n) + 1 - d) / (u - d)Worksheets(1).Cells(n + 7, 5 + n) = pWorksheets(1).Cells(n + 8, 5 + n) = 1 - p买入期权价格最后一期的期权价值For i = 1 To n + 1q = Worksheets(1).Cells(4 + i, 5 + n) - xIf q 0 ThenWorksheets(1).Cells(n + 8 + i, 5 + n) = q

9、ElseWorksheets(1).Cells(n + 8 + i, 5 + n) = 0End IfNext由后往前推各期的价值For ii = n To 1 Step -1 列For jj = 1 To ii 行If Worksheets(1).Cells(n + 8 + jj, 4 + ii + 1) 0 Or Worksheets(1).Cells(n + 8 + jj + 1, 4 + ii + 1) 0 ThenWorksheets(1).Cells(n + 8 + jj, 4 + ii) = (p * Worksheets(1).Cells(n + 8 + jj, 4 + ii + 1) + (1 - p) * Worksheets(1).Cells(n + 8 + jj + 1, 4 + ii + 1) / (1 + (r / 12) * (t / n)ElseWorksheets(1).Cells(n + 8 + jj, 4 + ii) = 0End IfNextNextEnd Sub效果如下:

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服