Python 作為全球十分流行並且開放原始碼、免費的進階電腦程式語言,在金融領域獲得了廣泛的運用。本書聚焦於Python 在金融分析與風險管理方面的應用,全書分為入門篇、基礎篇和加強篇,共計12 章。
在入門篇中,我們對Python 做了介紹並結合金融案例示範了Python 的基本操作;
在基礎篇中,我們結合金融案例說明了包含NumPy、Pandas、Matplotlib、SciPy 等Python 常用的協力廠商模組的實際運用;
在加強篇中,我們詳細討論了如何運用Python 分析利率、債券、股票、期貨、期權以及風險價值等內容。可以作為廣大金融學習者與從業者的學習用書,也適合作為程式設計師進入金融科技領域的學習指南。
親愛的讀者,此刻你已經踏上了一條由Python 鋪設的通往金融殿堂的大道,一路上你會看到許多的「風景」,在此我們給這些「風景」製作一個遊覽的導圖。
第1 章介紹Python 的優勢、版本、安裝與學習方法,還介紹了常用的金融資料庫。
第2 章包含59 個範例,在範例中儘量結合金融場景,有針對性地說明和示範Python 的基本操作。
第3 章運用37 個範例,結合金融場景說明NumPy 模組的操作。
第4 章使用25 個範例,結合金融時間序列討論Pandas 模組的操作。
第5 章採用9 個範例,結合金融場景示範Matplotlib 模組的視覺化功能。
第6 章借助16 個範例,結合金融場景探討SciPy、StatsModels、arch 和
datetime 等模組。
第7 章以Python 為基礎的18 個範例,依次展開對利率、債券定價、債券久期與凸性等內容的分析。
第8 章使用以Python 為基礎的14 個範例,論述投資組合理論、資本資產定價模型、股票價格服從的隨機過程以及投資組合績效評估等內容。
第9 章採用以Python 為基礎的13 個範例,剖析股指期貨、國債期貨的套期保值。
第10 章借助以Python 為基礎的28 個範例,探討期權到期收益、期權定價、衡量期權風險的希臘字母以及隱含波動率等主題。
第 11 章透過以Python 為基礎的20 個範例,討論保本票據、單一期權與單一基礎資產的策略、價差策略、組合策略等期權的常用交易策略。
第 12 章採用以Python 為基礎的5 個範例,說明風險管理的重要工具—風險價值和壓力風險價值等內容。
每章的開篇都設定了導讀部分,便於讀者能夠在較短的時間內對整章的內容有一個綜合性的了解。在每章的結尾部分,我們不僅對全章的內容進行歸納,而且提供了擴充閱讀的文獻材料,便於讀者能夠透過這些文獻對相關章節的內容有一個更加全面和深入的掌握。
作者簡介:
斯文
筆名華爾街先生,浙江湖州人,經濟學博士,中國註冊會計師(Certified Public Accountant,CPA),特許金融分析師(Chartered Financial Analyst,CFA),金融風險管理師(Financial Risk Manager,FRM)。在中國某金融控股集團擔任進階風控總監,擁有在中外資銀行、證券公司、信託公司等機構十餘年的金融與風險管理從業經驗。
作者序
我學習金融、研究金融以及從事金融工作累計已經超過20 年,發現大量金融專業的學生和從業者對金融的了解並不深刻,其中一個重要的原因就是缺乏對金融分析工具的掌握。Python 身為開放原始碼的進階電腦程式語言,在金融領域的運用正變得越來越普及和廣泛。當我第一次接觸Python的時候,就被它的簡潔與高效深深吸引,有「一見鍾情」與「相見恨晚」的感覺,此後就徹底「愛」上了它,將它作為日常工作、學習,甚至是生活的有機組成部分。在金融領域,Python 雖然不是萬能的,但沒有Python則是萬萬不能的。從長遠來看,Python 應該是金融專業學生與從業者的必備工具,就像多年前掌握Excel 一樣。
為此,我萌生了撰寫一本專注於Python 在金融領域運用的普及性讀物的想法,借此將我個人在學習、運用和推廣Python 過程中的所思、所想、所感、所悟匯集起來並傳承下去。考慮到廣大的讀者可能和我一樣,不一定是理工科背景,也不一定是電腦專業出身,因此這本書會儘量避開專業性很強的電腦領域術語,運用通俗容易的語言進行描述。本書不可避免地會涉及Python 程式,為了能讓讀者方便地讀懂程式,力求Python 程式的簡潔性和容易性,我會盡可能給程式加上比較詳細的註釋。
至於給這本書取名,還有一段有趣的經歷。通常而言,中文圖書是先有中文名,然後將中文名翻譯成對應的英文名。但這本書我卻是先想到"Python for Financial Analysis and Risk Management" 這個英文書名,然後在考慮如何取一個合適的中文名時,我思考了良久。可以確定的是,中文書名必須包含3 個關鍵字:金融分析、風險管理以及Python,但是需要把這3 個關鍵字很有邏輯地整合在一起,金融分析與風險管理是全書的核心,同時這兩者之間也是相輔相成、密不可分的,金融分析是風險管理的基礎和起點,風險管理則是金融分析的落腳點和歸宿。與此同時,無論是金融分析還是風險管理,目前正越來越多地用到了量化和建模,Python 不僅是一種電腦程式語言,其本身也是一種可用於分析和管理的便捷工具,因此Python 就成了整本書的技術載體。借助Python,學習金融將變得更加有趣和簡單,對金融的了解也可以變得更加深刻和全面。
相較於國內外相同主題的書籍,本書有以下四大特色:一是較好地平衡了Python 的說明與金融的運用,即使在專門對Python 及其協力廠商模組介紹的章節中,也儘量結合金融案例;二是本書有關的資料和實例基本是來自中國大陸金融市場,並且涵蓋了貨幣市場、債券市場、股票市場、期貨市場和期權市場等,這樣的編排一方面可以增強讀者閱讀的親切感,另一方面也可以加深讀者對金融市場的認知;三是全面討論風險管理的工具與方法,本書運用3 章的篇幅分析了風險管理的重要工具—期貨和期權合約,又用一章對測度風險的重要工具—風險價值進行了論述,即使在探討債券和股票的章節中也對相關的風險進行了分析;四是內容敘述遵循了循序漸進的原則,考慮到本書的許多讀者可能是 Python 的初學者甚至是Python 零基礎讀者,因此內容的設計儘量做到由淺入深、由易到難、層層遞進。
由於我本人的能力所限, 書中的內容不免會有欠妥之處, 誠懇希望獲得讀者們的意見和建議,歡迎將意見和建議發送至我的電子郵件siwen1980@126.com。最後,衷心祝願讀者們能夠自信、從容地學完本書,真正體驗到借助Python 學習金融、運用金融所帶來的愉悅感和成就感。
斯文 於上海陸家嘴
我學習金融、研究金融以及從事金融工作累計已經超過20 年,發現大量金融專業的學生和從業者對金融的了解並不深刻,其中一個重要的原因就是缺乏對金融分析工具的掌握。Python 身為開放原始碼的進階電腦程式語言,在金融領域的運用正變得越來越普及和廣泛。當我第一次接觸Python的時候,就被它的簡潔與高效深深吸引,有「一見鍾情」與「相見恨晚」的感覺,此後就徹底「愛」上了它,將它作為日常工作、學習,甚至是生活的有機組成部分。在金融領域,Python 雖然不是萬能的,但沒有Python則是萬萬不能的。從長遠來看,Python 應該是金融專業學...
目錄
01 Python 概覽
1.1Python 的定義與比較優勢
1.2Python 之父—吉多• 范羅蘇姆
1.3 Python 的演進歷史和常用版本
1.4 Python 的安裝
1.5 學習Python 的方法論
1.6 金融資料的取得
1.7 小結
1.8 擴充閱讀
02 結合金融示範Python的基本操作
2.1 金融變數在Python 中的設定值
2.2 Python 的資料類型
2.3 Python 的資料結構
2.4 Python 的運算符號
2.5 Python 的主要內建函數
2.6 自訂函數
2.7 Python 的敘述
2.8 模組的匯入與math 模組
2.9 小結
03 結合金融場景示範NumPy 模組的操作
3.1 從一個投資案例講起
3.2 N 維陣列
3.3 陣列的索引、切片和排序
3.4 陣列的相關運算
3.5 透過NumPy 產生亂數
3.6 小結
3.7 擴充閱讀
04 結合金融時間序列示範Pandas 模組的操作
4.1 Pandas 的資料結構
4.2 陣列框的視覺化
4.3 資料框內部的操作
4.4 資料框之間的操作
4.5 資料框的主要統計函數
4.6 小結
4.7 擴充閱讀
05 結合金融場景示範Matplotlib 模組的操作
5.1 基本函數
5.2 曲線圖
5.3 長條圖
5.4 橫條圖
5.5 散點圖
5.6 圓形圖
5.7 小結
5.8 擴充閱讀
06 結合金融場景示範SciPy 等模組的操作
6.1 SciPy 模組
6.2 StatsModels 模組
6.3 波動率模型與arch 模組
6.4 datetime 模組
6.5 小結
6.6 擴充閱讀
07 運用Python 分析利率與債券
7.1 利率系統
7.2 債券市場
7.3 利率的度量
7.4 債券定價與債券收益率
7.5 遠期利率與遠期利率協定
7.6 衡量債券利率風險的線性指標—久期
7.7 衡量債券利率風險的非線性指標-- 凸性
7.8 小結
7.9 擴充閱讀
08 運用Python 分析股票投資
8.1 股票市場簡介
8.2 股票投資組合
8.3 資本資產定價模型
8.4 股價服從的隨機過程
8.5 投資組合的績效評估
8.6 小結
8.7 擴充閱讀
09 運用Python 分析期貨套期保值
9.1 期貨市場的簡介
9.2 股指期貨的套期保值
9.3 國債期貨合約的套期保值
9.4 小結
10 運用Python 分析期權的定價與風險
10.1 A 股股票期權市場簡介
10.2 期權類型和到期時的盈虧
10.3 布萊克- 斯科爾斯- 默頓模型
10.4 期權價格與相關變數的關係
10.5 衡量期權的風險—希臘字母
10.6 期權的隱含波動率
10.7 波動率微笑與斜偏
10.8 小結
10.9 擴充閱讀
11 運用Python 分析期權交易策略
11.1 保本票據
11.2 單一期權與單一基礎資產的策略
11.3 價差交易策略
11.4 組合策略
11.5 小結
12 運用Python 測度風險價值
12.1 風險價值的概述
12.2 風險價值的方差- 協方差法
12.3 風險價值的歷史模擬法
12.4 蒙地卡羅模擬法
12.5 回溯檢驗、壓力測試與壓力風險價值
12.6 小結
A 後記
01 Python 概覽
1.1Python 的定義與比較優勢
1.2Python 之父—吉多• 范羅蘇姆
1.3 Python 的演進歷史和常用版本
1.4 Python 的安裝
1.5 學習Python 的方法論
1.6 金融資料的取得
1.7 小結
1.8 擴充閱讀
02 結合金融示範Python的基本操作
2.1 金融變數在Python 中的設定值
2.2 Python 的資料類型
2.3 Python 的資料結構
2.4 Python 的運算符號
2.5 Python 的主要內建函數
2.6 自訂函數
2.7 Python 的敘述
2.8 模組的匯入與math 模組
2.9 小結
03 結合金融場景示範NumPy 模組的操作
3.1 從一個投資案例講起...