python量化投資(一):量化投資的基本流程

2021-12-22 證經學社

這篇文章是寫給正在成長的自己以及正走在量化投資這條路上的知友,希望大家都能變得更好。

本文將會講解量化投資過程中的基本流程,量化投資無非這幾個流程:

數據輸入-策略書寫-回測輸出

其中策略書寫部分還涉及到程式語言的選擇,如果不想苦惱數據輸入和回測輸出的話,還要選擇回測平臺。

一、數據

首先,必須是數據,數據是量化投資的基礎

如何得到數據?

Wind:數據來源的最全的還是Wind,但是要付費,學生可以有免費試用的機會,之後還會和大家分享一下怎樣才Wind裡摘取數據,Wind有很多軟體的藉口,Excel,Matlab,Python,C++。

預測者網:不經意間發現,一個免費提供股票數據網站 預測者網,下載的是CSV格式

TB交易開拓者:Tradeblazer,感謝

@孫存浩

提供數據源

TuShare:TuShare -財經數據接口包,基於Python的財經數據包,利用Python進行摘取

python 的 pandas_datareader 包 可以讀取雅虎、谷歌、世界銀行等很多數據源的數據

如何存儲數據?

Mysql(關係型資料庫)

mongodb(非關係型資料庫)

簡單的文件(txt\csv\mat\h5)

如何預處理數據?

數據如何分類?

二、計算語言&軟體

已經有很多人在網上詢問過該選擇什麼語言?筆者一開始用的是matlab,但最終選擇了python

python:庫很多,只有你找不到的,沒有你想不到,和量化這塊結合比較緊密的有:

Numpy&Scipy:科學計算庫,矩陣計算

Pandas:金融數據分析神器,原AQR資本員工寫的一個庫,處理時間序列的標配

pandas_datareader:國外股票宏觀數據接口

Matplotlib:畫圖庫

scikit-learn:機器學習庫,包括一些數據預處理

statsmodels:統計分析模塊,線性回歸

TuShare:免費、開源的python財經數據接口包

Zipline:回測系統

TaLib:技術指標庫

matlab:主要是矩陣運算、科學運算這一塊很強大,主要有優點是WorkSpace變量可視化

推薦的python學習文檔和書籍

關於python的基礎,建議廖雪峰Python 2.7教程,適合於沒有程序基礎的人來先看,涉及到python的基本數據類型、循環語句、條件語句、函數、類與對象、文件讀寫等很重要的基礎知識。

涉及到數據運算的話,其實基礎教程沒什麼應用,python各類包都幫你寫好了,最好的學習資料還是它的官方文檔,文檔中的不僅有API,還會有寫實例教程

pandas文檔

statsmodels文檔

scipy和numpy文檔

matplotlib文檔

TuShare文檔

python包的下載地址,Python Extension Packages for Windowspython包的下載地址:

https://www.lfd.uci.edu/~gohlke/pythonlibs/

第二,推薦《利用Python進行數據分析》,pandas的開發初衷就是用來處理金融數據的。

三、回測框架和網站

PyAlgoTrade - Algorithmic Trading

Zipline, a Pythonic Algorithmic Trading Library

國內的這些平臺的優缺點如下:

提供了數據和回測的框架,確定了語言,你所做的就是第四步--策略書寫和優化,大大提高了效率

可以看到其他人的代碼和策略,有論壇,方便交流溝通

數據接口不足以滿足需求,代碼保密性不強,API不夠完善

具體有如下回測平臺,基本應該都是仿照Zipline

果仁網:比較傻瓜,適合不會編程的開發人員

優礦:API有點不好用,數據還是很全

聚寬:API很不錯,長得Quantopian,現在比較常用的就是這個,但是數據有點不夠用啊

BotVS

米寬

factors

一般推薦自己寫一個,畢竟做量化需要自己從下載、存儲數據、分析處理數據、回測、數學模型、金融市場理解分析都要明白,所以道路很長啊

清華大學經濟金融論壇

四、策略來源和基礎知識

主要是數學和金融的基礎知識,因為策略的來源主要是一些統計學知識和一些投資概念

矩陣運算,線性代數:這是科學計算的前提

概率統計學:這是金融數據分析的前提

計量經濟學:也就是多元統計線性回歸,推薦《計量經濟學導論:現代觀點》

多因子模型:首先應該閱讀砝碼三因子的PAPER,有一些基本的研究方法和思路在裡面

投資學:介紹了一些投資學上的基礎知識和基本模型,例如馬克維茨、法瑪三因子等等,推薦經典的《投資學》

Barra:現在非常主流的量化模型,有很多可以參考的資料

金融研報:各券商研究員的分析

Paper:各種paper不禁有助於理解上面的基礎知識,還可以在其中找到一些量化的靈感

機器學習:是計算機科學中數據處理的重要分支,推薦Peter Harrington《機器學習實戰》

時間序列分析:金融數據的基礎

小波分析:包括最基礎的傅立葉變換,推薦涉谷道雄的漫畫《傅立葉解析》,這真不是開玩笑,這本書對於傅立葉的解釋淺顯易懂又不失深度,絕對值得一讀。

學術期刊

五、分級基金

集思錄-分級基金

分級基金網

END

作者:竇福成  原文地址:http://suo.im/5ecqLZ

本文已得到作者本人授權

 福利一:領取資料量化策略實戰培訓

關注公眾號「證經學社」

回復關鍵詞【量化實戰】即可獲得領取方式。

 

福利二:【僅限今日】《Python金融量化案例系列課》立減200元!

通過具體模型和實戰授課的方式。不僅鞏固和加強學員的Python技術,並且通過實際的案例教授學員。注!學員們需要提前做好學習路徑規劃。

(本次課程顧問Joyo@證經學社(ID):zjmarketing)

加入拼團群(合夥拼團)


相關焦點

  • 量化投資-為什麼選擇Python?
    而Python在量化投資領域的地位,猶如Java在IT行業的地位一般。為什麼量化投資要選擇Python?全球star數排名前十的量化投資開源項目裡,有7個使用的Python作為底層代碼。全球註冊用戶最多的商用量化平臺Uqer優礦,是基於Python實現功能提供服務的。國內主要量化平臺,如RiceQuant和JoinQuant,也是使用Python。
  • 量化投資入門之工具篇
    隨著量化投資的普及,越來越多人開始對於這塊開始剛興趣,想要學習,但是要如何學習呢,相信大家去網上一搜都會有很多的回答。
  • 在職金融小白自學python做量化投資能行嘛?
    python做量化投資能行嘛?由於本人是24K純金融學專業背景,所以就跟大家分享一下,作為一個零編程基礎的金融小白,是如何入門量化金融的。一、量化工具01程式語言:Python工欲善其事,必先利其器。想要入門量化,學會一門程式語言是必不可少的。對於量化金融來說,主流的程式語言有Python、MATLAB、Java、C++等。
  • 大學生金融小白自學Python做量化投資需要注意哪些?
    python做量化投資需要注意些什麼?由於是24K純金融學專業背景,所以金程AQF小編就跟大家分享一下,作為一個零編程基礎的金融小白,是如何入門量化金融的。一、量化工具1、程式語言Python工欲善其事,必先利其器。想要入門量化,學會一門程式語言是必不可少的。對於量化金融來說,主流的程式語言有Python、MATLAB、Java、C++等。
  • 金絲路量化科技研究院乾貨合集 量化投資全解析
    量化投資最近很熱門,作為一種重要的投資方法,目前很多人可能還不太了解,今天我們就來全面解析量化投資。 量化投資的流程 1、投資組合的構建 首先有三塊基礎模型,一個超額收益模型(Alpha Generator),一個風險模型,一個交易模型。這三大塊結合起來構建一個投資組合。
  • 量化交易工程師,帶你學習量化交易入門!量化交易環境Python安裝
    從最開始的海龜交易法則,到人工智慧深度學習的量化交易能力不斷創新。可能很多人不信,說量化交易不可能穩定盈利,它只是一個口號,一個炒作。可是,正如機器人阿爾法狗已經打敗人腦,徹底改變歷史長河中機器人在圍棋上已經無法戰勝人類的事實。量化交易取代人工交易,成為一個成熟的頂尖的交易思維方法系統還有什麼不可能呢?
  • 這些年,大家對量化投資的誤解
    誤解一 所有的量化投資都是一樣的實際上,量化投資只是一個寬泛的概念,且不說P派Q派的理念之爭,在具體的投資策略上也是八仙過海,各顯神通。雖然是各顯神通,但是畢竟過的是一個海,所以經常也會出現某年做量化對衝的表現都普遍不好,或者做CTA策略的某年都很難的情況。
  • 工行河南省分行成功舉辦量化投資論壇 讓個人投資更好使用「量化...
    為進一步提升私人銀行客戶服務,提高客戶對量化投資的了解程度,11月18日,工商銀行河南省分行採取「現場 直播」的方式,成功舉辦「美好偕行智享無限」——工銀私人銀行量化投資論壇活動。量化投資近年來在國內方興未艾,受到越來越多投資者的關注,但是從誕生之日起,量化投資就以高深的數學模型為基礎,披上了神秘的面紗,使很多個人投資者望而卻步。本次量化投資論壇活動秉持開放、專業、創新的理念,邀請了工銀理財、工銀瑞投、中金財富、百瑞信託量化投資領域的知名專家參與探討,讓更多的個人投資者全面了解量化投資。
  • 2021年寒假 ● 線下:Python量化投資實訓營來了
    為對Python量化投資感興趣的在讀大學生提供緊張高效的一周投資實訓,教你在市場中抓住稍縱即逝的機會,通過在某重點大學量化研究中心中學習,以及量化投資模擬路演大賽,真正實操Python量化投資。金融行業新人:通過系統學習Python量化投資,實現職業發展的彎道超車2.
  • 一文看懂量化投資經典,隱馬爾科夫模型
    伴隨2010年滬深300股指期貨的問世,中國量化投資時代揭開帷幕,並在三年後實現快速增長。2015年股指期貨因政策方面的限制,流動性驟降,使得量化對衝策略的基礎工具受到動搖。同時監管部門為防範程序化交易對於市場波動的放大,於2015年停止了私募、信託等產品接入券商交易埠。
  • 13年量化投資的一點感想
    從封基、債券、分級A、可轉債到股票,都是用著量化的思想去做的,從剛開始是很樸素的想法,用淨增、折價率、到期收益率、分紅等十多個因子做的簡單的模型,一直到後來系統學習了量化投資後建立的複雜的模型,13年來有成功也有失敗,這裡從封基、債券、分級A、股票、可轉債五個品種的維度做個總結。
  • 什麼是量化投資?程序化交易怎麼做?
    量化投資什麼意思?所謂量化投資是將投資環節標準化的交易方式,主要包括選股、買入、賣出三個環節,而真正的量化投資是完全自動化交易,不需要人為參與,投資者只要監管程序是否正常運行,參數設置是否合理,指標選擇是否在既定目標範圍內。
  • 啟林投資:定位於學術派量化私募,致力於成為國內頂尖
    2015年,啟林投資剛剛成立;2016年3月,作為投顧啟林發行首支2000萬量化對衝產品;2017年,投顧規模達到1.2億,同年8月,啟林投資獲私募證券投資基金牌照並發行首支自主管理產品。2018年1月啟林投資規模破10億,2019年1月,啟林投資進入中國銀行白名單管理規模達30億,在2020年10月管理規模達到55億。這樣的規模相對同業交易賽道並不擁擠。
  • 量化投資與數據:模型未動,數據先行
    第十屆量化投資國際峰會報名須知量化投資,數據是基礎
  • 大學生如何入門Python量化金融?
    由於本人是24K純金融學專業背景,所以就跟大家分享一下,作為一個零編程基礎的金融學子,是如何入門量化金融的。一、量化工具01.程式語言:Python工欲善其事,必先利其器。想要入門量化,學會一門程式語言是必不可少的。
  • 不會編程也能做量化投資?果仁網幫投資者將投資邏輯轉化成量化策略
    關於私人量化交易平臺,36氪曾經報導過JoinQuant、RiceQuant以及優礦。這些平臺都是服務於懂編程的量化愛好者,即「寬客」。為寬客準備好資料庫和開發工具等材料,採用策略眾包的方式,吸引量化愛好者到平臺上開發策略。 此外,國內的量化策略服務領域還有以微量網為代表的量化策略商城,以及以量財富為代表的量化理財平臺。
  • 常見十大量化投資策略
    @Author : Runsen6.2.2 常見股票和量化投資策略策略:量化策略是藉助計算機技術實現投資思想的邏輯代碼,一般包括數據獲取、信號分析、執行交易三大模塊眾所周知,投資股市的收益分為兩部分,一部分來自市場行情波動的收益,另一部分來源於選股的操作收益
  • 量化交易學習(1)- 如何用python調用CoinGecko Api
    hello,大家好,我是魚叔,在今年的年度報告裡,我提到想要在22年打造一個量化交易系統,因此會推出相關系列的偏技術文章「量化交易學習」 ,這類文章適合那些想要學習加密市場量化交易
  • 到底什麼是多因子量化投資?
    同樣,量化投資的核心是經濟/金融模型,數學也只是工具。用鐵鏟子去挖金子,能否挖到金子不確定,但鐵鏟肯定不會自動變成金子。   愛因斯坦強大之處在於其思想,數學則是其建模工具。同樣,量化投資的核心是經濟/金融模型,數學也只是工具。用鐵鏟子去挖金子,能否挖到金子不確定,但鐵鏟肯定不會自動變成金子。
  • 【量化小講堂】windows下如何安裝Python、pandas
    Python比較好安裝,而pandas比較難裝,當時裝了我一整天。pandas是Python下面的一個package,專門用於金融數據的分析,簡直是神器。鑑於大家可能上了官網都不知道下載哪個版本(我自己一開始就是),我已經將安裝文件上傳到百度雲,下載地址在微信後臺回復【python下載】查看。安裝文件下載好之後,就像一般的軟體一樣,一直點擊next就能安裝。Pycharm是一個ide,說簡單點就是一個用來編寫Python程序的軟體,也是個神器,可以讓我們更加方便的編寫Python程序。我們後面安裝pandas就需要用到它。