關(guān)于我們
書單推薦
新書推薦
|
量化投資
本書主要講解量化投資的思想和策略,并借助Python語言進行實戰(zhàn)。由三部分組成:首先,對Python編程語言的介紹,通過學習,讀者可以迅速掌握用Python語言處理數(shù)據(jù)的方法,靈活運用Python語言解決實際金融問題;其次,向讀者介紹量化投資的理論知識,主要講解量化投資所需的數(shù)量基礎(chǔ)與量化投資的類型等方面;最后,將以上兩部分內(nèi)容結(jié)合起來,講述如何在Python語言中構(gòu)建量化投資策略。
指導讀者:
迅速掌握用Python 語言處理數(shù)據(jù)的方法; 靈活運用Python 解決實際金融問題; 掌握量化投資所需的理論知識; 領(lǐng)會如何在Python 語言中構(gòu)建量化投資策略。
過去十年,一股“量化投資”的熱潮在中國悄然掀起。最近這兩年,投資人對量化的關(guān)注更是到達了前所未有的地步。除了業(yè)界到處尋找量化團隊以外,各種量化基金如雨后春筍般出現(xiàn),各個大學校園也開始舉辦一場又一場的量化講座、研討會等。量化投資一時蔚為風行,產(chǎn)官學共襄盛舉。
這么受人矚目的議題,到底它的內(nèi)涵是什么呢?為了了解量化投資這個概念,我們先回顧一下投資分析與決策過程。在投資分析與實戰(zhàn)中,雖然個中滋味如人飲水,個中細節(jié)一言難盡,但“投資”大致上會有如下幾個階段:首先,投資人利用各種工具與分析方法,建構(gòu)模型(系統(tǒng))來驗證買賣標的、時點、價位等有效性;第二階段則篩選經(jīng)過分析與驗證得到的結(jié)論,實際應用于交易;一個嚴謹?shù)耐顿Y人,通常還會有第三階段,即在實際投資的過程中,不斷地修正與完善自已的模型(系統(tǒng))。 在資訊工具不發(fā)達的年代,這些過程往往以質(zhì)化為主。例如,基金經(jīng)理人會研究上巿公司財務報表,拜訪公司高層,以經(jīng)驗判斷技術(shù)指標的趨勢與形態(tài),做出投資的買賣決策。這種做法帶有很大的主觀性,因此又被稱為“主觀交易”。主觀交易的流弊,在于決策基礎(chǔ)多源于“大膽假設(shè)”而缺乏科學方法“小心求證”的過程。更甚者,行為金融學指出,投資人的行為往往易受各種心理認知謬誤的影響而傷害投資績效。除此之外,在瞬息萬變的金融巿場中,主觀交易者若要處變不驚地堅守操作紀律,同時眼明手快地捕捉稍縱即逝的機會,也常有“力不從心”之嘆。 相較于主觀交易所遭遇的問題,量化投資則在上述投資的各個階段,利用數(shù)學、統(tǒng)計、計算機等分析工具來建立模型,據(jù)以客觀地分析數(shù)據(jù),按事先設(shè)定好的投資邏輯來進行投資決策,在理想狀況下自動化執(zhí)行下單。正因為如此,量化投資擁有可驗證性、紀律性與即時性等許多主觀交易不可企及的優(yōu)勢。若再善用計算機技術(shù),量化交易者可以處理的資訊量更讓主觀交易者望塵莫及。如此說來,采用量化技術(shù)豈非在投資上立于不敗之地? 讀者只要稍加思考即可發(fā)現(xiàn),量化投資的模型很容易因建模者的能力不同而良莠不齊。此外,絕大多數(shù)模型的核心思想在于“以史為鍳”;在對歷史數(shù)據(jù)依賴度高的前提下,一旦遇到新興的金融巿場或歷史不曾出現(xiàn)的事件,量化投資者也只能徒呼負負。既然主觀交易有諸多限制,量化交易又并非萬能,那么,對投資績效念茲在茲的投資者,究竟該何去何從呢?我們要提醒讀者的是,編程語言、統(tǒng)計、金融、技術(shù)指標等量化投資常用的知識只是工具,它們就像武俠小說中的寶劍與武功秘籍,雖然很重要,卻不是笑傲江湖的保證。寶劍鋒從磨礪出,只有勤練武藝,在實戰(zhàn)中積累經(jīng)驗,才能審時度勢,百戰(zhàn)不殆。 本書旨在對量化投資做廣泛與初步的介紹,希望能引領(lǐng)讀者進入這個引人入勝的學術(shù)與實務領(lǐng)域。囿于筆者的學養(yǎng)見識,書中內(nèi)容或有疏漏謬誤之處,尚祈先進專家能不吝指正。最后,謹以此書表達對熱血投資大眾的獻曝之忱。若讀者需要書中的習題解答、代碼、數(shù)據(jù)、勘誤補充及量化相關(guān)資訊,可發(fā)郵件至service@baoquant.com索取,來信請在郵件標題中寫明書名:《量化投資:以Python為工具》。
蔡立耑,美國伊利諾伊大學金融碩士,華盛頓大學經(jīng)濟學碩士、博士。在人工智能、大數(shù)據(jù)分析、金融創(chuàng)新、量化投資等領(lǐng)域有豐富的實戰(zhàn)經(jīng)驗。
第1 部分Python 入門 1
第1 章Python 簡介與安裝使用 2 1.1 Python 概述 1.2 Python 的安裝 1.2.1 下載安裝Python 執(zhí)行文件 1.2.2 下載安裝Anaconda 1.2.3 多種Python 版本并存 1.3 Python 的簡單使用 1.4 交互對話環(huán)境IPython 1.4.1 IPython 的安裝 1.4.2 IPython 的使用 1.4.3 IPython 功能介紹 第2 章Python 代碼的編寫與執(zhí)行 2.1 創(chuàng)建Python 腳本文件 2.1.1 記事本 2.1.2 Python 默認的IDLE 環(huán)境 2.1.3 專門的程序編輯器 2.2 執(zhí)行.py 文件 2.2.1 IDLE 環(huán)境自動執(zhí)行 2.2.2 在控制臺cmd 中執(zhí)行 2.2.3 在Annaconda Prompt 中執(zhí)行 2.3 Python 編程小技巧 2.3.1 Python 行 2.3.2 Python 縮進 第3 章Python 對象類型初探 23 3.1 Python 對象 3.2 變量命名規(guī)則 3.3 數(shù)值類型 3.3.1 整數(shù) 3.3.2 浮點數(shù) 3.3.3 布爾類型 3.3.4 復數(shù) 3.4 字符串 3.5 列表 3.6 可變與不可變 3.7 元組 3.8 字典 3.9 集合 第4 章Python 集成開發(fā)環(huán)境:Spyder 介紹 36 4.1 代碼編輯器 4.2 代碼執(zhí)行Console 4.3 變量查看與編輯 4.4 當前工作路徑與文件管理 4.5 幫助文檔與在線幫助 4.6 其他功能 第5 章Python 運算符與使用 44 5.1 常用運算符 5.1.1 算術(shù)運算符 5.1.2 賦值運算符 5.1.3 比較運算符 5.1.4 邏輯運算符 5.1.5 身份運算符 5.1.6 成員運算符 5.1.7 運算符的優(yōu)先級 5.2 具有運算功能的內(nèi)置函數(shù) 第6 章Python 常用語句 55 6.1 賦值語句 6.1.1 賦值含義與簡單賦值 6.1.2 多重賦值 6.1.3 多元賦值 6.1.4 增強賦值 6.2 條件語句 6.3 循環(huán)語句 6.3.1 for 循環(huán) 6.3.2 while 循環(huán) 6.3.3 嵌套循環(huán) 6.3.4 break、continue 等語句 第7 章函數(shù) 7.1 函數(shù)的定義與調(diào)用 7.2 函數(shù)的參數(shù) 7.3 匿名函數(shù) 7.4 作用域 第8 章面向?qū)ο?br /> 8.1 類 8.2 封裝 8.3 繼承(Inheritance) 第9 章Python 標準庫與數(shù)據(jù)操作 9.1 模塊、包和庫 9.1.1 模塊 9.1.2 包 9.1.3 庫 9.2 Python 標準庫介紹 9.3 Python 內(nèi)置數(shù)據(jù)類型與操作 9.3.1 序列類型數(shù)據(jù)操作 9.3.1.1 list 類型與操作 9.3.1.2 tuple 類型與操作 9.3.1.3 range 類型與操作 9.3.1.4 字符串操作 9.3.2 字典類型操作 9.3.3 集合操作 第10 章常用第三方庫:Numpy 庫與多維數(shù)組 10.1 NumPy 庫 10.2 創(chuàng)建數(shù)組 10.3 數(shù)組元素索引與切片 10.4 數(shù)組運算 第11 章常用第三方庫:Pandas 與數(shù)據(jù)處理 11.1 Series 類型數(shù)據(jù) 11.1.1 Series 對象的創(chuàng)建 11.1.2 Series 對象的元素提取與切片 11.1.2.1 調(diào)用方法提取元素 11.1.2.2 利用位置或標簽提取元素與切片 11.1.3 時間序列 11.2 DataFrame 類型數(shù)據(jù) 11.2.1 創(chuàng)建DataFrame 對象 11.2.2 查看DataFrame 對象 11.2.3 DataFrame 對象的索引與切片 11.2.4 DataFrame 的操作 11.2.5 DataFrame 的運算 11.3 數(shù)據(jù)規(guī)整化 11.3.1 缺失值的處理 11.3.1.1 缺失值的判斷 11.3.1.2 選出不是缺失值的數(shù)據(jù) 11.3.2 缺失值的填充 11.3.3 缺失值的選擇刪除 11.3.4 刪除重復數(shù)據(jù) 第12 章常用第三方庫:Matplotlib 庫與數(shù)據(jù)可視化 12.1 Matplotlib 簡介 12.2 修改圖像屬性 12.2.1 坐標 12.2.1.1 更改坐標軸范圍 12.2.1.2 設(shè)定坐標標簽與顯示角度 12.2.2 添加文本 12.2.2.1 添加標題 12.2.2.2 中文顯示問題 12.2.2.3 設(shè)定坐標軸標簽 12.2.2.4 增加圖形背景grid 12.2.2.5 增加圖例 12.2.3 多種線條屬性 12.2.3.1 線條的類型 12.2.3.2 圖形的顏色 12.2.3.3 點的形狀類型 12.2.3.4 線條寬度 12.3 常見圖形的繪制 12.3.1 柱狀圖(Bar charts) 12.3.2 直方圖 12.3.3 餅圖 12.3.4 箱線圖 12.4 Figure、Axes 對象與多圖繪制 12.4.1 Figure、Axes 對象 12.4.2 多圖繪制 12.4.2.1 多個子圖繪制 12.4.2.2 一個圖中多條曲線繪制 第2 部分統(tǒng)計學基礎(chǔ) 第13 章描述性統(tǒng)計 13.1 數(shù)據(jù)類型 13.2 圖表 13.2.1 頻數(shù)分布表 13.2.2 直方圖 13.3 數(shù)據(jù)的位置 13.4 數(shù)據(jù)的離散度 第14 章隨機變量簡介 14.1 概率與概率分布 14.1.1 離散型隨機變量 14.1.2 連續(xù)型隨機變量 14.2 期望值與方差 14.3 二項分布 14.4 正態(tài)分布 14.5 其他連續(xù)分布 14.5.1 卡方分布 14.5.2 t 分布 14.5.3 F 分布 14.6 變量的關(guān)系 14.6.1 聯(lián)合概率分布 14.6.2 變量的獨立性 14.6.3 變量的相關(guān)性 14.6.4 上證綜指與深證綜指的相關(guān)性分析 第15 章推斷統(tǒng)計 15.1 參數(shù)估計 15.1.1 點估計 15.1.2 區(qū)間估計 15.2 案例分析 15.3 假設(shè)檢驗 15.3.1 兩類錯誤 15.3.2 顯著性水平與p 值 15.3.3 確定小概率事件 15.4 t 檢驗 15.4.1 單樣本t 檢驗 15.4.2 獨立樣本t 檢驗 15.4.3 配對樣本t 統(tǒng)計量的構(gòu)造 第16 章方差分析 16.1 方差分析之思想 16.2 方差分析之原理 16.2.1 離差平方和 16.2.2 自由度 16.2.3 顯著性檢驗 16.3 方差分析之Python 實現(xiàn) 16.3.1 單因素方差分析 16.3.2 多因素方差分析 16.3.3 析因方差分析 第17 章回歸分析 17.1 一元線性回歸模型 17.1.1 一元線性回歸模型 17.1.2 最小平方法 17.2 模型擬合度 17.3 古典假設(shè)條件下^_、^ _ 之統(tǒng)計性質(zhì) 17.4 顯著性檢驗 17.5 上證綜指與深證成指的回歸分析與Python 實踐 17.5.1 Python 擬合回歸函數(shù) 17.5.2 繪制回歸診斷圖 17.6 多元線性回歸模型 17.7 多元線性回歸案例分析 17.7.1 價格水平對GDP 的影響 17.7.2 考量自變量共線性因素的新模型 第3 部分金融理論、投資組合與量化選股 第18 章資產(chǎn)收益率和風險 18.1 單期與多期簡單收益率 18.1.1 單期簡單收益率 18.1.2 多期簡單收益率 18.1.3 Python 函數(shù)計算簡單收益率 18.1.4 單期與多期簡單收益率的關(guān)系 18.1.5 年化收益率 18.1.6 考慮股利分紅的簡單收益率 18.2 連續(xù)復利收益率 18.2.1 多期連續(xù)復利收益率 18.2.2 單期與多期連續(xù)復利收益率的關(guān)系 18.3 繪制收益圖 18.4 資產(chǎn)風險的來源 18.4.1 市場風險 18.4.2 利率風險 18.4.3 匯率風險 18.4.4 流動性風險 18.4.5 信用風險 18.4.6 通貨膨脹風險 18.4.7 營運風險 18.5 資產(chǎn)風險的測度 18.5.1 方差 18.5.2 下行風險 18.5.3 風險價值 18.5.4 期望虧空 18.5.5 最大回撤 第19 章投資組合理論及其拓展 19.1 投資組合的收益率與風險 19.2 Markowitz 均值-方差模型 19.3 Markowitz 模型之Python 實現(xiàn) 19.4 Black-Litterman 模型 第20 章資本資產(chǎn)定價模型(CAPM) 20.1 資本資產(chǎn)定價模型的核心思想 20.2 CAPM 模型的應用 20.3 Python 計算單資產(chǎn)CAPM 實例 20.4 CAPM 模型的評價 第21 章Fama-French 三因子模型 21.1 Fama-French 三因子模型的基本思想 21.2 三因子模型之Python 實現(xiàn) 21.3 三因子模型的評價 第4 部分時間序列簡介與配對交易 317 第22 章時間序列基本概念 318 22.1 認識時間序列 22.2 Python 中的時間序列數(shù)據(jù) 22.3 選取特定日期的時間序列數(shù)據(jù) 22.4 時間序列數(shù)據(jù)描述性統(tǒng)計 第23 章時間序列的基本性質(zhì) 326 23.1 自相關(guān)性 23.1.1 自協(xié)方差 23.1.2 自相關(guān)系數(shù) 23.1.3 偏自相關(guān)系數(shù) 23.1.4 acf( ) 函數(shù)與pacf( ) 函數(shù) 23.1.5 上證綜指的收益率指數(shù)的自相關(guān)性判斷 23.2 平穩(wěn)性 23.2.1 強平穩(wěn) 23.2.2 弱平穩(wěn) 23.2.3 強平穩(wěn)與弱平穩(wěn)的區(qū)別 23.3 上證綜指的平穩(wěn)性檢驗 23.3.1 觀察時間序列圖 23.3.2 觀察序列的自相關(guān)圖和偏自相關(guān)圖 23.3.3 單位根檢驗 23.4 白噪聲 23.4.1 白噪聲 23.4.2 白噪聲檢驗――Ljung-Box 檢驗 23.4.3 上證綜合指數(shù)的白噪聲檢驗 第24 章時間序列預測 24.1 移動平均預測 24.1.1 簡單移動平均 24.1.2 加權(quán)移動平均 24.1.3 指數(shù)加權(quán)移動平均 24.2 ARMA 模型預測 24.2.1 自回歸模型 24.2.2 移動平均模型 24.3 自回歸移動平均模型 24.4 ARMA 模型的建模過程 24.5 CPI 數(shù)據(jù)的ARMA 短期預測 24.5.1 序列識別 24.5.2 模型識別與估計 24.5.3 模型診斷 24.5.4 運用模型進行預測 24.6 股票收益率的平穩(wěn)時間序列建模 第25 章GARCH 模型 25.1 資產(chǎn)收益率的波動率與ARCH 效應 25.2 ARCH 模型和GARCH 模型 25.2.1 ARCH 模型 25.2.2 GARCH 模型 25.3 ARCH 效應檢驗 25.4 GARCH 模型構(gòu)建 第26 章配對交易策略 26.1 什么是配對交易 26.2 配對交易的思想 26.3 配對交易的步驟 26.3.1 股票對的選擇 26.3.2 配對交易策略的制定 26.4 構(gòu)建PairTrading 類 26.5 Python 實測配對交易交易策略 第5 部分技術(shù)指標與量化投資 第27 章K 線圖 27.1 K 線圖簡介 27.2 Python 繪制上證綜指K 線圖 27.3 Python 捕捉K 線圖的形態(tài) 27.3.1 Python 捕捉“早晨之星” 27.3.2 Python 語言捕捉“烏云蓋頂”形態(tài) 第28 章動量交易策略 28.1 動量概念介紹 28.2 動量效應產(chǎn)生的原因 28.3 價格動量的計算公式 28.3.1 作差法求動量值 28.3.2 做除法求動量值 28.4 編寫動量函數(shù)momentum( ) 28.5 萬科股票2015 年走勢及35 日動量線 28.6 動量交易策略的一般思路 第29 章RSI 相對強弱指標 29.1 RSI 基本概念 29.2 Python 計算RSI 值 29.3 Python 編寫rsi( ) 函數(shù) 29.4 RSI 天數(shù)的差異 29.5 RSI 指標判斷股票超買和超賣狀態(tài) 29.6 RSI 的“黃金交叉”與“死亡交叉” 29.7 交通銀行股票RSI 指標交易實測 29.7.1 RSI 捕捉交通銀行股票買賣點 29.7.2 RSI 交易策略執(zhí)行及回測 第30 章均線系統(tǒng)策略 30.1 簡單移動平均 30.1.1 簡單移動平均數(shù) 30.1.2 簡單移動平均函數(shù) 30.1.3 期數(shù)選擇 30.2 加權(quán)移動平均 30.2.1 加權(quán)移動平均數(shù) 30.2.2 加權(quán)移動平均函數(shù) 30.3 指數(shù)加權(quán)移動平均 30.3.1 指數(shù)加權(quán)移動平均數(shù) 30.4 創(chuàng)建movingAverage 模組 30.5 常用平均方法的比較 30.6 中國銀行股價數(shù)據(jù)與均線分析 30.7 均線時間跨度 30.8 中國銀行股票均線系統(tǒng)交易 30.8.1 簡單移動平均線制定中國銀行股票的買賣點 30.8.2 雙均線交叉捕捉中國銀行股票的買賣點 30.9 異同移動平均線(MACD) 30.9.1 MACD 的求值過程 30.9.2 異同均線(MACD)捕捉中國銀行股票的買賣點 30.10 多種均線指標綜合運用模擬實測 第31 章通道突破策略 31.1 通道突破簡介 31.2 唐奇安通道 31.2.1 唐奇安通道刻畫 31.2.2 Python 捕捉唐奇安通道突破 31.3 布林帶通道 31.4 布林帶通道與市場風險 31.5 通道突破交易策略的制定 31.5.1 一般布林帶上下通道突破策略 31.5.2 特殊布林帶通道突破策略 第32 章隨機指標交易策略 32.1 什么是隨機指標(KDJ) 32.2 隨機指標的原理 32.3 KDJ 指標的計算公式 32.3.1 未成熟隨機指標RSV 32.3.2 K、D 指標計算 32.3.3 J 指標計算 32.3.4 KDJ 指標簡要分析 32.4 KDJ 指標的交易策略 32.5 KDJ 指標交易實測 32.5.1 KD 指標交易策略 32.5.2 KDJ 指標交易策略 32.5.3 K 線、D 線“金叉”與“死叉” 第33 章量價關(guān)系分析 33.1 量價關(guān)系概述 33.2 量價關(guān)系分析 33.2.1 價漲量增 33.2.2 價漲量平 33.2.3 價漲量縮 33.2.4 價平量增 33.2.5 價平量縮 33.2.6 價跌量增 33.2.7 價跌量平 33.2.8 價跌量縮 33.3 不同價格段位的成交量 33.4 成交量與均線思想結(jié)合制定交易策略 第34 章OBV 指標交易策略 524 34.1 OBV 指標概念 34.2 OBV 指標計算方法 34.3 OBV 指標的理論依據(jù) 34.4 OBV 指標的交易策略制定 34.5 OBV 指標交易策略的Python 實測 34.6 OBV 指標的應用原則
你還可能感興趣
我要評論
|