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