項目使用Python 2.7環(huán)境,因為Python所包含的用于數(shù)據(jù)分析和金融應(yīng)用的相關(guān)庫眾多,所以在課程與項目中使用Anoconda
數(shù)據(jù)庫工具:SQLite(Anaconda內(nèi)置),MongoDB(大數(shù)據(jù)應(yīng)用一章使用),DTN IQFEED(試用賬號,用于量化交易中高頻
本教程介紹使用Python進行數(shù)據(jù)分析和金融應(yīng)用開發(fā)的基礎(chǔ)知識。課程從介紹簡單的金融應(yīng)用開始,帶領(lǐng)學(xué)員回顧Python的基礎(chǔ)知識,并逐步學(xué)習(xí)如何將Python應(yīng)用到金融分析編程中。課程覆蓋了Python的基本數(shù)據(jù)結(jié)構(gòu)、輸入輸出、效率分析、數(shù)學(xué)庫、隨機分析庫、統(tǒng)計分析庫等。接著課程以專題的形式介紹了Python與Excel的結(jié)合,學(xué)習(xí)如何使用Python的相關(guān)庫生成Excel可調(diào)用的函數(shù);Python與Hadoop和MongoDB結(jié)合進行大數(shù)據(jù)分析的基礎(chǔ)知識。最后課程介紹了Python的面向?qū)ο缶幊滩⒔榻B了兩個案例:使用Python實現(xiàn)金融衍生品分析庫以及使用Python實現(xiàn)事件驅(qū)動的量化投資系統(tǒng),使學(xué)員在實戰(zhàn)的環(huán)境下理解Python在金融應(yīng)用開發(fā)中的具體應(yīng)用方式,訓(xùn)練學(xué)員獨立開發(fā)Python模塊的能力。
?

?
第一講、Python與金融應(yīng)用概述
本講主要介紹Python的基本特性,安裝本課程所需要的Python環(huán)境,概述Python在金融數(shù)據(jù)分析中應(yīng)用領(lǐng)域。本講將使用一個簡單的趨勢投資的例子,講解為什么使用Python進行金融數(shù)據(jù)分析和量化投資是非常方便的。
?
第二講、Python的基本數(shù)據(jù)類型與數(shù)據(jù)結(jié)構(gòu)
本講介紹Python的基本數(shù)據(jù)類型與數(shù)據(jù)結(jié)構(gòu),包括基礎(chǔ)Python和NumPy庫提供的數(shù)據(jù)結(jié)構(gòu)。
1、基本數(shù)據(jù)類型(整型、浮點型、字符型)
2、基本數(shù)據(jù)結(jié)構(gòu)(元組、控制結(jié)構(gòu)、函數(shù)編程、列表、字典、集合)
3、NumPy數(shù)據(jù)結(jié)構(gòu)(使用Python列表實現(xiàn)的數(shù)組、常規(guī)NumPy數(shù)組、結(jié)構(gòu)數(shù)組、內(nèi)存分配)
?
第三講、Python數(shù)據(jù)可視化
本講介紹Python的matplotlib庫提供的數(shù)據(jù)可視化技術(shù),雖然Python還有很多其他的數(shù)據(jù)可視化方式,但是matplotlib提供了一種基準(zhǔn)實現(xiàn)方式。
1、二維繪圖(一維數(shù)據(jù)集、二維數(shù)據(jù)集,其他繪圖模式,金融繪圖)
2、3D繪圖
?
第四講、金融時間序列分析
在金融分析中常見的一種數(shù)據(jù)類型是金融時間序列數(shù)據(jù),本章主要介紹Python的Pandas庫對金融時間序列類型數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)——DataFrame和Series,以及如何運用這些工具進行基本的金融時間序列分析
1、Pandas基礎(chǔ)(DataFrame類,基本分析技術(shù),Series類,GroupBy操作)
2、金融數(shù)據(jù)
3、數(shù)據(jù)回歸分析
4、高頻金融數(shù)據(jù)
?
第五講、輸入輸出操作
本講介紹Python提供的基本輸入輸出操作,以及如何在金融數(shù)據(jù)分析與投資中有效的進行使用。
1、Python的基本I/O操作(將對象寫入硬盤,讀寫文本文件、SQL數(shù)據(jù)庫、讀寫NumPy數(shù)組)
2、使用Pandas的i/O操作(基本操作,SQL數(shù)據(jù)庫,CSV文件、EXCEL文件)
3、使用PyTables進行快速I/O (使用Table,使用壓縮的Table,數(shù)組操作,內(nèi)存外運算)?
?
第六講、提升Python效率
本講介紹Python中提供的提升計算效率的一些工具以及它們在金融數(shù)據(jù)分析與投資中的基本應(yīng)用。
1、Python運行效率分析
內(nèi)存分配與運行效率
2、并行計算(Monte Carlo算法、串行計算、并行計算)
3、動態(tài)編譯(介紹例子、二叉樹期權(quán)定價)
4、使用Cython靜態(tài)編譯
5、基于GPU生成隨機數(shù)
?
第七講、數(shù)學(xué)工具
本講介紹Python提供的用于金融數(shù)據(jù)分析的數(shù)學(xué)方法與工具及其背景知識與應(yīng)用方式。
1、近似(回歸、插值)
2、凸優(yōu)化(全局最優(yōu)化、局部最優(yōu)化、約束最優(yōu)化)
3、積分(數(shù)值積分、模擬積分)
4、符號計算(基礎(chǔ)、方程、積分、微分)
?
第八講、隨機分析
對不確定性的刻畫與研究是金融研究與分析的重要方面,本講介紹隨機分析的一些知識,在金融數(shù)據(jù)分析與投資中的應(yīng)用與Python實現(xiàn)。
1、隨機數(shù)
2、模擬(隨機變量、隨機過程)
3、方差縮小技術(shù)
4、估值(歐式期權(quán)、美式期權(quán))
5、風(fēng)險測度指標(biāo)(在險價值、信用風(fēng)險)
?
第九講、統(tǒng)計分析
統(tǒng)計分析是金融數(shù)據(jù)分析的核心,本講介紹常用的統(tǒng)計分析方法、金融應(yīng)用及其Python實現(xiàn)。
1、正態(tài)性檢驗
2、資產(chǎn)組合優(yōu)化
3、主成分分析應(yīng)用
4、貝葉斯回歸分析
?
第十講、數(shù)值分析技術(shù)
對于一些非線性、沒有顯式解的金融和數(shù)據(jù)分析問題,需要使用數(shù)值分析的技術(shù),本講介紹這些技術(shù)的基礎(chǔ)及應(yīng)用,以及Python的實現(xiàn)。
1、求解線性方程(LU分解、Cholesky分解、QR分解、Jacobi方法、Gauss-Seidel方法)
2、金融中的非線性模型(隱含波動率、Markov regime-switching模型、門限自回歸模型、平穩(wěn)轉(zhuǎn)換模型)
3、求根方法
?
第十一講、使用Python操作Excel
微軟的Excel是常用的辦公軟件,是數(shù)據(jù)分析和應(yīng)用的重要支撐。Python提供了豐富的與Excel交互的接口,本講介紹這些接口并舉例。
1、基本的電子表格交互
2、Python中的Excel腳本
?
第十二講、Python面向?qū)ο缶幊膛c圖形用戶界面
本講介紹Python面向?qū)ο缶幊碳夹g(shù),這是后續(xù)章節(jié),特別是量化投資一章的基礎(chǔ),除此之外,本講還介紹了Python圖形用戶界面編程的基本方法。
1、面向?qū)ο?/div>
2、圖形用戶界面
?
第十三講、金融中的大數(shù)據(jù)技術(shù)概述
本講介紹大數(shù)據(jù)技術(shù)在金融中的應(yīng)用以及使用Python的基本實現(xiàn)。
1、Hadoop概述
2、使用Hadoop實現(xiàn)字符統(tǒng)計
3、Hadoop金融應(yīng)用舉例
4、NoSQL介紹
?
第十四講、案例1:使用Python構(gòu)建期權(quán)分析系統(tǒng)
本案例使用之前各講介紹的Python金融應(yīng)用相關(guān)知識,構(gòu)建相對完整的期權(quán)分析系統(tǒng),幫助學(xué)員掌握金融系統(tǒng)開發(fā)的要點以及Python整合應(yīng)用的方式,與之前介紹相比,在案例分析中更多的使用面向?qū)ο蠓椒ā?/div>
1、估值框架(資本資產(chǎn)定價原理,風(fēng)險中性定價,市場環(huán)境等介紹)
2、金融模型的模擬(隨機數(shù)生成模塊,泛型模擬類,幾何布朗運動,帶跳躍的擴散過程模擬模塊,平方根擴散過程模擬模塊)
3、衍生品估值模塊(泛型估值類、歐式執(zhí)行類、美式執(zhí)行類)
4、衍生品分析庫應(yīng)用——波動率期權(quán)定價
?
第十五講、案例2:使用Python構(gòu)建簡單的算法交易系統(tǒng)
算法與程序化交易是大數(shù)據(jù)時代計算機技術(shù)在金融領(lǐng)域應(yīng)用的最重要方面之一。本講介紹這方面的Python實現(xiàn),包括基本交易、交易策略與回測等。
1、算法交易概述與框架
2、實現(xiàn)事件驅(qū)動交易引擎(事件驅(qū)動軟件,事件類,數(shù)據(jù)處理類,策略類,投資組合類,執(zhí)行處理類和回測類的基本編制,事件驅(qū)動執(zhí)行)
3、交易策略實現(xiàn)(移動平均跨越策略,S&P500預(yù)測交易策略,均值回歸股票配對交易策略)
4、策略優(yōu)化(參數(shù)優(yōu)化,模型選擇,優(yōu)化策略)
?