第1章 Python簡介及安裝 1
1.1 Python簡介 1
1.2 如何安裝Python 3
1.3 Python的不同版本 3
1.4 運行Python的3種方式 4
1.4.1 用GUI啓動Python 4
1.4.2 從Python命令行啓動Python 5
1.4.3 從DOS窗口啓動Python 6
1.5 如何退齣Python 7
1.6 錯誤提示 7
1.7 Python語言是區分大小寫的 8
1.8 變量的初始化 8
1.9 尋找在綫幫助 9
1.10 查找學習手冊和教程 10
1.11 如何找齣Python的版本 12
1.12 小結 12
練習題 12
第2章 用Python完成普通計算器的功能 14
2.1 變量的賦值及顯示 15
2.2 錯誤提示 15
2.3 不能調用沒有賦值的變量 16
2.4 選擇有意義的變量名 16
2.5 使用dir()來查找變量和函數 17
2.6 刪除或取消變量 17
2.7 基本數學運算:加、減、乘、除 18
2.8 冪函數、取整和餘數函數 19
2.9 一個真正的冪函數 20
2.10 選擇閤適的數值精度 21
2.11 找齣某個內置函數的詳細信息 22
2.12 列齣所有內置函數 22
2.13 導入數學模塊 23
2.14 、e、對數和指數函數 24
2.15 import math與from math import*的區彆 24
2.16 一些常用的函數 25
2.16.1 print()函數 25
2.16.2 type()函數 26
2.16.3 下劃綫_ 26
2.16.4 結閤兩個字符串 26
2.16.5 將小寫字符變成大寫字符的函數:upper() 27
2.17 元組數據類型 28
2.18 小結 29
練習題 30
第3章 用Python編寫一個金融計算器 32
3.1 編寫不需要保存的Python函數 33
3.2 函數的輸入參數及它們的預設值 33
3.3 縮進格式在Python編程中至關重要 34
3.4 檢查自己編寫的函數是否存在 35
3.5 在Python編輯器裏定義函數 35
3.6 利用import()在Python編輯器裏激活自己編寫的函數 36
3.7 使用Python編輯器調試程序 37
3.8 調用pv_f()函數的兩種方法 37
3.9 生成自製的模塊 38
3.10 兩種注釋方法 39
3.10.1 第1種注釋方法 39
3.10.2 第2種注釋方法 39
3.11 查找有關pv_f()函數的信息 40
3.12 條件函數:if() 41
3.13 計算年金 41
3.14 利率換算 42
3.15 連續復利利率 44
3.16 數據類型:列錶 45
3.17 淨現值和淨現值法則 45
3.18 投資迴收期和投資迴收期法則 47
3.19 內部收益率和內部收益率法則 47
3.20 顯示在某個目錄下的指定文件 49
3.21 用Python編寫一個專業金融計算器 49
3.22 將我們的目錄加到Python的路徑上 50
3.23 小結 52
練習題 52
第4章 編寫Python程序計算看漲期權價格 56
4.1 用空殼法編寫一個程序 57
4.2 用注釋法編寫一個程序 59
4.3 使用和調試他人編寫的程序 61
4.4 小結 61
練習題 61
第5章 模塊簡介 64
5.1 什麼是模塊 64
5.2 導入模塊 65
5.2.1 為導入的模塊取個簡稱 66
5.2.2 顯示模塊裏的所有函數 66
5.2.3 比較import math和from math import * 67
5.2.4 刪除已經導入的模塊 67
5.2.5 導入幾個指定的函數 68
5.2.6 找齣所有的內置模塊 69
5.2.7 找齣所有可用的模塊 69
5.2.8 找到一個已安裝的模塊的目錄位置 71
5.2.9 有關模塊的更多信息 72
5.2.10 查找某個未安裝的模塊 72
5.3 模塊之間的相互依賴性 73
5.4 小結 74
練習題 75
第6章 NumPy和SciPy模塊簡介 76
6.1 安裝NumPy和SciPy模塊 77
6.2 從Anaconda啓動Python 77
6.2.1 使用NumPy的示例 78
6.2.2 使用SciPy的示例 79
6.3 顯示NumPy和SciPy包含的所有函數 82
6.4 關於某個函數的詳細信息 83
6.5 理解列錶數據類型 83
6.6 使用全一矩陣、全零矩陣和單位矩陣 84
6.7 執行數組操作 84
6.8 數組的加、減、乘、除 85
6.8.1 進行加減運算 85
6.8.2 執行矩陣乘法運算 85
6.8.3 執行逐項相乘的乘法運算 86
6.9 x.sum()函數 87
6.10 遍曆數組的循環語句 87
6.11 使用與模塊相關的幫助 87
6.12 SciPy的一係列子函數包 88
6.13 纍積標準正態分布 89
6.14 與數組相關的邏輯關係 90
6.15 SciPy的統計子模塊(stats) 90
6.16 SciPy模塊的插值方法 91
6.17 使用SciPy求解綫性方程 92
6.18 利用種子(seed)生成可重復的隨機數 93
6.19 在導入的模塊裏查找函數 94
6.20 優化算法簡介 95
6.21 綫性迴歸和資本資産定價模型(CAPM) 95
6.22 從文本文件(.txt)輸入數據:loadtxt()和getfromtxt()函數 96
6.23 獨立安裝NumPy模塊 97
6.24 數據類型簡介 97
6.25 小結 98
練習題 98
第7章 用matplotlib模塊繪製與金融相關的圖形 101
7.1 通過ActivePython安裝matplotlib模塊 102
7.2 通過Anaconda安裝matplotlib模塊 103
7.3 matplotlib模塊簡介 103
7.4 瞭解簡單利率和復利利率 106
7.5 為圖形添加文字 107
7.6 杜邦等式的圖示 109
7.7 淨現值圖示麯綫 110
7.7.1 有效地使用顔色 113
7.7.2 使用不同形狀 114
7.8 圖形演示分散投資的效果 115
7.9 股票的數目和投資組閤風險 117
7.10 從雅虎財經網站下載曆史價格數據 119
7.10.1 用直方圖顯示收益率分布 120
7.10.2 比較單隻股票的收益和市場收益 122
7.11 瞭解現金的時間價值 124
7.12 用燭颱圖展示IBM的每日收盤價 125
7.13 用圖形展示價格變化 126
7.14 同時展示收盤價和交易量 129
7.14.1 在圖形上添加數學公式 130
7.14.2 在圖形上添加簡單的圖像 131
7.14.3 保存圖形文件 132
7.15 比較個股的錶現 132
7.16 比較多隻股票的收益率與波動率 133
7.17 查找學習手冊、示例和有關視頻 135
7.18 獨立安裝matplotlib模塊 136
7.19 小結 136
練習題 136
第8章 時間序列的統計分析 139
8.1 安裝pandas和statsmodels模塊 140
8.1.1 在Anaconda命令提示符下啓動Python 140
8.1.2 使用DOS窗口啓動Python 141
8.1.3 使用Spyder啓動Python 142
8.2 Pandas和statsmodels模塊簡介 143
8.2.1 如何使用Pandas模塊 143
8.2.2 statsmodels模塊示例 144
8.3 開源數據 145
8.4 用Python代碼輸入數據 147
8.4.1 從剪貼闆輸入數據 147
8.4.2 從雅虎財經網站下載曆史價格數據 147
8.4.3 從txt文件輸入數據 148
8.4.4 從Excel文件輸入數據 149
8.4.5 從csv文件輸入數據 150
8.4.6 從網頁下載數據 150
8.4.7 從MATLAB數據文件輸入數據 152
8.5 幾個重要的函數 152
8.5.1 使用pd.Series()生成一維時間序列 152
8.5.2 使用日期變量 153
8.5.3 使用DataFrame數據類型 154
8.6 計算迴報率 156
8.6.1 從日迴報率計算月迴報率 157
8.6.2 從日迴報率計算年迴報率 159
8.7 按日期閤並數據集 160
8.8 構建n隻股票的投資組閤 161
8.9 T-檢驗和F-檢驗 162
8.9.1 檢驗方差是否相等 163
8.9.2 測試“一月效應” 164
8.10 金融研究和實戰的應用舉例 165
8.10.1 基於52周最高價和最低價的交易策略 165
8.10.2 用Roll(1984)模型來估算買賣價差 166
8.10.3 用Amihud(2002)模型來估算反流動性指標 167
8.10.4 Pastor和Stambaugh(2003)流動性指標 168
8.10.5 Fama-French三因子模型 171
8.10.6 Fama-MacBeth迴歸模型 173
8.10.7 滾動式估算市場風險係數 174
8.10.8 在險價值簡介 177
8.11 構建有效組閤邊界 178
8.11.1 估計方差-協方差矩陣 178
8.11.2 優化-最小化 181
8.11.3 構建一個最優投資組閤 181
8.11.4 構建n隻股票的有效組閤邊界 183
8.12 插值法簡介 186
8.13 輸齣數據到外部文件 187
8.13.1 輸齣數據到一個文本文件 187
8.13.2 輸齣數據到一個二進製文件 188
8.13.3 從二進製文件讀取數據 188
8.14 用Python分析高頻數據並計算買賣價差 188
8.15 更多關於使用Spyder的信息 194
8.16 一個有用的數據集 195
8.17 小結 196
練習題 197
第9章 Black-Scholes-Merton期權定價模型 201
9.1 看漲期權和看跌期權的收益和利潤/損失函數 202
9.2 歐式期權與美式期權 205
9.3 現金流、不同類型的期權、權利和責任 206
9.4 正態分布、標準正態分布和纍積標準正態分布 206
9.5 不分紅股票的期權定價模型 209
9.6 用於期權定價的p4f模塊 210
9.7 已知分紅股票的歐式期權價格 212
9.8 多種交易策略 213
9.8.1 股票多頭和看漲期權空頭的組閤 214
9.8.2 跨式期權組閤—具有同樣執行價格的看漲期權和看跌期權的組閤 215
9.8.3 日曆套利組閤 216
9.8.4 蝶式看漲期權組閤 218
9.9 期權價格和輸入參數之間的關係 219
9.10 與期權相關的希臘字母 219
9.11 期權平價關係及其圖形錶示 221
9.12 二叉樹法及其圖形錶示 223
9.12.1 為歐式期權定價的二叉樹法 229
9.12.2 為美式期權定價的二叉樹法 229
9.13 套期保值策略 230
9.14 小結 231
練習題 232
第10章 Python的循環語句和隱含波動率的計算 235
10.1 隱含波動率的定義 236
10.2 for循環簡介 237
10.2.1 使用for循環計算隱含波動率 237
10.2.2 歐式期權的隱含波動率 238
10.2.3 看跌期權的隱含波動率 239
10.2.4 enumerate()函數簡介 240
10.3 用for循環計算內部收益率及多個內部收益率 241
10.4 while循環簡介 243
10.4.1 使用鍵盤命令停止無限循環 244
10.4.2 使用while循環計算隱含波動率 244
10.4.3 多重嵌套的for循環 246
10.5 美式看漲期權的隱含波動率 246
10.6 測試一個程序的運行時間 247
10.7 二分搜索的原理 248
10.8 順序訪問與隨機訪問 249
10.9 通過循環訪問數組的元素 250
10.9.1 利用for循環賦值 251
10.9.2 通過循環訪問詞典的元素 251
10.10 從CBOE網站下載期權數據 252
10.11 從雅虎財經網頁下載期權數據 254
10.11.1 從雅虎財經網頁檢索不同的到期日期 254
10.11.2 從雅虎財經網頁下載當前價格 255
10.12 看跌期權和看漲期權的比率及其短期趨勢 255
10.13 小結 258
練習題 258
第11章 濛特卡羅模擬和期權定價 261
11.1 産生服從標準正態分布的隨機數 262
11.1.1 産生服從(高斯)正態分布的隨機樣本 263
11.1.2 利用種子(seed)生成相同的隨機數 263
11.1.3 産生n個服從正態分布的隨機數 263
11.1.4 正態分布樣本的直方圖 264
11.1.5 對數正態分布的圖形錶示 265
11.1.6 産生服從泊鬆分布的隨機數 266
11.1.7 産生服從均勻分布的隨機數 266
11.2 利用濛特卡羅模擬計算的近似值 267
11.3 從 隻股票中隨機選擇m隻 268
11.4 可重復和不可重復的隨機取樣 270
11.5 年收益率的分布 271
11.6 模擬股價變化 273
11.7 圖形展示期權到期日的股票價格的分布 275
11.8 尋找有效的投資組閤和有效邊界 276
11.8.1 尋找基於兩隻股票的有效組閤及相關係數的影響 276
11.8.2 構建n隻股票的有效邊界 281
11.9 算術平均值與幾何平均值 283
11.10 預測長期迴報率 284
11.11 用模擬法為看漲期權定價 285
11.12 奇異期權簡介 286
11.12.1 利用濛特卡羅模擬給均價期權定價 286
11.12.2 利用濛特卡羅模擬給障礙式期權定價 288
11.13 障礙式期權的平價關係及其圖形演示 289
11.14 具有浮動執行價格的迴望式期權的定價 293
11.15 使用Sobol序列來提高效率 294
11.16 小結 294
練習題 295
第12章 波動率和GARCH模型 296
12.1 傳統的風險測度-標準方差 297
12.2 檢驗正態分布 297
12.3 下偏標準方差 300
12.4 檢驗兩個時間段的波動率是否相等 302
12.5 利用Breusch和Pagan(1979)方法檢驗異方差 303
12.6 從雅虎財經網頁檢索期權數據 306
12.7 波動率的微笑麯綫和斜度 307
12.8 波動率集聚效應的圖形錶示 309
12.9 ARCH模型及ARCH(1)隨機過程的模擬 310
12.10 GARCH(廣義ARCH)模型 312
12.10.1 模擬GARCH隨機過程 312
12.10.2 采用改良的garchSim()函數模擬GARCH(p,q)模型 313
12.10.3 由Glosten、Jagannanthan和
Runkle(1993)提齣的GJR_
GARCH模型簡介 315
12.11 小結 319
練習題 319
· · · · · · (
收起)