Python 是一個高層次的結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言。
量化投資,在國外已經(jīng)有幾十年的歷史,反觀國內(nèi)卻只有幾年時間的發(fā)展,因此,國內(nèi)量化仍有機會分的一杯羹。隨著國內(nèi)從事量化投資的交易者素質(zhì)提升,對于策略開發(fā)語言所實現(xiàn)的功能要求也越來越高。
因此,堪稱入門免費、簡單、可移植性、解釋性、 豐富的庫、 面向?qū)ο蟮腜ython語言,便就是它了!
TIOBE于近日公布了 2020 年 3 月的編程語言排行榜:Python排名第三。
一、入門比較簡單。
Python 的代碼,就想閱讀英語一樣,易讀性相對于JAVA、C++等其他編程語言來說比較有優(yōu)勢,就算是非編程語言的人來說基本上都能知道寫的是什么。
至于Python 的安裝教程,大家可以在網(wǎng)上百度,有很多相關的安裝教程,那么這個地方推薦大家使用Anaconda3可以隨意切換 Python 版本,下面給大家展示一段Python 代碼:
a = 0
b = 3
if a>b:
print("a大于b")
else:
print("a不大于b")
run:
a不大于b
只要是學過英語的朋友,都可以讀懂大概的意思,而不像其他語言一樣需要專業(yè)得去學習過才能讀懂代碼。是不是非常簡單?
二、Python策略開發(fā)速度。
首先,python策略開發(fā)周期非常的短,這是毋庸置疑的。因為,同一個功能Python代碼100行、C語言 300行,也符合其設計哲學。下面用這2門語言來計算 π ,看看其代碼量:
C語言:
Python語言:
效果已經(jīng)很明顯了,python代碼大概只有C語言的1/3。
但是,python的缺點也是比較明顯的,雖說代碼量減少了不少,運行速度也隨之降低了。據(jù)了解,C語言的運行速度是python的十倍左右,例如:python執(zhí)行一段代碼需要30秒,C語言僅需要3秒。
不過,也不必擔心,python在量化領域火也是有原因的。
首先,用C語言開發(fā)策略,一般而言策略對速度的要求極高,例如:高頻策略。但是門檻相對高,不僅僅是語言門檻,還有交易通道也非常關鍵。
所以,一般人是沒有這個必要去做此類策略的,中低頻的量化策略相對多見,對交易速度要求不是那么的高,因此才這么多人使用python開發(fā)策略。
三、強大的開源庫。
1 .首先,不得不提的開源指標庫 "talib" ,其囊括了幾乎市面上所有的技術指標成交量類,能量類、趨向類、反趨向類、量價指標、擺動指標等等。例如:MA、MACD、RSI、SAR、SMA、TEMA 、 TRIMA 、WMA 等等,
SAR指標
2 . 其次,非常得推薦大家使用 tqsdk這個開源包。快期旗下的產(chǎn)品,數(shù)據(jù)質(zhì)量和穩(wěn)定性沒得說,另外免費、輕量級,pip install tqsdk 安裝后就可以在本地進行simow模擬 和實盤交易,體驗感非常好。
from tqsdk import TqApi,TqSim,TqBacktest,TargetPosTask
導入 tqsdk就進行各種sao操作。另外,還提供的web_gui ,直接開源在網(wǎng)頁中進行回測。
3 .還有其他的一些非常有用的庫,比如:Sklearn、TensorFlow、arch等等。
四、選擇的平臺多樣。
目前國內(nèi)開源量化平臺幾乎都是采用python語言進行量化策略的開發(fā)。近些年,以網(wǎng)站的模式進行策略開發(fā)、模擬、交易的平臺,聚寬、米筐、優(yōu)礦,萬礦,簡稱 — “寬大軍”,一涌而出!就目前看來,聚寬量化算是其中的佼佼者,京東量化一出沒多久,直接Over了。另外的其他平臺的發(fā)展方向也有不同。
平臺如此之多,應該如何選擇量化交易平臺。我認為有潛力的還是天勤量化平臺,免費、開源、、方便、數(shù)據(jù)穩(wěn)定,當然了目前沒有收費,以后我也不知道收不收費,向投資者還是向期貨公司也不知道。后期如果像快期一樣,用戶免費使用就好了,哈哈~!
總結(jié):
用python開發(fā)量化交易策略,有優(yōu)點也缺點,但也不妨礙其成為量化投資界最受歡迎的策略開發(fā)語言。
雖說速度慢,但市場中大部分的策略屬于中低頻的策略,所以對策略的運行速度要求并不是很高,python剛剛好。我們還是根據(jù)自身的需求,選擇適合自己的量化策略開發(fā)語言。
如果覺得不錯,歡迎點贊關注哦~!更多干貨等著你。