《Python金融量化分析》是有關(guān)Python在金融量化分析領(lǐng)域應(yīng)用的一本從入門到精通類圖書。全書分4篇共10章。第1篇(第1~3章)簡單介紹了Python的基礎(chǔ)知識,包括數(shù)據(jù)類型、循環(huán)體、函數(shù)、類與面向?qū)ο,以及常用的標準庫與擴展庫;第2篇(第4~6章)介紹了Python在金融量化交易中的應(yīng)用,包括資產(chǎn)類別、衍生品等金融基礎(chǔ)知識,數(shù)學與統(tǒng)計學基礎(chǔ)知識,以及量化投資策略開發(fā)的一般化流程;第3篇(第7、8章)介紹了Python在量化風險管理中的應(yīng)用,包括風險類別的介紹、市場因子的模擬,以及投資組合優(yōu)化;第4篇(第9、10章)用5個實戰(zhàn)案例具體演示了Python在金融量化分析中的應(yīng)用。
《Python金融量化分析》適合具備一定數(shù)學、金融、計算機基礎(chǔ)及編程經(jīng)驗的專業(yè)技術(shù)人員閱讀學習,也適合相關(guān)專業(yè)高年級本科生、研究生學習參考。
1. 作者專業(yè)。兩位作者分別為中銀金科技術(shù)專家和阿里集團前算法專家,具有深厚的專業(yè)技術(shù)背景。對Python編程和金融量化分析都有自己的獨特見解。
2. 內(nèi)容實用。書中所講內(nèi)容均為量化分析師必備的專業(yè)技能,所有案例均為實際項目改變,有很強的實操性,幫助讀者快速上手。
3. 配套豐富。本書附贈30個(總長超過330分鐘)的視頻教程和全部案例的源代碼下載。
當代的金融量化分析,是一個集金融、數(shù)學、統(tǒng)計學與計算機科學等多學科知識于一體的交叉領(lǐng)域。其主要指借助計算機的高效運算速度,把數(shù)學和統(tǒng)計學模型應(yīng)用在金融活動中指導交易的進行。
高級的量化技術(shù)有兩個主要的分支:一個是衍生品定價,另一個是風險和投資組合管理。有關(guān)衍生品定價最早的一部著作,一般認為是法國數(shù)學家路易斯·巴舍利耶(Louis Bachelier)在1900年發(fā)表的關(guān)于期權(quán)定價的學位論文Theorie de la Speculation,它被公認為是現(xiàn)代金融學的里程碑。此后直到20世紀70年代,隨著費希爾·布萊克(Fischer Black)、邁倫·斯科爾斯(Myron Scholes)和羅伯特·默頓(Robert Merton)在期權(quán)定價理論方面取得重大突破之后,數(shù)學金融才正式成為一門學科。而關(guān)于量化分析在投資方面應(yīng)用的研究,則源于20世紀60年代美國麻省理工學院的愛德華·索普(Edward Thorp),他使用統(tǒng)計模型首先發(fā)明了二十一點的算牌方法,然后將其原理應(yīng)用于現(xiàn)代系統(tǒng)投資。
到了21世紀,伴隨著大數(shù)據(jù)、云計算、人工智能技術(shù)的長足進步,量化分析更是如虎添翼。大批的量化分析師活躍在金融領(lǐng)域的各個方向,包括投資銀行、基金公司、券商金融工程、資產(chǎn)管理公司、私募公司、金融科技公司等。工作職能包括量化研究、量化交易、量化風控、數(shù)據(jù)結(jié)構(gòu)和算法、系統(tǒng)開發(fā)和運維、模型和咨詢等。
作者是數(shù)學與統(tǒng)計學背景出身,博士期間的主要研究方向就是時間序列分析,可以說與金融市場息息相關(guān)。畢業(yè)之后又在大型金融機構(gòu)從事了多年金融量化分析工作,工作內(nèi)容和研究方向涵蓋了量化分析的各個主要方向。同時工作中主要使用的編程語言是Python,深刻體會到了這門語言在量化分析工作中的優(yōu)勢,因此萌生了編寫本書的想法。
《Python金融量化分析》共10章。第1章從最基礎(chǔ)的Python知識入手,介紹了數(shù)據(jù)類型、運算符、條件語句、循環(huán)嵌套和函數(shù)。第2章從類的基本定義出發(fā),介紹了類的屬性、方法和繼承等特征,簡單闡述了Python作為一門面向?qū)ο蟮木幊陶Z言,其本身的一些特點。第3章介紹了模塊、包和庫的概念,列舉了幾個常用的標準庫,并重點介紹了Python在量化分析里最重要的三個擴展庫,即numPy、pandas和matplotlib。第4章介紹了主要的資產(chǎn)類別和期貨、期權(quán)、互換等常見衍生品的定義與定價模型。第5章主要介紹量化分析中會用到的數(shù)學和統(tǒng)計學知識,包含一些重要的概率分布類型、統(tǒng)計學習模型和數(shù)值計算方法等。第6章介紹了量化分析的現(xiàn)狀,對比了量化分析師的兩個大類P-Quant與Q-quant,而后側(cè)重于量化投資方向,簡單描述了投資策略開發(fā)的流程與主要步驟。第7章介紹量化分析在風險管理方面的應(yīng)用,包括市場風險、信用風險和操作風險的常用風險度量的定義和計算方法。第8章具體描述量化風險管理中最核心的關(guān)于市場因子模擬模型的諸多細節(jié),如資本資產(chǎn)定價模型、相關(guān)系數(shù)矩陣的分解,以及投資組合管理中的組合優(yōu)化問題等。第9章包含三個Python在量化投資領(lǐng)域的實戰(zhàn)案例,分別是批量獲取和整理量化分析需要的數(shù)據(jù)、多因子投資策略和雙均線投資策略。第10章包含兩個Python在量化風險管理方向的實戰(zhàn)案例,一個是搭建可擴展的股票市場的市場因子模擬模型的框架,另一個是利用歷史模擬數(shù)據(jù)計算衍生品組合的風險價值。
Python金融量化分析編寫這樣一本關(guān)于Python金融量化分析的書籍不是一件容易的事情,困難一方面在于它所涉及知識的多學科性,另一方面在于這些學科或者方向本身也處于不斷發(fā)展和成長中。因此書中的一些認知和觀點只能算是作者的一家之言,不全面、不準確或錯漏之處在所難免。編寫本書的目的是給廣大Python和金融量化分析的愛好者和初級從業(yè)人員提供一本入門書籍;谶@樣的認識,作者期望能拋磚引玉,幫助更多從業(yè)者和大學生進入這個行業(yè)。若本書能起到這樣的作用,作者將深感欣慰。
作者
1. 張奎,中銀金科技術(shù)專家,美國杜蘭大學統(tǒng)計學博士,中國科學技術(shù)大學數(shù)學系本碩學位。曾先后任職于美國花旗銀行、富國銀行,有多年金融量化分析從業(yè)經(jīng)歷。精通數(shù)學、概率統(tǒng)計、Python、金融基礎(chǔ)知識,對機器學習模型、Python程序設(shè)計與開發(fā)、金融產(chǎn)品定價模型都有自己獨到和深入的理解。
2. 馬萌,美國杜蘭大學數(shù)學碩士,量化基金經(jīng)理,8年量化投資經(jīng)驗。著有《MATLAB量化金融分析基礎(chǔ)與實戰(zhàn)》。曾就職于阿里巴巴集團,任算法專家,精通機器學習及深度學習在金融行業(yè)的實戰(zhàn)應(yīng)用,目前主要研究方向為二級市場高頻交易。
前言
第1篇 Python相關(guān)知識
第1章 Python基礎(chǔ)知識/
1.1 數(shù)據(jù)類型/
1.1.1 字符串/
1.1.2 列表/
1.1.3 元組/
1.1.4 字典/
1.2 運算符/
1.2.1 算術(shù)運算符/
1.2.2 比較運算符/
1.2.3 賦值運算符/
1.2.4 位運算符/
1.3 條件語句/
1.4 循環(huán)語句及嵌套/
1.4.1 while循環(huán)/
1.4.2 for循環(huán)/
1.4.3 嵌套、break與continue/
1.5 函數(shù)/
1.5.1 參數(shù)傳遞/
1.5.2 不定長參數(shù)/
1.5.3 返回值/
第2章 類與面向?qū)ο?
2.1 類的基本概念/
2.2 類的屬性/
2.2.1 類屬性/
2.2.2 實例屬性/
2.3 類的方法/
2.3.1 實例方法/
2.3.2 類方法/
2.3.3 靜態(tài)方法/
2.4 類的繼承/
2.5 運算符重載/
2.6 私有與保護類型/
2.7 直接賦值、淺復(fù)制和深度復(fù)制/
第3章 模塊、包與庫/
3.1 模塊的基本概念/
3.1.1 模塊的__dict__屬性/
3.1.2 導入模塊的幾種方法/
3.1.3 if __name__==__main__/
3.2 常用的標準庫模塊/
3.2.1 sys/
3.2.2 os/
3.2.3 glob/
3.2.4 datetime/
3.2.5 math/
3.2.6 thread/
3.2.7 urllib/
3.3 擴展程序庫numPy/
3.3.1 numPy.ndarrays/
3.3.2 numPy數(shù)組的基本運算/
3.3.3 矩陣運算與隨機數(shù)生成/
3.4 擴展程序庫pandas/
3.4.1 Series與DataFrame/
3.4.2 apply/
3.4.3 merge和append/
3.4.4 groupby/
3.4.5 read_csv和to_csv/
3.5 擴展程序庫matplotlib/
3.5.1 figure與add_subplot/
3.5.2 matplotlib.pyplot.axes/
第2篇 Python在量化交易中的運用
第4章 金融基礎(chǔ)知識/
4.1 金融資產(chǎn)類別/
4.1.1 固定收益/
4.1.2 外匯/
4.1.3 權(quán)益/
4.1.4 商品/
4.1.5 信用/
4.2 金融衍生品/
4.2.1 遠期與期貨合約/
4.2.2 期權(quán)/
4.2.3 互換/
4.2.4 其他衍生品/
4.3 場內(nèi)交易與場外交易/
4.4 實例:用Python求歐式期權(quán)的隱含波動率/
第5章 數(shù)學與統(tǒng)計學基礎(chǔ)知識/
5.1 統(tǒng)計學中常見的概率分布/
5.1.1 離散型概率分布/
5.1.2 連續(xù)型概率分布/
5.2 貝葉斯公式/
5.3 蒙特卡洛模擬與中心極限定理/
5.4 隨機過程與時間序列/
5.5 幾種經(jīng)典隨機過程模型/
5.5.1 分式布朗運動/
5.5.2 馬爾可夫過程/
5.6 常見的統(tǒng)計學習方法/
5.6.1 線性回歸與邏輯回歸/
5.6.2 決策樹與隨機森林/
5.6.3 K-均值算法/
5.6.4 神經(jīng)網(wǎng)絡(luò)與深度學習/
5.7 數(shù)值計算方法/
5.7.1 牛頓法/
5.7.2 梯度下降法/
5.7.3 有限差分法/
5.8 實例:用深度學習處理分類問題/
第6章 量化交易與投資策略開發(fā)/
6.1 量化交易的市場現(xiàn)狀/
6.2 P-Quant與Q-Quant/
6.3 量化投資策略的類別/
6.4 策略開發(fā)的一些思路/
6.5 數(shù)據(jù)的收集整理與修正/
6.5.1 日期的格式/
6.5.2 文件傳輸格式/
6.5.3 數(shù)據(jù)質(zhì)量問題的處理/
6.6 程序和模型的測試與分析/
6.6.1 單元測試/
6.6.2 異常處理/
6.6.3 模型測試/
6.7 回測、模擬盤與實盤分析/
6.8 實例:Python爬蟲獲取公司財務(wù)數(shù)據(jù)/
第3篇 Python在量化風險管理中的應(yīng)用
第7章 量化風險管理的基礎(chǔ)知識/
7.1 什么是量化風險管理/
7.2 市場風險/
7.2.1 風險價值(VaR)/
7.2.2 預(yù)期虧損(ES)/
7.2.3 歷史模擬與蒙特卡洛/
7.3 信用風險/
7.3.1 額外的時間維度/
7.3.2 潛在未來敞口(PFE)/
7.3.3 正向敞口期望(EPE)/
7.3.4 違約概率(PD)/
7.4 操作風險/
7.4.1 帕累托分布/
7.4.2 不平衡樣本/
7.5 投資組合的風險度量/
7.5.1 波動率/
7.5.2 大回撤/
7.6 實例:大回撤的O(n)復(fù)雜度的算法/
第8章 市場因子模型與組合優(yōu)化/
8.1 資本資產(chǎn)定價模型/
8.1.1 股票指數(shù)與個股/
8.1.2 特異波動率/
8.2 市場因子的相關(guān)矩陣/
8.2.1 Cholesky分解/
8.2.2 模擬指數(shù)與個股的走勢/
8.3 市場因子的主成分分析/
8.3.1 期貨合約的相關(guān)性/
8.3.2 主成分分析的數(shù)學原理/
8.3.3 用Python做主成分分析/
8.3.4 用主成分做模擬/
8.4 正態(tài)分布與肥尾分布/
8.4.1 股票回報率的肥尾現(xiàn)象/
8.4.2 正態(tài)分布的肥尾修正/
8.5 投資組合優(yōu)化/
8.5.1 Markowitz均值-方差模型/
8.5.2 數(shù)值方法優(yōu)化投資比例/
8.5.3 無風險收益率非零情況下的優(yōu)化/
8.6 實例:用蒙特卡洛模擬做優(yōu)化/