所屬網站分類: 資源下載 > python電子書python
內容簡介
《量化投資:以Python爲工具》主要講解量化投資的思想和策略,並藉助Python 語言進行實戰。《量化投資:以Python爲工具》一共分爲5 部分,第1 部分是Python 入門,第2 部分是統計學基礎,第3 部分是金融理論、投資組合與量化選股,第4 部分是時間序列簡介與配對交易,第5 部分是技術指標與量化投資。《量化投資:以Python爲工具》首先對Python 編程語言進行介紹,經過學習,讀者能夠迅速掌握用Python 語言處理數據的方法,並靈活運用Python 解決實際金融問題;其次,向讀者介紹量化投資的理論知識,主要講解量化投資所需的數量基礎和類型等方面;最後講述如何在Python 語言中構建量化投資策略。編輯器
目錄
第1 部分Python 入門 1 第1 章Python 簡介與安裝使用 2 1.1 Python 概述 2 1.2 Python 的安裝 3 1.2.1 下載安裝Python 執行文件 3 1.2.2 下載安裝Anaconda 4 1.2.3 多種Python 版本並存 6 1.3 Python 的簡單使用 7 1.4 交互對話環境IPython 8 1.4.1 IPython 的安裝 8 1.4.2 IPython 的使用 9 1.4.3 IPython 功能介紹 10 第2 章Python 代碼的編寫與執行 14 2.1 建立Python 腳本文件 15 2.1.1 記事本 15 2.1.2 Python 默認的IDLE 環境 15 2.1.3 專門的程序編輯器 15 2.2 執行.py 文件 17 2.2.1 IDLE 環境自動執行 17 2.2.2 在控制檯cmd 中執行 18 2.2.3 在Annaconda Prompt 中執行 19 2.3 Python 編程小技巧 20 2.3.1 Python 行 20 2.3.2 Python 縮進 21 第3 章Python 對象類型初探 23 3.1 Python 對象 23 3.2 變量命名規則 24 3.3 數值類型 25 3.3.1 整數 25 3.3.2 浮點數 26 3.3.3 布爾類型 26 3.3.4 複數 27 3.4 字符串 28 3.5 列表 29 3.6 可變與不可變 30 3.7 元組 32 3.8 字典 33 3.9 集合 33 第4 章Python 集成開發環境:Spyder 介紹 36 4.1 代碼編輯器 37 4.2 代碼執行Console 39 4.3 變量查看與編輯 40 4.4 當前工做路徑與文件管理 41 4.5 幫助文檔與在線幫助 42 4.6 其餘功能 43 第5 章Python 運算符與使用 44 5.1 經常使用運算符 44 5.1.1 算術運算符 45 5.1.2 賦值運算符 46 5.1.3 比較運算符 47 5.1.4 邏輯運算符 48 5.1.5 身份運算符 49 5.1.6 成員運算符 51 5.1.7 運算符的優先級 52 5.2 具備運算功能的內置函數 52 第6 章Python 經常使用語句 55 6.1 賦值語句 55 6.1.1 賦值含義與簡單賦值 55 6.1.2 多重賦值 57 6.1.3 多元賦值 58 6.1.4 加強賦值 58 6.2 條件語句 59 6.3 循環語句 60 6.3.1 for 循環 60 6.3.2 while 循環 61 6.3.3 嵌套循環 62 6.3.4 break、continue 等語句 62 第7 章函數 66 7.1 函數的定義與調用 66 7.2 函數的參數 68 7.3 匿名函數 71 7.4 做用域 72 第8 章面向對象75 8.1 類 75 8.2 封裝 77 8.3 繼承(Inheritance) 79 第9 章Python 標準庫與數據操做 82 9.1 模塊、包和庫 82 9.1.1 模塊 82 9.1.2 包 84 9.1.3 庫 85 9.2 Python 標準庫介紹 85 9.3 Python 內置數據類型與操做 91 9.3.1 序列類型數據操做 91 9.3.1.1 list 類型與操做 91 9.3.1.2 tuple 類型與操做 95 9.3.1.3 range 類型與操做 97 9.3.1.4 字符串操做 98 9.3.2 字典類型操做 103 9.3.3 集合操做 106 第10 章經常使用第三方庫:Numpy 庫與多維數組 111 10.1 NumPy 庫 111 10.2 建立數組 111 10.3 數組元素索引與切片 115 10.4 數組運算 118 第11 章經常使用第三方庫:Pandas 與數據處理 120 11.1 Series 類型數據 120 11.1.1 Series 對象的建立 120 11.1.2 Series 對象的元素提取與切片 122 11.1.2.1 調用方法提取元素 122 11.1.2.2 利用位置或標籤提取元素與切片 123 11.1.3 時間序列 124 11.2 DataFrame 類型數據 128 11.2.1 建立DataFrame 對象 128 11.2.2 查看DataFrame 對象 130 11.2.3 DataFrame 對象的索引與切片 131 11.2.4 DataFrame 的操做 135 11.2.5 DataFrame 的運算 139 11.3 數據規整化 142 11.3.1 缺失值的處理 142 11.3.1.1 缺失值的判斷 142 11.3.1.2 選出不是缺失值的數據 143 11.3.2 缺失值的填充 143 11.3.3 缺失值的選擇刪除 145 11.3.4 刪除重複數據 146 第12 章經常使用第三方庫:Matplotlib 庫與數據可視化 149 12.1 Matplotlib 簡介 149 12.2 修改圖像屬性 152 12.2.1 座標 152 12.2.1.1 更改座標軸範圍 152 12.2.1.2 設定座標標籤與顯示角度 153 12.2.2 添加文本 155 12.2.2.1 添加標題 155 12.2.2.2 中文顯示問題 157 12.2.2.3 設定座標軸標籤 159 12.2.2.4 增長圖形背景grid 160 12.2.2.5 增長圖例 161 12.2.3 多種線條屬性 162 12.2.3.1 線條的類型 162 12.2.3.2 圖形的顏色 163 12.2.3.3 點的形狀類型 164 12.2.3.4 線條寬度 166 12.3 常見圖形的繪製 167 12.3.1 柱狀圖(Bar charts) 167 12.3.2 直方圖 170 12.3.3 餅圖 172 12.3.4 箱線圖 172 12.4 Figure、Axes 對象與多圖繪製 173 12.4.1 Figure、Axes 對象 174 12.4.2 多圖繪製 176 12.4.2.1 多個子圖繪製 176 12.4.2.2 一個圖中多條曲線繪製 178 第2 部分統計學基礎 180 第13 章描述性統計 181 13.1 數據類型 182 13.2 圖表 182 13.2.1 頻數分佈表 182 13.2.2 直方圖 183 13.3 數據的位置 184 13.4 數據的離散度 186 第14 章隨機變量簡介 190 14.1 機率與機率分佈 190 14.1.1 離散型隨機變量 190 14.1.2 連續型隨機變量 192 14.2 指望值與方差 193 14.3 二項分佈 194 14.4 正態分佈 197 14.5 其餘連續分佈 199 14.5.1 卡方分佈 199 14.5.2 t 分佈 199 14.5.3 F 分佈 200 14.6 變量的關係 202 14.6.1 聯合機率分佈 202 14.6.2 變量的獨立性 203 14.6.3 變量的相關性 203 14.6.4 上證綜指與深證綜指的相關性分析 205 第15 章推斷統計 208 15.1 參數估計 208 15.1.1 點估計 209 15.1.2 區間估計 209 15.2 案例分析 212 15.3 假設檢驗 213 15.3.1 兩類錯誤 214 15.3.2 顯著性水平與p 值 215 15.3.3 肯定小几率事件 215 15.4 t 檢驗 216 15.4.1 單樣本t 檢驗 216 15.4.2 獨立樣本t 檢驗 217 15.4.3 配對樣本t 統計量的構造 218 第16 章方差分析 221 16.1 方差分析之思想 221 16.2 方差分析之原理 222 16.2.1 離差平方和 223 16.2.2 自由度 224 16.2.3 顯著性檢驗 225 16.3 方差分析之Python 實現 226 16.3.1 單因素方差分析 227 16.3.2 多因素方差分析 228 16.3.3 析因方差分析 228 第17 章回歸分析 231 17.1 一元線性迴歸模型 231 17.1.1 一元線性迴歸模型 231 17.1.2 最小平方法 232 17.2 模型擬合度 233 17.3 古典假設條件下^_、^ _ 之統計性質 234 17.4 顯著性檢驗 235 17.5 上證綜指與深證成指的迴歸分析與Python 實踐 236 17.5.1 Python 擬合迴歸函數 236 17.5.2 繪製迴歸診斷圖 238 17.6 多元線性迴歸模型 240 17.7 多元線性迴歸案例分析 241 17.7.1 價格水平對GDP 的影響 241 17.7.2 考量自變量共線性因素的新模型 243 第3 部分金融理論、投資組合與量化選股246 第18 章資產收益率和風險 247 18.1 單期與多期簡單收益率 248 18.1.1 單期簡單收益率 248 18.1.2 多期簡單收益率 249 18.1.3 Python 函數計算簡單收益率 252 18.1.4 單期與多期簡單收益率的關係 252 18.1.5 年化收益率 254 18.1.6 考慮股利分成的簡單收益率 256 18.2 連續複利收益率 259 18.2.1 多期連續複利收益率 260 18.2.2 單期與多期連續複利收益率的關係 262 18.3 繪製收益圖 263 18.4 資產風險的來源 264 18.4.1 市場風險 264 18.4.2 利率風險 264 18.4.3 匯率風險 265 18.4.4 流動性風險 265 18.4.5 信用風險 265 18.4.6 通貨膨脹風險 266 18.4.7 營運風險 266 18.5 資產風險的測度 266 18.5.1 方差 266 18.5.2 下行風險 268 18.5.3 風險價值 269 18.5.4 指望虧空 271 18.5.5 最大回撤 271 第19 章投資組合理論及其拓展 276 19.1 投資組合的收益率與風險 276 19.2 Markowitz 均值-方差模型 280 19.3 Markowitz 模型之Python 實現 285 19.4 Black-Litterman 模型 289 第20 章資本資產訂價模型(CAPM) 298 20.1 資本資產訂價模型的核心思想 298 20.2 CAPM 模型的應用 299 20.3 Python 計算單資產CAPM 實例 301 20.4 CAPM 模型的評價 305 第21 章Fama-French 三因子模型 308 21.1 Fama-French 三因子模型的基本思想 308 21.2 三因子模型之Python 實現 310 21.3 三因子模型的評價 315 第4 部分時間序列簡介與配對交易 317 第22 章時間序列基本概念 318 22.1 認識時間序列 318 22.2 Python 中的時間序列數據 320 22.3 選取特定日期的時間序列數據 321 22.4 時間序列數據描述性統計 323 第23 章時間序列的基本性質 326 23.1 自相關性 326 23.1.1 自協方差 327 23.1.2 自相關係數 327 23.1.3 偏自相關係數 327 23.1.4 acf( ) 函數與pacf( ) 函數 328 23.1.5 上證綜指的收益率指數的自相關性判斷 328 23.2 平穩性 331 23.2.1 強平穩 331 23.2.2 弱平穩 332 23.2.3 強平穩與弱平穩的區別 332 23.3 上證綜指的平穩性檢驗 333 23.3.1 觀察時間序列圖 333 23.3.2 觀察序列的自相關圖和偏自相關圖 333 23.3.3 單位根檢驗 336 23.4 白噪聲 340 23.4.1 白噪聲 340 23.4.2 白噪聲檢驗——Ljung-Box 檢驗 341 23.4.3 上證綜合指數的白噪聲檢驗 343 第24 章時間序列預測 345 24.1 移動平均預測 345 24.1.1 簡單移動平均 345 24.1.2 加權移動平均 346 24.1.3 指數加權移動平均 346 24.2 ARMA 模型預測 347 24.2.1 自迴歸模型 348 24.2.2 移動平均模型 350 24.3 自迴歸移動平均模型 350 24.4 ARMA 模型的建模過程 351 24.5 CPI 數據的ARMA 短時間預測 351 24.5.1 序列識別 351 24.5.2 模型識別與估計 354 24.5.3 模型診斷 356 24.5.4 運用模型進行預測 359 24.6 股票收益率的平穩時間序列建模 359 第25 章GARCH 模型 364 25.1 資產收益率的波動率與ARCH 效應 364 25.2 ARCH 模型和GARCH 模型 365 25.2.1 ARCH 模型 365 25.2.2 GARCH 模型 366 25.3 ARCH 效應檢驗 368 25.4 GARCH 模型構建 370 第26 章配對交易策略 372 26.1 什麼是配對交易 372 26.2 配對交易的思想 373 26.3 配對交易的步驟 374 26.3.1 股票對的選擇 374 26.3.2 配對交易策略的制定 383 26.4 構建PairTrading 類 387 26.5 Python 實測配對交易交易策略 391 第5 部分技術指標與量化投資399 第27 章K 線圖 400 27.1 K 線圖簡介 400 27.2 Python 繪製上證綜指K 線圖 403 27.3 Python 捕捉K 線圖的形態 405 27.3.1 Python 捕捉「早晨之星」 406 27.3.2 Python 語言捕捉「烏雲蓋頂」形態 410 第28 章動量交易策略 416 28.1 動量概念介紹 416 28.2 動量效應產生的緣由 416 28.3 價格動量的計算公式 417 28.3.1 做差法求動量值 417 28.3.2 作除法求動量值 418 28.4 編寫動量函數momentum( ) 420 28.5 萬科股票2015 年走勢及35 日動量線 420 28.6 動量交易策略的通常思路 423 第29 章RSI 相對強弱指標 429 29.1 RSI 基本概念 429 29.2 Python 計算RSI 值 429 29.3 Python 編寫rsi( ) 函數 434 29.4 RSI 天數的差別 435 29.5 RSI 指標判斷股票超買和超賣狀態 436 29.6 RSI 的「黃金交叉」與「死亡交叉」 437 29.7 交通銀行股票RSI 指標交易實測 438 29.7.1 RSI 捕捉交通銀行股票買賣點 438 29.7.2 RSI 交易策略執行及回測 440 第30 章均線系統策略 446 30.1 簡單移動平均 446 30.1.1 簡單移動平均數 446 30.1.2 簡單移動平均函數 448 30.1.3 期數選擇 449 30.2 加權移動平均 449 30.2.1 加權移動平均數 449 30.2.2 加權移動平均函數 451 30.3 指數加權移動平均 452 30.3.1 指數加權移動平均數 452 30.3.2 指數加權移動平均函數 454 30.4 建立movingAverage 模組 454 30.5 經常使用平均方法的比較 455 30.6 中國銀行股價數據與均線分析 456 30.7 均線時間跨度 458 30.8 中國銀行股票均線系統交易 459 30.8.1 簡單移動平均線制定中國銀行股票的買賣點 459 30.8.2 雙均線交叉捕捉中國銀行股票的買賣點 462 30.9 異同移動平均線(MACD) 464 30.9.1 MACD 的求值過程 464 30.9.2 異同均線(MACD)捕捉中國銀行股票的買賣點 466 30.10 多種均線指標綜合運用模擬實測 468 第31 章通道突破策略 473 31.1 通道突破簡介 473 31.2 唐奇安通道 473 31.2.1 唐奇安通道刻畫 473 31.2.2 Python 捕捉唐奇安通道突破 476 31.3 布林帶通道 478 31.4 布林帶通道與市場風險 481 31.5 通道突破交易策略的制定 484 31.5.1 通常布林帶上下通道突破策略 484 31.5.2 特殊布林帶通道突破策略 485 第32 章隨機指標交易策略 489 32.1 什麼是隨機指標(KDJ) 489 32.2 隨機指標的原理 489 32.3 KDJ 指標的計算公式 490 32.3.1 未成熟隨機指標RSV 490 32.3.2 K、D 指__________標計算 495 32.3.3 J 指標計算 497 32.3.4 KDJ 指標簡要分析 498 32.4 KDJ 指標的交易策略 499 32.5 KDJ 指標交易實測 499 32.5.1 KD 指標交易策略 499 32.5.2 KDJ 指標交易策略 503 32.5.3 K 線、D 線「金叉」與「死叉」 504 第33 章量價關係分析 509 33.1 量價關係概述 509 33.2 量價關係分析 509 33.2.1 價漲量增 510 33.2.2 價漲量平 512 33.2.3 價漲量縮 512 33.2.4 價平量增 513 33.2.5 價平量縮 514 33.2.6 價跌量增 514 33.2.7 價跌量平 515 33.2.8 價跌量縮 515 33.3 不一樣價格段位的成交量 516 33.4 成交量與均線思想結合制定交易策略 518 第34 章OBV 指標交易策略 524 34.1 OBV 指標概念 524 34.2 OBV 指標計算方法 524 34.3 OBV 指標的理論依據 527 34.4 OBV 指標的交易策略制定 527 34.5 OBV 指標交易策略的Python 實測 528 34.6 OBV 指標的應用原則 530