部分 VBA介紹
第1章 VBA概覽3
1.1 VBA的結(jié)構(gòu)4
1.2 入門設(shè)置5
1.2.1 開發(fā)工具選項(xiàng)卡5
1.2.2 VisualBasic選項(xiàng)5
1.3 VBE環(huán)境6
1.3.1 項(xiàng)目資源管理器6
1.3.2 VBA的模塊6
1.3.3 屬性窗口7
1.4 注釋;代碼行的組合與延長7
1.4.1 撇號:注釋7
1.4.2 冒號:將可執(zhí)行的代碼行并置8
1.4.3 下劃線:代碼行的延續(xù)8
第2章 一個(gè)例子:債券久期的計(jì)算9
2.1 麥考利久期,修正久期和凸度9
2.1.1 麥考利久期和修正久期9
2.1.2 凸度11
2.1.3 債券價(jià)格-收益率的近似曲線11
2.2 一個(gè)例子:債券收益率,久期,凸度12
2.3 VBA代碼:債券收益率,久期,凸度15
第二部分 VBA的應(yīng)用舉例
第3章 關(guān)于NPV、IRR的VBA子程序31
3.1 凈現(xiàn)值,內(nèi)部收益率32
3.2 Excel工作表:項(xiàng)目NPV和IRR 33
3.3 VBA代碼:現(xiàn)金流,現(xiàn)值,NPV和IRR 37
3.4 VBA代碼:關(guān)于NPV的模擬運(yùn)算表42
3.5 VBA代碼:關(guān)于IRR的單變量求解48
3.6 Excel工作表:兩個(gè)IRR 52
3.7 規(guī)劃求解的VBA代碼:存在兩個(gè)IRR的情形55
第4章 VBA中的數(shù)組函數(shù)與被調(diào)用函數(shù)63
4.1 NPV:作為5項(xiàng)輸入信息的函數(shù)63
4.2 VBA代碼:NPV函數(shù)65
4.3 數(shù)組函數(shù):NPV和IRR 66
4.4 調(diào)用其他程序的VBA程序:BSM 69
4.4.1 看漲期權(quán)溢價(jià):Black-Scholes-Merton模型70
4.4.2 看跌期權(quán)溢價(jià):Black-Scholes-Merton模型71
4.5 BSM函數(shù)與被調(diào)用函數(shù)72
4.6 VBA代碼:BSM函數(shù)73
第5章 VBA程序中的數(shù)值分析方法76
5.1 牛頓-拉夫遜方法76
5.2 二分法79
5.2.1 階段80
5.2.2 第二階段80
5.3 通過數(shù)值分析方法計(jì)算項(xiàng)目IRR 82
5.3.1 VBA代碼:牛頓-拉夫遜方法83
5.3.2 VBA代碼:二分法87
5.4 另一個(gè)自制的NPV函數(shù)88
5.5 調(diào)用二分法函數(shù)的函數(shù):隱含波動率89
5.5.1 二分法的再討論89
5.5.2 隱含波動率90
5.6 Excel與VBA:隱含波動率91
第6章 有效投資組合;用于VBA循環(huán)內(nèi)部的規(guī)劃求解96
6.1 多資產(chǎn)的均值-方差投資組合96
6.2 均值-方差有效投資組合的權(quán)重98
6.3 VBA:均值-方差有效投資組合98
6.4 VBA代碼:有效投資組合102
第7章 模擬時(shí)間序列股價(jià)路徑106
7.1 股價(jià)的對數(shù)正態(tài)分布106
7.2 均值,方差,協(xié)方差,相關(guān)系數(shù)107
7.3 VBA代碼:模擬股價(jià)路徑108
第8章 二叉樹模型;美式期權(quán)113
8.1 二項(xiàng)式股票定價(jià)模型113
8.2 風(fēng)險(xiǎn)中性二項(xiàng)式模型參數(shù)115
8.3 多期二叉樹期權(quán)定價(jià)模型117
8.4 美式期權(quán)價(jià)值118
8.5 舉例:美式期權(quán)價(jià)值119
8.6 VBA代碼:美式期權(quán)價(jià)值121
第9章 蒙特卡洛分析,中心極限定理125
9.1 蒙特卡洛分析125
9.2 估計(jì)圓周率Pi;中心極限定理127
9.3 工作表:估計(jì)圓周率Pi;中心極限定理128
9.4 VBA代碼:估計(jì)圓周率Pi;中心極限定理129
第10章 路徑依賴期權(quán)135
10.1 路徑依賴期權(quán)的收益135
10.2 蒙特卡洛分析下的收益13
10.3 示例:路徑依賴期權(quán)138
10.4 VBA代碼:路徑依賴期權(quán)140
第11章 即期利率,利率二叉樹,嵌入期權(quán)146
11.1 到期收益率,ytm 146
11.2 即期利率148
11.3 遠(yuǎn)期利率和貼現(xiàn)因子150
11.4 短期利率二叉樹153
11.5 債券價(jià)值二叉樹155
11.6 模型:ytm,即期利率,遠(yuǎn)期利率,二叉樹156
11.6.1 模型:到期收益率,ytm 157
11.6.2 模型:即期利率157
11.6.3 模型:遠(yuǎn)期利率157
11.6.4 模型:利率二叉樹158
11.6.5 模型:債券價(jià)值二叉樹159
11.7 VBA代碼:ytm,即期利率,遠(yuǎn)期利率,二叉樹162
11.8 零波動率利差,Z-spread 167
11.9 期權(quán)調(diào)整價(jià)差,OAS 168
11.10 總結(jié):Z-spread,OAS,期權(quán)價(jià)值169
11.11 模型:債券價(jià)值計(jì)算170
11.12 債券價(jià)值總結(jié)176
11.13 VBA代碼:債券價(jià)值計(jì)量178
11.14 二叉樹模型的條件概率183
第12章 數(shù)組和矩陣函數(shù):即期利率和遠(yuǎn)期利率185
12.1 即期利率的數(shù)組函數(shù)185
12.2 VBA代碼:即期利率的數(shù)組函數(shù)187
12.3 遠(yuǎn)期利率的數(shù)組函數(shù)191
12.4 VBA代碼:遠(yuǎn)期利率的數(shù)組函數(shù)192
12.5 矩陣函數(shù):即期利率和遠(yuǎn)期利率193
12.6 VBA代碼:即期利率和遠(yuǎn)期利率的矩陣函數(shù)194
第三部分 附注:工作簿;數(shù)組;VBA程序
第13章 啟用宏的工作簿199
13.1 打開啟用宏的工作簿199
13.2 運(yùn)行VBA編碼的程序199
13.3 分配運(yùn)行按鈕給子程序200
13.4 保存啟用宏的工作簿201
第14章 數(shù)組;聲明;傳遞變量202
14.1 數(shù)組變量202
14.1.1 通過范圍對象分配的二維數(shù)組變量203
14.1.2 動態(tài)數(shù)組204
14.1.3 數(shù)組邊界205
14.2 變量及函數(shù)數(shù)據(jù)類型205
14.3 可變范圍206
14.3.1 聲明語句Dim 207
14.3.2 聲明語句Static 207
14.3.3 聲明語句Public 207
14.4 總結(jié):變量聲明語句208
14.5 函數(shù)范圍209
14.6 將參數(shù)傳入和傳出程序209
14.6.1 變量的內(nèi)存地址210
14.6.2 重新回顧公共變量211
14.6.3 按照值傳遞:共享內(nèi)存地址的變量212
14.6.4 傳遞變量總結(jié):Default,Public,ByVal 212
14.6.5 可選參數(shù)212
第15章 VBA程序;子程序214
15.1 子程序和函數(shù)共有的特征214
15.2 退出聲明215
15.3 運(yùn)行并調(diào)用子程序216
15.3.1 運(yùn)行子程序216
15.3.2 在程序間傳遞變量217
15.3.3 調(diào)用子程序217
第16章 函數(shù)220
16.1 函數(shù)的一般結(jié)構(gòu)221
16.2 函數(shù)的附加特征223
16.3 添加函數(shù)描述224
16.4 訪問用戶定義的函數(shù)224
16.5 比較子程序和函數(shù)225
16.6 數(shù)組函數(shù)225
16.7 靈活的數(shù)組函數(shù)227
第17章 宏232
17.1 錄制宏233
17.1.1 個(gè)人宏工作簿233
17.1.2 自定義錄制的宏234
17.1.3 錄制宏的無效性:格式化,繪圖234
17.2 在VBA代碼中禁止彈出框239
第四部分 參考:調(diào)試;VBA環(huán)境
第18章 工具欄和調(diào)試工具243
18.1 標(biāo)準(zhǔn)工具欄243
18.2 編輯工具欄244
18.3 調(diào)試工具欄245
18.3.1 進(jìn)入245
18.3.2 越過(通過) 246
18.3.3 退出(完成) 246
18.3.4 從主菜單的調(diào)試上運(yùn)行至光標(biāo)247
18.4 執(zhí)行:暫停與完成247
18.5 暫停:停止與斷點(diǎn)249
18.6 進(jìn)行調(diào)試的窗口250
18.6.1 本地窗口250
18.6.2 即時(shí)窗口250
18.6.3 監(jiān)視窗口251
18.7 消息框252
18.8 編輯替換252
第19章 InputBox,MsgBox,數(shù)據(jù)驗(yàn)證253
19.1 VBA消息框函數(shù):MsgBox 253
19.2 VBA預(yù)定義常量254
19.2.1 用于設(shè)計(jì)消息框的常見輸入常量255
19.2.2 消息框的常用輸出常量257
19.3 VBA輸入框函數(shù):InputBox 259
19.4 MsgBox和InputBox的對比261
第20章 引用樣式與引用模式262
20.1 引用樣式:A1引用與R1C1引用262
20.2 引用模式:引用與相對引用263
20.3 引用模式:混合引用264
20.4 R1C1樣式的再討論266
20.4.1 在R1C1引用樣式下的相對引用模式266
20.4.2 在R1C1引用樣式下的引用模式267
20.4.3 在R1C1引用樣式下,引用與相對引用的比較267
20.4.4 在R1C1引用樣式下的混合引用模式267
20.5 在Excel工作表中練習(xí)引用樣式和引用模式268
第五部分 參考:VBA中的分支和循環(huán)
第21章 條件編程:分支273
21.1 If語句274
21.2 If模塊275
21.2.1 ElseIf語句與Else語句276
21.2.2 附加If模塊例子276
21.3 嵌套If語句279
21.4 SelectCase 280
21.5 比較:If模塊和SelectCase 282
21.6 舉例:比較If模塊和SelectCase 283
21.7 GoTo語句284
第22章 For循環(huán)和With循環(huán) 286
22.1 For循環(huán) 286
22.2 連續(xù)和嵌套For循環(huán) 288
22.3 With循環(huán) 289
第23章 Do循環(huán) 292
23.1 Do循環(huán)的構(gòu)建293
23.2 退出條件If,While,Until 293
23.2.1 通過If語句退出Do循環(huán) 293
23.2.2 通過While語句退出Do循環(huán) 295
23.2.2.1 Do代碼行上的While語句295
23.2.2.2 Loop代碼行上的While語句296
23.2.3 通過Until語句退出Do循環(huán) 296
23.2.3.1 Do語句行上的Until語句297
23.2.3.2 Loop語句行上的Until語句297
23.3 拓展示例:For循環(huán)和Do循環(huán) 298
23.4 總結(jié):DoVs.Loop語句行;WhileVs.Until語句303
第24章 范圍對象305
24.1 范圍對象屬性306
24.2 范圍對象方法307
24.3 命名區(qū)域309
24.4 將范圍賦給變量:二維數(shù)組變量310
24.5 通過Set語句定義設(shè)定變量310
24.6 Cells屬性并非對象311
第25章 ForEach循環(huán)313
25.1 簡單舉例314
25.2 范圍對象集合和數(shù)組變量集合316
25.3 示例:設(shè)定變量(范圍對象)集合319
25.4 總結(jié)范圍集合320
25.4.1 范圍對象集合321
25.4.2 設(shè)定數(shù)組變量集合321
25.4.3 直接將范圍賦值為集合產(chǎn)生(二維)數(shù)組變量321
25.5 其他舉例322
25.6 嵌套ForEach循環(huán)323
25.7 提高循環(huán)效率325
第六部分 參考:VBA編碼和功能
第26章 數(shù)據(jù)表、單變量求解及規(guī)劃求解331
26.1 將公式放入單元格331
26.2 數(shù)據(jù)表332
26.2.1 一維數(shù)據(jù)表333
26.2.2 二維數(shù)據(jù)表334
26.3 VBA的單變量求解335
26.4 VBA規(guī)劃求解335
第27章 其他Excel和VBA功能338
27.1 運(yùn)算符338
27.2 文本及文本屬性339
27.3 其他功能339
第28章 VBA代碼協(xié)議341
28.1 常見錯(cuò)誤摘要:Excel&VBA 341
28.2 常見VBA對象、屬性和方法341
參考文獻(xiàn)和相關(guān)閱讀345
術(shù)語表349