- 中國期貨市場量化交易(R與C++版)
- 李尉
- 859字
- 2019-12-06 13:58:51
1.4 本節介紹
本節主要介紹本書的編程語言及主要研究的策略,也跟其他主流的編程語言做了對比,并且介紹了本書要講的策略類型,以及其他一些策略類型。
1.4.1 為什么使用R語言
很多人會問為什么使用R語言?因為現在國內最受歡迎的分析類語言是Matlab,國際上Python越來越流行,而且介紹Matlab和Python的書喜歡用R語言作為反面例子。整體而言,一個語言是否適合做量化交易,有以下幾個方面原因。
- 運算速度。其實這幾個都是解釋性語言,或許有一定的速度差異,但一般是10%~20%這個幅度,對于計算量大的處理,要么已經封裝了軟件包,里面是C++寫的,要么自己可以寫成C++編譯,然后用分析語言調用,整體速度就差不多。本書會介紹如何使用Rcpp來在R語言里面使用C++。
- 研究與交易結合。客觀說這不能算是優勢,因為絕大多數正規的量化團隊還是會用C++把交易程序重新寫一遍,Python在國內期貨也需要調用C++的CTP接口才能交易,其實正規的團隊不大喜歡用第三方的接口,因為有錯誤的話難以調試。
- 研究效率。其實這是R語言的優勢,在可視化方面R語言應該是最好的,而且R語言很多package都是開源的,網上可以搜到代碼,有不懂的可以上stackoverflow上面問,一般作者都會在24小時內回答,非常方便。
- 其他方面。國內使用Matlab多是因為可以免費試用,但國外Matlab是收費的,而R語言是免費的,且沒有版權的問題。很多學術界的書籍都是基于R語言的,Python更多是復雜的機器學習模型上有優勢,但統計學領域的時間序列、非參數統計等基本上只有R語言才會有對應的package。
基于上述的理由,加上本人在研究生階段就是學習R語言為主,而且并沒怎么使用深度學習模型,因此本書使用R語言作為研究的語言。
1.4.2 重點介紹中低頻趨勢
本書重點介紹的是中低頻策略,基于5分鐘K線,持倉三五天。如果是更高頻率的策略,比如基于分筆數據的策略,數據量比較大,回測、優化時間較長,不適合初學者。如果是更低頻的日線數據,最好結合基本面數據才能研究出好的策略,因此這里也沒有涉及。基于5分鐘K線的數據,一般不需要基本面數據,也不會對交易速度有很高的要求,各項都比較適中,而且容量也比較大,10~15億都沒問題,適合中小型私募和個人投資者。