❶ 做量化交易選擇什麼語言好呢
量化交易,就是把人能夠識別的信息變成數字,輸入給計算機程序處理,輔助或者代替人類的思考和交易決策。
初學者碰到的第一個問題就是工具的選擇。首先大部分交易員本來不會寫程序,選擇任何一個語言進行策略開發,都有不小的學習成本。更重要的是,選擇了一門語言,接下來開發環境、人員招聘、數據介面與平台、甚至同類人群之間的交流、遇到問題後的支持,都跟著被「套牢」。所以從一開始就必須慎重對待。
先給出答案:對於還沒有確定一套固定量化環境的,建議用Python。
量化交易員面臨的大致選擇有:C/C++/java/C#/R/Matlab/excel等。我們從以下幾個方面考慮簡單做個對比。
注意:這里假設你團隊規模在50人以下。
1 學習成本和應用的廣泛性
C、C++的特點是速度最快,但要想用好,必須對計算機底層架構、編譯器等等有較好的理解,這是非計算機專業的人很難做到的,對於做量化交易來說更是沒有必要。
Java本來是SUN的商業產品,有學習成本和體系的限制,也不適合。
Excel面對GB級別的數據無能為力,這里直接排除。
Python、R和Matlab學起來都簡單,上手也快,可以說是「一周學會編程」。但R和Matlab一般只用來做數據處理,而Python作為一門強大的語言,可以做任何事,比如隨時寫個爬蟲爬點數據,隨時寫個網頁什麼的,更何況還要面對處理實時行情的復雜情況。
2 開始做量化分析後,哪個用起來碰到問題最少,最方便省事?
用歷史數據的回測舉例。假設我們有2014年所有股票的全年日線,現在我們想看看600001的全年前10個最高股價出現在什麼時候。python世界有個強大的pandas庫,所以一句話就解決問題:
dailybar[dailybar [『code』]==『600001』].sort_values([『close』].head(10)
R/Mathlab等科學語言也可以做到。
C/C++沒有完備的第三方庫。如果為了做大量的計算,要自己實現、維護、優化相應的底層演算法,是一件多麼頭疼的事。
Python從一開始就是開源的,有各種第三方的庫可以現成使用。這些底層功能庫讓程序員省去了「造輪子」的時間,讓我們可以集中精力做真正的策略開發工作。
3 現在我們更進一步,要做實時行情分析和決策
以A股的入門級L1數據為例,每3秒要確保處理完3000條快照數據,並完成相應的計算甚至下單。這樣的場景,C和C++倒是夠快了。所以行情軟體比如大智慧、同花順等客戶端都是使用高效率的語言做的,但像客戶端那樣的開發量,絕大部分量化交易機構沒能力也沒必要去做吧。
python的速度足夠對付一般的實時行情分析了。其底層是C實現的,加上很多第三方的C也是C實現,盡管其計算速度比不上原生C程序,但對我們來說是足夠啦。
4 quant離職了,他的研究成果怎麼辦
Python是使用人群最多、社區最活躍的語言之一,也是最受quant歡迎的語言之一。如果你是老闆,你能更容易地招聘到優秀人材,享受到python社區帶來的便利。
附幾個量化中常用的python庫:
- Pandas:
天生為處理金融數據而開發的庫。幾乎所有的主流數據介面都支持Pandas。Python量化必備。
- Numpy:
科學計算包,向量和矩陣處理超級方便
- SciPy:
開源演算法和數學工具包,與Matlab和Scilab等類似
- Matplotlib:
Python的數據畫圖包,用來繪制出各類豐富的圖形和報表。
PS: Python也是機器學習領域被使用最多的語言之一。像tensorflow、scikit-learn、Theano等等對python都有極好的支持。
❷ 我不會寫程序,但是我希望能編寫EA,聽說EA生成器,但不知道有什麼作用哪裡可以申請使用
"
EA生成器一般只需幾步操作,就可以生成轉換成EA程序。但是一般外匯平台,只有幾個大平台能夠提供EA生成器的,不知道你使用的是哪個平台?我用的是GKFX捷凱金融,作為一個什麼代碼都不懂的,只要自己設置操作一下,就能編輯出EA程序很實用的。建議你去看一下。"