如何成為一名量化交易員?——初學者必備概念

這篇文章為大家介紹量化交易系統中最為常見的幾個基本概念。本篇的預期讀者主要是希望成為基金公司量化交易員的人,以及嘗試搞搞個人算法交易的愛好者。
量化交易是量化金融行業中最為尖端的一個領域,不論你是希望通過面試還是構建自己的交易策略,都會花費大量的時間與精力學習相關的知識。不僅如此,你還需要過關的編程技術,至少需要精通一門高級編程語言(如MATLAB、R或Python),而且伴隨著高頻交易策略的日益盛行,技術層面對于策略執行效果越來越至關重要,精通C/C++也許是最佳的選擇。

量化交易

量化交易系統包含以下四個主要組件:

  • 策略構建模塊:尋找策略,發掘可用優勢,決定交易頻率。
  • 策略回測模塊:獲取數據,分析策略表現,排除模型偏差。
  • 指令執行系統:對接券商,自動化交易,合理減少交易費用。
  • 風險控制模塊:最優化資產配置,根據凱利公式與交易心理學決定風險容忍度。

**注:凱利公式
凱利公式是一條可應用在投資資金和賭注的公式。應用于多次的隨機賭博游戲,資金的期望增長率最高,且永遠不會導致完全損失所有資金的后果。它假設賭博可無限次進行,而且沒有下注上下限。


凱利公式

**

策略構建

量化交易始于研究,研究過程包含選定策略、校驗策略(檢查其是否與當前投資組合的其他策略有沖突)、優化策略(通過數據對策略調優,提高回報率,降低風險)等過程。需要注意的是,如果你是非機構投資者,你還需要考慮自身的“資本充足率”,交易費用對于你策略的影響也會更大。
與大家的普遍印象不同,通過公共資源就可以獲取到許多有用的策略,學術期刊會發布一些理論交易結果(大部分對于交易成本的考慮比較粗糙),相關博客會深入討論一些策略,行業期刊上則會概述一些基金所使用的策略。
你可以會感到困惑,為什么這些個人與機構會熱衷于公開討論他們的策略?他們都非常明白如果其他人都蜂擁使用此策略時,這些策略可能會失效。真實原因在于,他們從來不會公開策略的調優方法與詳細的參數設置,而調優過程才是將一個普通策略提升到高盈利狀態的關鍵所在。事實上,找一個類似的已有策略,并實施自己的優化過程,才是目前構建自身策略的最佳實踐。
你可以從以下網站找尋些策略的靈感:

  1. Social Science Research Network - www.ssrn.com
  2. arXiv Quantitative Finance - arxiv.org/archive/q-fin
  3. Seeking Alpha - www.seekingalpha.com
  4. Elite Trader - www.elitetrader.com
  5. Nuclear Phynance - www.nuclearphynance.com
  6. Quantivity - quantivity.wordpress.com

你看到的大多數策略可以分為均值回歸趨勢跟蹤/慣性策略兩類。均值回歸策略認為標的資產的價格序列(如兩個關聯資產的價格差異)存在長期均值,短期的偏離最終必定恢復。趨勢跟蹤策略則在跟蹤市場趨勢的同時,通過對投資者心理及大型基金的資產結構的分析收集某個交易方向的慣性,跟蹤該趨勢直到慣性發生反轉。

另一個重要趨勢是交易頻率。低頻交易(LFT)通常是指持有標的資產超過一個交易日的策略,高頻交易(HFT)則只在交易日內持有資產,還有超高頻交易(UHFT)只持有標的幾秒甚至幾毫秒。雖然對于個人投資者來說高頻和超高頻策略也都是可實現的,但必須對于交易的技術棧和交易所的報價成交原理非常了解,這篇文章不會對這些方面做過多的延伸。

策略/策略集一旦構建完成,就需要用歷史數據進行收益能力的評估測試。接下來就是回測發揮的環節了。

回測

回測的目的在于使用歷史及樣本外數據對策略進行驗證,確定其能否創造預期收益,結果也會被看做為該策略實盤操作的一個預期值。但實盤涉及因素極其復雜,回測并不能確保策略的成功。
回測可能是量化交易中要求最為精細的一環,因為太多可能的人為偏差會涉及其中,一般包括前視偏差、幸存偏差和優化偏差(也被成為數據透視偏差)。關于回測還有幾個需要關注的關鍵點,包括歷史數據的質量和可得性、實際交易成本的影響及如何確定一個健壯的回測平臺,下文指令執行系統中會進一步討論交易成本。
通過歷史數據測試及優化是回測必須的步驟。市場中有各種不同的標的資產,更有數不勝數的數據供應商,服務價格取決于數據的質量、深度及實時性。對于菜鳥量化交易員(至少是個人投資級別)來說,一般Yahoo金融上的免費數據就足以大家使用。我會著重介紹在處理歷史數據集是的常見問題,數據供應商這里不會詳述。

**注:數據透視偏差是指使用過多參數與擬合歷史數據,而沒有進行大數據量、樣本外測試及敏感度分析導致的偏差
**

關于歷史數據主要關心準確度/清潔度、幸存者偏差及對于公司行為(如發放股利、拆股等)的調整。

  • 準確度指數據的整體質量(是否存在謬誤數據)。錯誤數據有時候很容易發現,比如使用窄帶濾波器可以從時間序列數據中篩選出超出范圍的數據并修正它們,但有時候也非常難以確定,通常我們需要兩個以上的數據提供商,通過比對確定數據是否準確。
  • 幸存者偏差,通常免費或比較便宜的數據集都存在這個問題,幸存者偏差是指數據集中不在包含已經不再流通的資產,比如已經退市或者破產的股票。使用這種數據集進行回測會導致評估業績比真實的(歷史上)業績要好,因為數據集相當于做了一次自我篩選,篩選出了歷史上表現較好的股票。
  • 公司行為通常會對原始股票價格出現階梯性影響,而這部分影響在計算基于價格的收益率時不應當被考慮進來,股利分發與拆股是最為常見的公司行為。每當發生公司行為時,都要經歷價格的回調,要注意千萬別把拆股與真實的價格調整給混淆了,許多交易員都曾在公司行為上栽過跟頭。

執行回測需要一個軟件平臺,你可以選擇專業的回測軟件,如Tradestation;一個數值處理平臺,比如Excel或MATLAB;也可以使用Python或者C++自主研發一套軟件。這里不會詳述Tradestation、Excel和MATLAB,因為我希望構建一套完整的技術棧,這么做的一個好處在于回測軟件和指令執行系統可以緊密的結合在一起,即使面對的是一個高級統計學策略,對于高頻交易策略,自主研發甚至可以說是必須的。
進行回測時,回測系統必須能夠定量地給出策略的收益表現。最大跌幅夏普比率是業界公認的兩個度量標準。最大跌幅標注了一定時期內(通常以年為單位)賬戶資金曲線中最大的波峰-波谷差,通常以百分比計量。因為一些統計學因素影響,低頻交易的最大跌幅要比高頻來得更大些。歷史回測可以得到歷史上的最大跌幅,對于未來具有很強的指導意義。第二個指標是夏普比率,它被定義為超額收益的平均值除以這些超額收益的標準差,超額收益指策略高于預定基準收益的部分,基準收益常會選擇標普500或3個月的國債。需要注意的是,“年化收益”這個平日里常見的指標,回測里確基本不用,因為它沒有將策略的波動性考慮進去。
回測完成,確信策略中已經排除了所有偏差,如果運氣好夏普比率和最大跌幅表現都挺好,那么恭喜你,可以開始著手構建指令執行系統了!

指令執行系統

通過指令執行系統,策略產生的交易指令被傳送給經紀商并執行。現實當中,指令生成可以是半自動或者全自動,執行機制也可以配置為手工、半手工或者完全自動。低頻交易中,手工和半手工較為常見,而高頻交易則需要建立完全自動化的執行機制,通常也需要與指令生成模塊緊密配合。
構建指令執行系統的關鍵在于對接券商的接口、降低交易費用的策略(包含傭金、滑點及經紀商買賣差價)及處理實盤與回測預測業績差異的處理。

經紀商提供了多種交易接入方式,從電話到高性能API任你挑選。理想情況下,每個人都希望自己的指令執行越自動化越好,還有支持多策略并行及如何提高執行頻率,這些宏偉的目標都促使你不斷前進。常用的回測軟件,MATLAB、Excel及Tradestation在低頻、簡單的交易策略中都可以表現很好,但如果你希望實施實盤的高頻交易,那么你必須使用高性能的編程語言如C++構建一個自己的指令執行系統。我之前就職的基金公司里,有一個10分鐘的交易回路,每十分鐘我們可以就可以從這個回路下載最新的市場數據,并基于新數據在這個10分鐘的周期內完成交易,據說是用優化過的Python腳本實現的。如果需要實現分鐘甚至秒級別的數據交互,C/C++可能表現會更好些。
在一個大型基金中,指令如何最優執行通常不在量化交易員的工作范疇,但在小型點的基金或做高頻交易的公司,交易員既是指令的執行者,同時又必須要具備更廣泛的技能。如果希望供職于基金,那么請你記住一點,你的編程技能可能要比你的統計學、經濟學技能更為重要!
指令執行過程中經常會出現問題的地方在于交易費用的優化。最為常見的三類費用包含

  1. 傭金/稅費(commission/tax),通常由經紀商、交易所或監管機構收取
  2. 滑點(slippage),指你訂單希望的成交價格與實際成交價格的差異(一般會在行情波動大或市場缺乏流動性的時候出現)
  3. 價差(spread),指交易標的的買賣報價之差,注意價差并非常量,會跟隨市場訂單的情況而不停變化。

交易成本對策略影響很大,甚至可以讓一個原本高盈利高夏普率的策略搖身一變成為爛到掉渣的策略,通過回測正確預測交易成本極具挑戰性。依據交易策略頻率,需要獲取歷史成交數據(包含逐筆交易的買賣信息),數據量很大,所以大型基金中,基本所有寬客團隊都在專注于指令的執行優化。以如下場景為例,一個基金需要拋售大量的標的資產,如果上來就大量傾銷,會導致股價快速大幅下降,該指令也就沒有獲得最優的執行。因此,算法一般會將該指令拆分為“點滴訂單”,盡管可能需要承擔滑點風險。再深入一步,甚至有專門的策略來捕捉這些情況并加以利用,這個領域被稱為“基金結構套利”。

指令執行系統最后一個主要關注點在于策略的真實表現與回測中的期望的差別,有許多原因會導致這種情況,比如之前已經回測部分已經提到的前視偏差和數據透視偏差。但一些策略在真實運行前很難發現偏差,高頻交易尤為明顯。交易策略和指令執行系統都可能存在回測中無法復現,但在線上實盤又出來搗亂的bug,市場也可能因為一個策略的部署從而天翻地覆。新的監管環境,投資者情緒與宏觀經濟的變化都可能導致市場行為的變化,進而也會影響你策略的表現。

風險管理

風險管理是量化交易魔方的最后一塊,我們之前討論的所有偏差都屬于風險的范疇。常見的風險有技術性風險(比如交易所的服務突然發生了硬盤故障)、經紀商風險(比如經紀商破產了,別笑,真的有,MF Global!)等,簡言之,只要會影響交易進行的因素,都可能帶來風險。

風險管理還需要確定最優資本配置(組合理論的一個分支),這意味著資本如何分配到不同的策略上執行。這是一個非常復雜的研究領域,需要依賴非凡的數學技能。目前凱利公式是業界公認進行資產及杠桿配置的標準,凱利公式提出了一些收益的統計特征假設,但在真實的金融市場中卻不一定總是正確,交易員具體使用其時一般偏保守。
風險管理的另一個主要作用是用來排除交易員的心理障礙,有許多認知偏差會潛移默化地影響到交易過程。盡管大家普遍認同如果策略完全交由算法執行問題會更少,但目前很多交易還是需要經交易員之手。損失厭惡是一種常見偏差,當處于虧損狀態時,可能會由于確認損失帶來的痛苦而遲遲不進行止損,盈利情況下類似,可能會因為害怕失去已獲收益而過早地交易。當交易員強調最近而忽略了長期,則會產生另一種常見偏差——近期偏差。當然也有經典的情緒偏差——恐懼與貪婪,它們會導致杠桿不足/杠桿過高,進而可能導致收益降低或爆倉的情況。

總結

顯而易見,量化交易是量化金融中一個極其復雜,但卻非常有趣的領域。這篇文章我只是觸及皮毛地介紹了量化金融的基本框架,文中很多我只是一兩句話帶過的內容都有對應詳盡的書籍與論文,所以建議在你準備申請量化交易相關工作之前,一定要補一補基礎知識,至少要對統計、經濟學有個大略的認識,有MATLAB、Python或者R的相關實踐,對于更高級的高頻交易,你還需要Linux內核、C/C++,匯編及網絡延遲優化等技能。

如果你對創建自己的算法交易策略感興趣,建議你首先精通編程,盡可能自己構建數據采集器、策略回測及指令執行系統,因為試想你的自有資本一直在線持續運作,親自完成完備的測試、熟悉策略里的各種陷阱與問題,相對于把這部分工作外包出去,是不是更能睡個安穩覺呢:)

翻譯自
https://www.quantstart.com/articles/Beginners-Guide-to-Quantitative-Trading
原標題:Beginner's Guide to Quantitative Trading
作者: Mike Halls-Moore

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,156評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,401評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,069評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,873評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,635評論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,128評論 1 323
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,203評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,365評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,881評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,733評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,935評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,475評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,172評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,582評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,821評論 1 282
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,595評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,908評論 2 372

推薦閱讀更多精彩內容