序言
金融市場最富有魅力的地方就是它每天都是新的:新的信息、新的價格、新的投資者和新的決策等。投資者面對市場上錯綜復(fù)雜的對象,在感嘆市場偉大的同時,也會感到一絲無力。如何使用合適的工具去分析、解構(gòu)和了解市場,成為每個投資者追尋的問題。
得益于信息技術(shù)的飛速發(fā)展,投資者在對金融市場進(jìn)行分析時,逐步采用大量的數(shù)據(jù)處理技術(shù)。從微軟公司的表格處理軟件Excel,到應(yīng)用于工程計算的MatLab系統(tǒng),到Java語言,以及開源的統(tǒng)計軟件R,各種軟件紛紛在金融市場分析工具中占據(jù)一席之地。這個局面近年來被Python語言打破,Python語言逐漸成為各領(lǐng)域的霸主。
在2018年TIOBE編程語言排行榜上,Python已經(jīng)第三次被評為TIOBE最佳年度編程語言,同時也是獲獎次數(shù)最多的編程語言。在IEEE中,Python也是連續(xù)多年排名第一的語言。Python已成為當(dāng)今大學(xué)中教授的首選語言,在統(tǒng)計、AI 編程、腳本編寫、系統(tǒng)測試等領(lǐng)域均排名第一。此外,Python語言還在Web編程和科學(xué)計算等領(lǐng)域處于領(lǐng)先地位?梢哉f,Python語言已經(jīng)無處不在。
本書共分10章。第1章到第3章主要講述的是Python語言的基礎(chǔ)知識,重點(diǎn)介紹了與金融分析有關(guān)的NumPy庫和Pandas庫。第4章介紹了如何使用Matplotlib庫繪制金融分析圖形。第5章講解了如何用Python語言實(shí)現(xiàn)金融市場上常用的技術(shù)指標(biāo)。第6章從統(tǒng)計分析的角度出發(fā),講述了Python語言如何對金融市場進(jìn)行描述統(tǒng)計分析。第7章探討了使用Python語言對金融市場進(jìn)行多種回歸分析。第8章對金融市場的收益率和風(fēng)險進(jìn)行了討論。第9章分析了證券市場的投資組合問題。第10章使用Python語言構(gòu)建了簡單的量化交易框架。
Python語言被稱為“膠水”語言,它的語法精確而簡潔,擁有大量的第三方工具,是處理金融行業(yè)錯綜復(fù)雜事務(wù)的可靠選擇。Python語言又是一種非常有親和力的語言,它對非計算機(jī)專業(yè)出身的開發(fā)者十分友善。本書列舉了大量的實(shí)例,通過對案例的講解使讀者能由淺入深地了解Python語言。從可視化、統(tǒng)計分析到指標(biāo)構(gòu)建,從風(fēng)險分析到收益率探討,從回歸分析到量化交易,金融知識的難度是逐步加深的,其中所涉及的編程技巧也是逐步深入的。這不但符合人們對知識學(xué)習(xí)的一般規(guī)律,也符合Python語言的特征——簡單而有效。
本書向投資者展現(xiàn)Python語言強(qiáng)大的分析能力,為投資者開辟了一條新的路徑;同時,本書還能作為大學(xué)的教材。
由于筆者水平有限,寫作時間倉促,因此書中難免會有疏漏之處,衷心希望讀者反饋意見,促進(jìn)教材的進(jìn)一步修訂、完善。
目錄
1Python基礎(chǔ)知識
11Python環(huán)境搭建
111Python官網(wǎng)及下載
112Python安裝
113Python環(huán)境配置
114Python運(yùn)行
12Python基本數(shù)據(jù)類型
121運(yùn)算符
122數(shù)字
123字符串
124列表
125元祖
126字典
127集合
13Python基本語句
131條件語句
132while循環(huán)語句
133for循環(huán)語句
14Python函數(shù)和模塊
141Python函數(shù)
142Python模塊
143Python文件I/O
2NumPy基礎(chǔ)知識
21NumPy環(huán)境搭建及數(shù)組對象
211NumPy安裝
212NumPy對象
213數(shù)據(jù)類型
214數(shù)組屬性
22NumPy創(chuàng)建與索引
221創(chuàng)建數(shù)組
222數(shù)字范圍創(chuàng)建數(shù)組
223切片和索引
23NumPy操作
231廣播
232迭代
233修改數(shù)組形狀
234翻轉(zhuǎn)數(shù)組
235連接數(shù)組
236分割數(shù)組
237添加與刪除
24NumPy函數(shù)
241數(shù)學(xué)函數(shù)
242算術(shù)函數(shù)
243統(tǒng)計函數(shù)
244排序函數(shù)
3Pandas基礎(chǔ)知識
31Pandas環(huán)境安裝及數(shù)據(jù)結(jié)構(gòu)
311Pandas環(huán)境安裝
312Pandas系列
313Pandas數(shù)據(jù)幀
314Pandas面板
32Pandas操作
321系列基本操作
322數(shù)據(jù)幀基本操作
323合并與連接
33Pandas函數(shù)
331I/O函數(shù)
332統(tǒng)計函數(shù)
4金融市場可視化分析
41可視化基礎(chǔ)Matplotlib
411基本引用方法和figure對象
412繪制圖形
413添加輔助信息
42繪制股價基本走勢圖
421獲取股價數(shù)據(jù)
422繪制基礎(chǔ)走勢
43繪制股價專業(yè)分析圖
431繪制多個子圖
432繪制成交量圖
433繪制K線圖
5金融市場技術(shù)指標(biāo)
51擺動類指標(biāo)
511KDJ指標(biāo)
512RSI指標(biāo)
513WR指標(biāo)
52趨勢類指標(biāo)
521MACD指標(biāo)
522MA指標(biāo)
53通道類指標(biāo)
531BOLL指標(biāo)
532ENE指標(biāo)
6金融市場描述統(tǒng)計分析
61集中趨勢分析
611集中趨勢指標(biāo)
612繪制直方圖
62離散度分析
621極差
622平均絕對離差
623方差和標(biāo)準(zhǔn)差
63數(shù)據(jù)分布分析
631偏度
632峰度
7金融市場回歸分析
71一元線性回歸分析
711回歸方程的形式
712參數(shù)的估計
72滬深兩市指數(shù)一元回歸分析
721模型構(gòu)建及分析
722模型檢驗(yàn)
73多元回歸分析
731多元回歸模型
732A股白云山多元回歸模型構(gòu)建
8金融市場收益率和風(fēng)險分析
81收益率分析
811單利及簡單收益率分析
812復(fù)利收益率分析
82金融風(fēng)險分析
821金融風(fēng)險分類
822風(fēng)險計量方法
823風(fēng)險測度
824最大回撤
825風(fēng)險價值
9金融市場投資組合分析
91投資組合收益率和風(fēng)險
911計算投資組合收益率和風(fēng)險
912等權(quán)重投資組合
913市值加權(quán)投資組合
92馬科維茨投資組合分析
921馬科維茨投資組合理論
922蒙特卡洛模擬求解
93夏普最優(yōu)組合分析
931夏普指數(shù)
932夏普指數(shù)分析
10量化交易初步
101量化交易框架
1011策略構(gòu)建階段
1012策略回測階段
1013策略執(zhí)行階段
1014風(fēng)險管理階段
102單均線策略
1021單均線策略的實(shí)現(xiàn)
1022單均線策略的優(yōu)化
103雙均線策略
1031雙均線策略的實(shí)現(xiàn)
1032雙均線策略的優(yōu)化