金融機器學(xué)習(xí)和數(shù)據(jù)科學(xué)實踐
定 價:128 元
今后幾年,機器學(xué)習(xí)和數(shù)據(jù)科學(xué)將在金融業(yè)掀起巨變。對沖基金、投資和零售銀行、金融科技從業(yè)者可從本書學(xué)到金融業(yè)核心機器學(xué)習(xí)算法。本書不僅介紹監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強化學(xué)習(xí)三大類機器學(xué)習(xí)技術(shù)和自然語言處理(NLP)技術(shù)相關(guān)概念,還通過近20個案例研究,詳細(xì)介紹它們在金融領(lǐng)域的應(yīng)用。
本書涵蓋投資組合管理、算法交易、衍生品定價、欺詐檢測、資產(chǎn)價格預(yù)測、情感分析和聊天機器人開發(fā)等主題,不論你是分析師、交易員、研究員或開發(fā)者,總有適合你深入學(xué)習(xí)的內(nèi)容。本書將帶你探究真實問題,學(xué)習(xí)科學(xué)可靠的解決方案。重點代碼詳細(xì)解讀,并佐以示例。本書代碼庫更配有完整代碼和運行結(jié)果,鉆研、運行代碼和比對結(jié)果更便捷。
前言機器學(xué)習(xí)在金融業(yè)的價值日益顯著。可以預(yù)見,金融市場運轉(zhuǎn)必將離不開機器學(xué)習(xí)。分析師、投資組合經(jīng)理、交易員和首席投資官都應(yīng)熟悉機器學(xué)習(xí)。銀行和其他金融機構(gòu)正力求改進金融分析技術(shù),簡化流程,并增強安全性,而機器學(xué)習(xí)逐漸成為其首選技術(shù)。機器學(xué)習(xí)在金融機構(gòu)的應(yīng)用呈上升趨勢,它有潛力改進各種系統(tǒng),這一點體現(xiàn)在交易策略、定價和風(fēng)險管理上。盡管機器學(xué)習(xí)正對金融服務(wù)業(yè)所有垂直領(lǐng)域產(chǎn)生重大影響,但一道鴻溝橫亙于機器學(xué)習(xí)算法的理念和實現(xiàn)之間。網(wǎng)上有關(guān)這些領(lǐng)域的材料鋪天蓋地,可條理清楚者少之又少。此外,大多數(shù)材料跑不出機器學(xué)習(xí)在算法交易中的應(yīng)用這一主題。本書則填補該空白,為金融市場量身打造機器學(xué)習(xí)工具箱。讀者掌握這些工具,就可在用機器學(xué)習(xí)變革金融業(yè)的浪潮中一展身手。本書突破投資或交易策略領(lǐng)域,放眼用機器學(xué)習(xí)技藝研制金融業(yè)核心算法的全貌。人們常以為機器學(xué)習(xí)模型較難實現(xiàn),但金融業(yè)的機器學(xué)習(xí)模型并不難。人們還誤以為建模必須要用大數(shù)據(jù)。有鑒于此,本書準(zhǔn)備大量案例研究,它們幾乎涵蓋機器學(xué)習(xí)的所有領(lǐng)域,以幫助讀者消除這類誤解。機器學(xué)習(xí)在交易策略中的應(yīng)用,其相關(guān)理論和案例研究,本書會介紹,但除此之外,本書還將深入其他關(guān)鍵、必知概念,比如投資組合管理、衍生品定價、欺詐檢測、企業(yè)信用評級、智能投顧開發(fā)和聊天機器人開發(fā)。本書著力解決金融業(yè)從業(yè)人員所面對的實際問題,提供經(jīng)科學(xué)論證、真實可靠的解決方案,并佐以代碼和示例。本書Python 代碼庫用GitHub 托管(https://github.com/tatsath/fin-ml),該倉庫對金融業(yè)從業(yè)人員非常有用,他們可將該倉庫作為自己項目的起點。本書示例和案例研究所展示技術(shù)可輕松應(yīng)用于多種數(shù)據(jù)集。本書面向未來的案例研究,如用強化學(xué)習(xí)處理交易,搭建智能投顧,用機器學(xué)習(xí)為金融產(chǎn)品定價,鼓勵讀者跳出既有思維模式,調(diào)動積極性,發(fā)揮模型和數(shù)據(jù)作用,獲得最大回報。目標(biāo)讀者本書內(nèi)容編排和所有主題適合在對沖基金、投資和零售銀行、金融科技公司工作的專業(yè)人士。其職位可能是數(shù)據(jù)科學(xué)家、數(shù)據(jù)工程師、量化研究員、機器學(xué)習(xí)架構(gòu)師或軟件工程師。此外,本書還適合堅守支持崗位的專業(yè)人士,比如合規(guī)與風(fēng)控崗。讀者不論是對沖基金量化交易員,正考慮采用強化學(xué)習(xí)技術(shù)交易加密貨幣,還是投行量化分析師,尋求用機器學(xué)習(xí)技術(shù)改進定價模型的校準(zhǔn)速度,本書都將有所幫助。對于模型開發(fā)生命周期的每一步,從構(gòu)思產(chǎn)生到模型實現(xiàn),本書所講理論、概念和代碼庫都極其有用。讀者可用本書共享代碼庫,自行測試本書所提供的解決方案。因此讀者在閱讀之余,還有大量動手機會。讀者應(yīng)具備統(tǒng)計學(xué)、機器學(xué)習(xí)和Python基礎(chǔ)知識。內(nèi)容編排本書全面介紹如何用機器學(xué)習(xí)和數(shù)據(jù)科學(xué)技術(shù)設(shè)計模型,解決金融業(yè)不同領(lǐng)域的學(xué)習(xí)任務(wù)。本書內(nèi)容分為四大部分:第一部分 框架第一部分概括機器學(xué)習(xí)在金融業(yè)的使用情況,總覽機器學(xué)習(xí)實現(xiàn)的構(gòu)建單元。這幾章作為本書后續(xù)章節(jié)案例研究的基礎(chǔ),涵蓋不同機器學(xué)習(xí)類型。第一部分含以下3 章:第1 章,金融機器學(xué)習(xí)簡介。本章概括金融機器學(xué)習(xí)應(yīng)用全貌,并扼要介紹幾種機器學(xué)習(xí)方法。第2 章,用Python 開發(fā)機器學(xué)習(xí)模型。本章探討Python 機器學(xué)習(xí)生態(tài)系統(tǒng),并介紹用Python 框架開發(fā)機器學(xué)習(xí)模型的步驟。第3 章,人工神經(jīng)網(wǎng)絡(luò)。鑒于人工神經(jīng)網(wǎng)絡(luò)(ANN)是多種機器學(xué)習(xí)的主要算法,本章將介紹ANN的細(xì)節(jié),并給出用Python 庫實現(xiàn)ANN 模型的詳細(xì)過程。第二部分 監(jiān)督學(xué)習(xí)第二部分涵蓋基本的監(jiān)督學(xué)習(xí)算法,闡述其特定應(yīng)用,研究相關(guān)案例。第二部分含以下3 章:第4 章,監(jiān)督學(xué)習(xí):模型和概念。本章簡要介紹監(jiān)督學(xué)習(xí)技術(shù)(分類和回歸)。鑒于大量模型既可用于分類又可用于回歸,本章將這些模型的細(xì)節(jié)和分類、回歸問題中的模型選擇和評價標(biāo)準(zhǔn)放在一起介紹。第5 章,監(jiān)督學(xué)習(xí):回歸(含時間序列模型)。監(jiān)督學(xué)習(xí)回歸模型是金融業(yè)最常用機器學(xué)習(xí)模型。本章從基本線性回歸模型一直講到高級深度學(xué)習(xí)模型。本章研究股價預(yù)測模型、衍生品定價模型和投資組合管理模型。第6 章,監(jiān)督學(xué)習(xí):分類。分類是監(jiān)督學(xué)習(xí)的子類,其目標(biāo)是根據(jù)過去所觀察到的實例,預(yù)測新實例的類別標(biāo)簽,這些標(biāo)簽是與數(shù)值型相對的類別型。本章研究分類技術(shù)在金融業(yè)的應(yīng)用,比如對率回歸、支持向量機和隨機森林。第三部分 無監(jiān)督學(xué)習(xí)第三部分涵蓋基本的無監(jiān)督學(xué)習(xí)算法、應(yīng)用和案例研究。第三部分含以下2 章:第7 章,無監(jiān)督學(xué)習(xí):降維。本章介紹幾種重要降維技術(shù),用其削減數(shù)據(jù)集特征數(shù),可保留特征的大多數(shù)有用和特異信息。本章還將討論降維方法主成分分析,案例研究包括投資組合管理、交易策略和收益率曲線構(gòu)造。第8 章,無監(jiān)督學(xué)習(xí):聚類。本章介紹聚類算法和技術(shù),它們可將具有一定相似度的對象聚在一起。本章案例研究介紹聚類在交易策略、投資組合管理中的應(yīng)用。第四部分 強化學(xué)習(xí)和自然語言處理第四部分介紹強化學(xué)習(xí)和自然語言處理技術(shù)。第四部分含以下2 章:第9 章,強化學(xué)習(xí)。本章介紹強化學(xué)習(xí)概念,做相關(guān)案例研究。該學(xué)習(xí)方法在金融業(yè)有著廣闊的應(yīng)用前景。強化學(xué)習(xí)的主要理念最大獎賞,完美契合金融業(yè)多個領(lǐng)域的核心動機。本章案例研究包括交易策略、投資組合優(yōu)化和對沖策略。第10 章,自然語言處理。本章介紹自然語言處理技術(shù),并討論金融業(yè)多個領(lǐng)域的文本數(shù)據(jù)是如何一步步轉(zhuǎn)換為有意義的文本表示形式的。本章案例研究涵蓋情感分析、聊天機器人和文檔解讀。排版約定本書排版遵循以下約定:斜體(Italic)表示新術(shù)語、URL、郵件地址、文件名和文件擴展名。等寬字體(constant width)表示程序片段和段落中出現(xiàn)的編程元素,如變量、函數(shù)名、數(shù)據(jù)庫、數(shù)據(jù)類型、環(huán)境變量、語句和關(guān)鍵字。使用代碼示例本書(案例研究和主模板)所有代碼均可從以下GitHub 目錄獲。篽ttps://github.com/tatsath/fin-ml。此外,本書代碼還用云平臺托管,每個案例研究點擊https://mybinder.org/v2/gh/tatsath/fin-ml/master 即可運行,無需在本地機器安裝任何包。本書旨在幫你完成工作。一般來講,書中示例代碼,你用于自己項目和文檔,無需聯(lián)系我們征得許可,但大量復(fù)制代碼另議。例如,你寫程序使用書中多處代碼,無需我們授權(quán),但出售或分發(fā)OReilly 圖書示例代碼,則需我們授權(quán)。引用本書內(nèi)容或示例代碼回答問題,無需授權(quán)。但在你產(chǎn)品文檔中大量使用本書示例代碼,則需經(jīng)我們授權(quán)。所用之處,如能添加內(nèi)容出處,我們將非常感激,當(dāng)然這并非必須。出處通常要標(biāo)明書名、作者、出版社和ISBN 號。例如:Machine Learning and Data Science Blueprints for Finance by Hariom Tatsat, Sahil Puri, and Brad Lookabaugh (OReilly,2021), 978-1-492-07305-5。如果你覺得示例代碼的使用方式可能不當(dāng)或超出上述許可范圍,請聯(lián)系我們,郵箱是 permissions@oreilly.com。Python 庫本書使用Python 3.7。建議先安裝Conda 包管理器,再建Conda 環(huán)境,安裝必要的包。安裝指南請見本書GitHub 倉庫的README 文件(https://github.com/tatsath/fin-ml)。OReilly 在線學(xué)習(xí)平臺(OReilly Online Learning)近40 年來,OReilly Media 致力于提供技術(shù)和商業(yè)培訓(xùn)、知識和卓越見解,來幫助眾多公司取得成功。公司獨有的專家和改革創(chuàng)新者網(wǎng)絡(luò)通過OReilly 書籍、文章以及在線學(xué)習(xí)平臺,分享他們的專業(yè)知識和實踐經(jīng)驗。OReilly 在線學(xué)習(xí)平臺按照您的需要提供實時培訓(xùn)課程、深入學(xué)習(xí)渠道、交互式編程環(huán)境以及來自O(shè)Reilly 和其他200 多家出版商的大量書籍與視頻資料。更多信息,請訪問網(wǎng)站:https://www.oreilly.com/。聯(lián)系我們任何有關(guān)本書的意見或疑問,請按照以下地址聯(lián)系出版社。美國:OReilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472中國:北京市西城區(qū)西直門南大街2 號成銘大廈C 座807 室(100035)奧萊利技術(shù)咨詢(北京)有限公司我們?yōu)楸緯隽艘粋網(wǎng)頁,將勘誤信息、示例代碼和其他附加信息列在上面。地址是https://oreil.ly/ML-and-data-science-blueprints。對本書的評論或技術(shù)性問題,請發(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ā)人深省的反饋,他指導(dǎo)我們完成本書。我們非常感激Juan Manuel Contreras、Chakri Cherukuri 和Gregory Bronner,他們百忙之中抽時間詳細(xì)審閱本書,其反饋和建議非常有價值,我們受益頗多。我們還要把感謝送給OReilly 公司各位出色的員工,特別感謝Michelle Smith 對該寫作項目深信不疑,并幫我們界定項目范圍。來自Hariom 的特別致謝感謝妻子Prachi 和父母對我的關(guān)愛和支持。特別感謝父親,他總是鼓勵我的各種追求,并源源不斷提供靈感。來自Sahil 的特別致謝感謝家庭。他們總是鼓勵和支持我的各種努力。來自Brad 的特別致謝感謝妻子Megan,她對我的愛和支持無窮無盡。
Hariom Tatsat現(xiàn)任紐約投行量化分析部副總。Hariom 擁有豐富的預(yù)測建模、金融工具定價和風(fēng)險管理經(jīng)驗。Sahil Puri是一名量化研究員。Sahil曾用多種統(tǒng)計和機器學(xué)習(xí)技術(shù)解決各種問題。Brad Lookabaugh現(xiàn)任Unison Investment Management副總,負(fù)責(zé)投資組合管理。
目錄前言 . 1第一部分 框架第1 章 金融機器學(xué)習(xí)簡介 .111.1 金融機器學(xué)習(xí)應(yīng)用的現(xiàn)狀和前景 .121.1.1 算法交易 .121.1.2 投資組合管理和智能投顧 121.1.3 欺詐檢測 .121.1.4 貸款、信用卡和保險審核 131.1.5 自動化和聊天機器人.131.1.6 風(fēng)險管理 .141.1.7 資產(chǎn)價格預(yù)測 141.1.8 衍生品定價 141.1.9 情感分析 .141.1.10 金融資產(chǎn)結(jié)算 .151.1.11 反洗錢 151.2 機器學(xué)習(xí)、深度學(xué)習(xí)、人工智能和大數(shù)據(jù) .151.3 機器學(xué)習(xí)類型 .171.3.1 監(jiān)督學(xué)習(xí) .171.3.2 無監(jiān)督學(xué)習(xí) 181.3.3 強化學(xué)習(xí) .191.4 自然語言處理 .201.5 小結(jié) .21第2 章 用Python 開發(fā)機器學(xué)習(xí)模型 232.1 為什么用Python 232.2 Python 機器學(xué)習(xí)包 242.3 Python 生態(tài)系統(tǒng)的模型開發(fā)步驟 .262.4 小結(jié) .41第3 章 人工神經(jīng)網(wǎng)絡(luò) . 433.1 人工神經(jīng)網(wǎng)絡(luò):架構(gòu)、訓(xùn)練和超參數(shù) 443.1.1 架構(gòu) 443.1.2 訓(xùn)練 463.1.3 超參數(shù) 483.2 用Python 建人工神經(jīng)網(wǎng)絡(luò)模型 .523.2.1 安裝Keras 等機器學(xué)習(xí)包523.2.2 提高人工神經(jīng)網(wǎng)絡(luò)模型運行速度:GPU 和云服務(wù) 553.3 小結(jié) .57第二部分 監(jiān)督學(xué)習(xí)第4 章 監(jiān)督學(xué)習(xí):模型和概念 614.1 監(jiān)督學(xué)習(xí)模型概覽 624.1.1 線性回歸(普通最小二乘法) .644.1.2 正則化回歸 664.1.3 對數(shù)概率回歸 694.1.4 支持向量機 704.1.5 k 近鄰 724.1.6 線性判別分析 744.1.7 分類回歸樹 754.1.8 集成模型 .774.1.9 人工神經(jīng)網(wǎng)絡(luò)模型 .834.2 模型性能 854.2.1 過擬合和欠擬合 854.2.2 交叉檢驗 .874.2.3 評估指標(biāo) .884.3 模型選擇 924.3.1 影響模型選擇的因素.924.3.2 模型取舍 .944.4 小結(jié) .94第5 章 監(jiān)督學(xué)習(xí):回歸(含時間序列模型) 975.1 時間序列模型 1005.1.1 拆解時間序列 .1005.1.2 自相關(guān)性和平穩(wěn)性 1025.1.3 傳統(tǒng)時間序列模型(包括ARIMA 模型)1045.1.4 時間序列建模的深度學(xué)習(xí)方法 1065.1.5 為監(jiān)督學(xué)習(xí)模型調(diào)整時間序列數(shù)據(jù) 1095.2 案例研究1:股價預(yù)測 1105.3 案例研究2:衍生品定價 1305.4 案例研究3:投資者風(fēng)險容忍度和智能投顧 1425.5 案例研究4:收益率曲線預(yù)測 .1585.6 小結(jié) 1675.7 練習(xí) 168第6 章 監(jiān)督學(xué)習(xí):分類 . 1696.1 案例研究1:欺詐檢測 1716.2 案例研究2:預(yù)測借款拖欠概率 1856.3 案例研究3:比特幣交易策略 .1996.4 小結(jié) 2116.5 練習(xí) 211第三部分 無監(jiān)督學(xué)習(xí)第7 章 無監(jiān)督學(xué)習(xí):降維 . 2157.1 降維技術(shù) .2177.1.1 主成分分析 .2177.1.2 核主成分分析 .2217.1.3 t-SNE2217.2 案例研究1:投資組合管理:尋找特征組合 2227.3 案例研究2:收益率曲線構(gòu)造和利率建模 2377.4 案例研究3:比特幣交易:提高速度和準(zhǔn)確率 2487.5 小結(jié) 2577.6 練習(xí) 257第8 章 無監(jiān)督學(xué)習(xí):聚類 . 2598.1 聚類技術(shù) .2618.1.1 k 均值聚類 2618.1.2 層次聚類 2628.1.3 親和力傳播聚類 2648.2 案例研究1:配對交易聚類 2658.3 案例研究2:投資組合管理:投資者聚類 2828.4 案例研究3:層次風(fēng)險平價 2918.5 小結(jié) 3018.6 練習(xí) 301第四部分 強化學(xué)習(xí)和自然語言處理第9 章 強化學(xué)習(xí) 3059.1 強化學(xué)習(xí)的理論和概念 3079.1.1 強化學(xué)習(xí)建?蚣 3129.1.2 強化學(xué)習(xí)模型 .3179.1.3 強化學(xué)習(xí)的主要挑戰(zhàn)3229.2 案例研究1:用強化學(xué)習(xí)實現(xiàn)交易策略 .3229.3 案例研究2:衍生品對沖 3419.4 案例研究3:投資組合分配 3599.5 小結(jié) 3709.6 練習(xí) 370第10 章 自然語言處理 37110.1 Python 的NLP 庫 37310.1.1 NLTK 庫 .37310.1.2 TextBlob 庫 37410.1.3 spaCy 庫 .37410.2 NLP 理論和概念 37410.2.1 預(yù)處理 .37510.2.2 特征表示 38110.2.3 推斷 38510.3 案例研究1:用NLP 和情感分析技術(shù)實現(xiàn)交易策略 . 38810.4 案例研究2:聊天機器人數(shù)字助理 . 41110.5 案例研究3:文檔摘要 .42110.6 小結(jié) 42810.7 練習(xí) 429