- 用監(jiān)督學習回歸模型開發(fā)算法交易策略和衍生品定價模型。
- 用監(jiān)督學習分類模型預測信貨違約概率,檢測欺詐行為。
- 用降維技術解決投資組合管理和收益率曲線構造問題。
- 為實現(xiàn)交易策略和管理投資組合,用降維和聚類技術尋找相似資產(chǎn)。
- 用強化學習模型和技術開發(fā)交易策略、衍生品對沖策略,管理投資組合。
- 用NLTK和scikit-learn等Python庫解決金融領域自然語言處理問題。
今后幾年,機器學習和數(shù)據(jù)科學將在金融業(yè)掀起巨變。對沖基金、投資和零售銀行、金融科技從業(yè)者可從本書學到金融業(yè)核心機器學習算法。本書不僅介紹監(jiān)督學習、無監(jiān)督學習和強化學習三大類機器學習技術和自然語言處理(NLP)技術相關概念,還通過近20個案例研究,詳細介紹它們在金融領域的應用。
本書涵蓋投資組合管理、算法交易、衍生品定價、欺詐檢測、資產(chǎn)價格預測、情感分析和聊天機器人開發(fā)等主題,不論你是分析師、交易員、研究員或開發(fā)者,總有適合你深入學習的內(nèi)容。本書將帶你探究真實問題,學習科學可靠的解決方案。重點代碼詳細解讀,并佐以示例。本書代碼庫更配有完整代碼和運行結果,鉆研、運行代碼和比對結果更便捷。
前言
機器學習在金融業(yè)的價值日益顯著?梢灶A見,金融市場運轉必將離不開機器學習。分析師、投資組合經(jīng)理、交易員和首席投資官都應熟悉機器學習。銀行和其他金融機構正力求改進金融分析技術,簡化流程,并增強安全性,而機器學習逐漸成為其首選技術。機器學習在金融機構的應用呈上升趨勢,它有潛力改進各種系統(tǒng),這一點體現(xiàn)在交易策略、定價和風險管理上。
盡管機器學習正對金融服務業(yè)所有垂直領域產(chǎn)生重大影響,但一道鴻溝橫亙于機器學習算法的理念和實現(xiàn)之間。網(wǎng)上有關這些領域的材料鋪天蓋地,可條理清楚者少之又少。此外,大多數(shù)材料跑不出機器學習在算法交易中的應用這一主題。本書則填補該空白,為金融市場量身打造機器學習工具箱。讀者掌握這些工具,就可在用機器學習變革金融業(yè)的浪潮中一展身手。本書突破投資或交易策略領域,放眼用機器學習技藝研制金融業(yè)核心算法的全貌。
人們常以為機器學習模型較難實現(xiàn),但金融業(yè)的機器學習模型并不難。人們還誤以為建模必須要用大數(shù)據(jù)。有鑒于此,本書準備大量案例研究,它們幾乎涵蓋機器學習的所有領域,以幫助讀者消除這類誤解。機器學習在交易策略中的應用,其相關理論和案例研究,本書會介紹,但除此之外,本書還將深入其他關鍵、必知概念,比如投資組合管理、衍生品定價、欺詐檢測、企業(yè)信用評級、智能投顧開發(fā)和聊天機器人開發(fā)。本書著力解決金融業(yè)從業(yè)人員所面對的實際問題,提供經(jīng)科學論證、真實可靠的解決方案,并佐以代碼和示例。
本書Python 代碼庫用GitHub 托管(https://github.com/tatsath/fin-ml),該倉庫對金融業(yè)從業(yè)人員非常有用,他們可將該倉庫作為自己項目的起點。本書示例和案例研究所展示技術可輕松應用于多種數(shù)據(jù)集。本書面向未來的案例研究,如用強化學習處理交易,搭建智能投顧,用機器學習為金融產(chǎn)品定價,鼓勵讀者跳出既有思維模式,調動積極性,發(fā)揮模型和數(shù)據(jù)作用,獲得最大回報。
目標讀者
本書內(nèi)容編排和所有主題適合在對沖基金、投資和零售銀行、金融科技公司工作的專業(yè)人士。其職位可能是數(shù)據(jù)科學家、數(shù)據(jù)工程師、量化研究員、機器學習架構師或軟件工程師。此外,本書還適合堅守支持崗位的專業(yè)人士,比如合規(guī)與風控崗。讀者不論是對沖基金量化交易員,正考慮采用強化學習技術交易加密貨幣,還是投行量化分析師,尋求用機器學習技術改進定價模型的校準速度,本書都將有所幫助。對于模型開發(fā)生命周期的每一步,從構思產(chǎn)生到模型實現(xiàn),本書所講理論、概念和代碼庫都極其有用。讀者可用本書共享代碼庫,自行測試本書所提供的解決方案。因此讀者在閱讀之余,還有大量動手機會。讀者應具備統(tǒng)計學、機器學習和Python基礎知識。
內(nèi)容編排
本書全面介紹如何用機器學習和數(shù)據(jù)科學技術設計模型,解決金融業(yè)不同領域的學習任務。本書內(nèi)容分為四大部分:
第一部分 框架
第一部分概括機器學習在金融業(yè)的使用情況,總覽機器學習實現(xiàn)的構建單元。這幾章作為本書后續(xù)章節(jié)案例研究的基礎,涵蓋不同機器學習類型。
第一部分含以下3 章:
第1 章,金融機器學習簡介。
本章概括金融機器學習應用全貌,并扼要介紹幾種機器學習方法。
第2 章,用Python 開發(fā)機器學習模型。
本章探討Python 機器學習生態(tài)系統(tǒng),并介紹用Python 框架開發(fā)機器學習模型的步驟。
第3 章,人工神經(jīng)網(wǎng)絡。
鑒于人工神經(jīng)網(wǎng)絡(ANN)是多種機器學習的主要算法,本章將介紹ANN的細節(jié),并給出用Python 庫實現(xiàn)ANN 模型的詳細過程。
第二部分 監(jiān)督學習
第二部分涵蓋基本的監(jiān)督學習算法,闡述其特定應用,研究相關案例。
第二部分含以下3 章:
第4 章,監(jiān)督學習:模型和概念。
本章簡要介紹監(jiān)督學習技術(分類和回歸)。鑒于大量模型既可用于分類又可用于回歸,本章將這些模型的細節(jié)和分類、回歸問題中的模型選擇和評價標準放在一起介紹。
第5 章,監(jiān)督學習:回歸(含時間序列模型)。
監(jiān)督學習回歸模型是金融業(yè)最常用機器學習模型。本章從基本線性回歸模型一直講到高級深度學習模型。本章研究股價預測模型、衍生品定價模型和投資組合管理模型。
第6 章,監(jiān)督學習:分類。
分類是監(jiān)督學習的子類,其目標是根據(jù)過去所觀察到的實例,預測新實例的類別標簽,這些標簽是與數(shù)值型相對的類別型。本章研究分類技術在金融業(yè)的應用,比如對率回歸、支持向量機和隨機森林。
第三部分 無監(jiān)督學習
第三部分涵蓋基本的無監(jiān)督學習算法、應用和案例研究。
第三部分含以下2 章:
第7 章,無監(jiān)督學習:降維。
本章介紹幾種重要降維技術,用其削減數(shù)據(jù)集特征數(shù),可保留特征的大多數(shù)有用和特異信息。本章還將討論降維方法主成分分析,案例研究包括投資組合管理、交易策略和收益率曲線構造。
第8 章,無監(jiān)督學習:聚類。
本章介紹聚類算法和技術,它們可將具有一定相似度的對象聚在一起。本章案例研究介紹聚類在交易策略、投資組合管理中的應用。
第四部分 強化學習和自然語言處理
第四部分介紹強化學習和自然語言處理技術。
第四部分含以下2 章:
第9 章,強化學習。
本章介紹強化學習概念,做相關案例研究。該學習方法在金融業(yè)有著廣闊的應用前景。強化學習的主要理念最大獎賞,完美契合金融業(yè)多個領域的核心動機。本章案例研究包括交易策略、投資組合優(yōu)化和對沖策略。
第10 章,自然語言處理。
本章介紹自然語言處理技術,并討論金融業(yè)多個領域的文本數(shù)據(jù)是如何一步步轉換為有意義的文本表示形式的。本章案例研究涵蓋情感分析、聊天機器人和文檔解讀。
排版約定
本書排版遵循以下約定:
斜體(Italic)
表示新術語、URL、郵件地址、文件名和文件擴展名。
等寬字體(constant width)
表示程序片段和段落中出現(xiàn)的編程元素,如變量、函數(shù)名、數(shù)據(jù)庫、數(shù)據(jù)類型、環(huán)境變量、語句和關鍵字。
使用代碼示例
本書(案例研究和主模板)所有代碼均可從以下GitHub 目錄獲取:https://github.com/tatsath/fin-ml。此外,本書代碼還用云平臺托管,每個案例研究點擊https://mybinder.org/v2/gh/tatsath/fin-ml/master 即可運行,無需在本地機器安裝任何包。本書旨在幫你完成工作。一般來講,書中示例代碼,你用于自己項目和文檔,無需聯(lián)系我們征得許可,但大量復制代碼另議。例如,你寫程序使用書中多處代碼,無需我們授權,但出售或分發(fā)OReilly 圖書示例代碼,則需我們授權。引用本書內(nèi)容或示例代碼回答問題,無需授權。但在你產(chǎn)品文檔中大量使用本書示例代碼,則需經(jīng)我們授權。
所用之處,如能添加內(nèi)容出處,我們將非常感激,當然這并非必須。出處通常要標明書名、作者、出版社和ISBN 號。例如:Machine Learning and Data Science Blueprints for Finance by Hariom Tatsat, Sahil Puri, and Brad Lookabaugh (OReilly,2021), 978-1-492-07305-5。
如果你覺得示例代碼的使用方式可能不當或超出上述許可范圍,請聯(lián)系我們,郵箱是 permissions@oreilly.com。
Python 庫
本書使用Python 3.7。建議先安裝Conda 包管理器,再建Conda 環(huán)境,安裝必要的包。安裝指南請見本書GitHub 倉庫的README 文件(https://github.com/tatsath/fin-ml)。
OReilly 在線學習平臺(OReilly Online Learning)
近40 年來,OReilly Media 致力于提供技術和商業(yè)培訓、知識和卓越見解,來幫助眾多公司取得成功。
公司獨有的專家和改革創(chuàng)新者網(wǎng)絡通過OReilly 書籍、文章以及在線學習平臺,分享他們的專業(yè)知識和實踐經(jīng)驗。OReilly 在線學習平臺按照您的需要提供實時培訓課程、深入學習渠道、交互式編程環(huán)境以及來自OReilly 和其他200 多家出版商的大量書籍與視頻資料。更多信息,請訪問網(wǎng)站:https://www.oreilly.com/。
聯(lián)系我們
任何有關本書的意見或疑問,請按照以下地址聯(lián)系出版社。
美國:
OReilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
中國:
北京市西城區(qū)西直門南大街2 號成銘大廈C 座807 室(100035)
奧萊利技術咨詢(北京)有限公司
我們?yōu)楸緯隽艘粋網(wǎng)頁,將勘誤信息、示例代碼和其他附加信息列在上面。地址是https://oreil.ly/ML-and-data-science-blueprints。
對本書的評論或技術性問題,請發(fā)電子郵件至:errata@oreilly.com.cn。
如欲了解OReilly 圖書、課程的新聞和信息,請訪問以下網(wǎng)站: http://www.oreilly.com。
我們的Facebook:http://facebook.com/oreilly。
我們的Twitter:http://twitter.com/oreillymedia。
我們的YouTube:http://www.youtube.com/oreillymedia。
致謝
我們衷心感謝為本書付梓而辛勤付出的所有人。我們特別感謝Jeff Bleiel 那誠摯和發(fā)人深省的反饋,他指導我們完成本書。我們非常感激Juan Manuel Contreras、Chakri Cherukuri 和Gregory Bronner,他們百忙之中抽時間詳細審閱本書,其反饋和建議非常有價值,我們受益頗多。我們還要把感謝送給OReilly 公司各位出色的員工,特別感謝Michelle Smith 對該寫作項目深信不疑,并幫我們界定項目范圍。
來自Hariom 的特別致謝
感謝妻子Prachi 和父母對我的關愛和支持。特別感謝父親,他總是鼓勵我的各種追求,并源源不斷提供靈感。
來自Sahil 的特別致謝
感謝家庭。他們總是鼓勵和支持我的各種努力。
來自Brad 的特別致謝
感謝妻子Megan,她對我的愛和支持無窮無盡。
Hariom Tatsat現(xiàn)任紐約投行量化分析部副總。Hariom 擁有豐富的預測建模、金融工具定價和風險管理經(jīng)驗。Sahil Puri是一名量化研究員。Sahil曾用多種統(tǒng)計和機器學習技術解決各種問題。Brad Lookabaugh現(xiàn)任Unison Investment Management副總,負責投資組合管理。
目錄
前言 . 1
第一部分 框架
第1 章 金融機器學習簡介 .11
1.1 金融機器學習應用的現(xiàn)狀和前景 .12
1.1.1 算法交易 .12
1.1.2 投資組合管理和智能投顧 12
1.1.3 欺詐檢測 .12
1.1.4 貸款、信用卡和保險審核 13
1.1.5 自動化和聊天機器人.13
1.1.6 風險管理 .14
1.1.7 資產(chǎn)價格預測 14
1.1.8 衍生品定價 14
1.1.9 情感分析 .14
1.1.10 金融資產(chǎn)結算 .15
1.1.11 反洗錢 15
1.2 機器學習、深度學習、人工智能和大數(shù)據(jù) .15
1.3 機器學習類型 .17
1.3.1 監(jiān)督學習 .17
1.3.2 無監(jiān)督學習 18
1.3.3 強化學習 .19
1.4 自然語言處理 .20
1.5 小結 .21
第2 章 用Python 開發(fā)機器學習模型 23
2.1 為什么用Python 23
2.2 Python 機器學習包 24
2.3 Python 生態(tài)系統(tǒng)的模型開發(fā)步驟 .26
2.4 小結 .41
第3 章 人工神經(jīng)網(wǎng)絡 . 43
3.1 人工神經(jīng)網(wǎng)絡:架構、訓練和超參數(shù) 44
3.1.1 架構 44
3.1.2 訓練 46
3.1.3 超參數(shù) 48
3.2 用Python 建人工神經(jīng)網(wǎng)絡模型 .52
3.2.1 安裝Keras 等機器學習包52
3.2.2 提高人工神經(jīng)網(wǎng)絡模型運行速度:GPU 和云服務 55
3.3 小結 .57
第二部分 監(jiān)督學習
第4 章 監(jiān)督學習:模型和概念 61
4.1 監(jiān)督學習模型概覽 62
4.1.1 線性回歸(普通最小二乘法) .64
4.1.2 正則化回歸 66
4.1.3 對數(shù)概率回歸 69
4.1.4 支持向量機 70
4.1.5 k 近鄰 72
4.1.6 線性判別分析 74
4.1.7 分類回歸樹 75
4.1.8 集成模型 .77
4.1.9 人工神經(jīng)網(wǎng)絡模型 .83
4.2 模型性能 85
4.2.1 過擬合和欠擬合 85
4.2.2 交叉檢驗 .87
4.2.3 評估指標 .88
4.3 模型選擇 92
4.3.1 影響模型選擇的因素.92
4.3.2 模型取舍 .94
4.4 小結 .94
第5 章 監(jiān)督學習:回歸(含時間序列模型) 97
5.1 時間序列模型 100
5.1.1 拆解時間序列 .100
5.1.2 自相關性和平穩(wěn)性 102
5.1.3 傳統(tǒng)時間序列模型(包括ARIMA 模型)104
5.1.4 時間序列建模的深度學習方法 106
5.1.5 為監(jiān)督學習模型調整時間序列數(shù)據(jù) 109
5.2 案例研究1:股價預測 110
5.3 案例研究2:衍生品定價 130
5.4 案例研究3:投資者風險容忍度和智能投顧 142
5.5 案例研究4:收益率曲線預測 .158
5.6 小結 167
5.7 練習 168
第6 章 監(jiān)督學習:分類 . 169
6.1 案例研究1:欺詐檢測 171
6.2 案例研究2:預測借款拖欠概率 185
6.3 案例研究3:比特幣交易策略 .199
6.4 小結 211
6.5 練習 211
第三部分 無監(jiān)督學習
第7 章 無監(jiān)督學習:降維 . 215
7.1 降維技術 .217
7.1.1 主成分分析 .217
7.1.2 核主成分分析 .221
7.1.3 t-SNE221
7.2 案例研究1:投資組合管理:尋找特征組合 222
7.3 案例研究2:收益率曲線構造和利率建模 237
7.4 案例研究3:比特幣交易:提高速度和準確率 248
7.5 小結 257
7.6 練習 257
第8 章 無監(jiān)督學習:聚類 . 259
8.1 聚類技術 .261
8.1.1 k 均值聚類 261
8.1.2 層次聚類 262
8.1.3 親和力傳播聚類 264
8.2 案例研究1:配對交易聚類 265
8.3 案例研究2:投資組合管理:投資者聚類 282
8.4 案例研究3:層次風險平價 291
8.5 小結 301
8.6 練習 301
第四部分 強化學習和自然語言處理
第9 章 強化學習 305
9.1 強化學習的理論和概念 307
9.1.1 強化學習建模框架 312
9.1.2 強化學習模型 .317
9.1.3 強化學習的主要挑戰(zhàn)322
9.2 案例研究1:用強化學習實現(xiàn)交易策略 .322
9.3 案例研究2:衍生品對沖 341
9.4 案例研究3:投資組合分配 359
9.5 小結 370
9.6 練習 370
第10 章 自然語言處理 371
10.1 Python 的NLP 庫 373
10.1.1 NLTK 庫 .373
10.1.2 TextBlob 庫 374
10.1.3 spaCy 庫 .374
10.2 NLP 理論和概念 374
10.2.1 預處理 .375
10.2.2 特征表示 381
10.2.3 推斷 385
10.3 案例研究1:用NLP 和情感分析技術實現(xiàn)交易策略 . 388
10.4 案例研究2:聊天機器人數(shù)字助理 . 411
10.5 案例研究3:文檔摘要 .421
10.6 小結 428
10.7 練習 429