一名交易員的量化投資路線

Over the shoulder view of the computer screens of a stock broker trading in a bull market showing ascending graphs. Photographer owns copyright for images on screen

 

所謂量化投資,簡單地說就是利用數學、統計學、信息技術的量化投資方法來管理投資組合。量化投資者搜集分析大量的數據後,借助計算機系統強大的信息處理能力,採用先進的數學模型替代人為的主觀判斷,利用計算機程序在全市場捕捉投資機會並付諸實施,克服了投資者情緒波動的影響,使投資的穩定性大為增加,避免因市場極度狂熱或悲觀的情況而導致做出非理性的投資決策,以保證在控制風險的前提下實現收益最大化。用一句話說,就是利用電腦幫助人腦處理大量信息。

量化交易的獨特性

量化投資可以將其簡單地概括為利用數量化統計分析工具構建相應的數據模型,並通過計算機處理從而實現投資思想和投資理念的一種策略。與傳統投資相比,量化投資存在一定優勢:

  • 量化投資與傳統投資相比範圍更加廣泛。
  • 量化投資完全可以避免人為主觀因素的影響。
  • 量化投資的研究方法更具有統計價值。

量化投資與傳統投資相比範圍更加廣泛

傳統投資受到投資人的精力和專業水平等因素的限制,其所能跟蹤的投資標的只能局限於某個特定範圍。而量化投資則因借助了計算機技術因此大大增強其挖掘信息的廣度和速度,使其投資分析的範圍幾乎可以覆蓋整個市場,而且可以在投資過程中將更多影響因素納入其中,包括宏觀因素、流動性、波動性、盈利能力、成長性、估值等等。由此可見,量化投資可以多角度分析且實現全市場範圍的品種選擇,這一優勢也使其能捕捉更多的投資機會。

量化投資完全可以避免人為主觀因素的影響

量化投資在操作中會嚴格遵循投資模型給出建議,而傳統投資策略則往往會受到投資人主觀因素的影響,包括投資人的情緒、個人偏好、身體狀況等等。量化投資以統計分析和投資建模代替投資人依靠直覺主觀判斷,克服了人性的弱點貪婪、恐懼、過分自信、僥幸心理、情緒化等,使投資變得更為理性和客觀,大大降低在投資決策過程中人為主觀因素對於投資行為的影響,避免因此做出不理性的投資決策,從而影響最終的投資收益。

量化投資的研究方法更具有統計價值

量化投資是利用數據統計分析工具總結歷史規律或捕捉投資標的定價偏差從而發現投資並且較大概率獲得投資成功。量化投資的投資體系不摻雜主觀情緒和認知偏差,因此更為客觀。同時計算機強大的數據處理能力也使得信息挖掘更為充分全面。此外,量化投資的每一個決策背後都有模型支持、數據支撐且經過歷史檢驗,因此更為科學嚴謹。而量化投資更為科學客觀全面系統的研究和投資系統也使得投資人在風險可控的前提下更為準確地把握投資機會,更大可能地實現收益的最大化。

量化投資體現在紀律性、系統性、及時性、準確性和分散化,並能通過這些特點創造出有效的交易價值。

量化交易的主要策略體系

  • 市場中性策略:ALPHA。
  • 套利策略:統計套利,期現套利,分級基金套利,ETF套利。
  • CTA期貨策略:期現套利,傳統趨勢策略。

市場中性策略:

市場中性策略是指做多股票/同時做空股票衍生品的,通過這類組合來減少對某些風險的暴露;最典型的策略組合是Alpha策略,通過構建相對價值策略來超越指數。

例如篩選一攬子中證500的強勢股票,再用500指數,或者ETF期權,ETF基金等等來對沖投資組合的系統風險,獲得額外的收益。

因為買入的股票和賣出對沖衍生品價值相等,這樣就中和了市場整體風險,淨值與市場漲跌無關,這就是“股票市場中性策略”的由來。中國對沖策略產品大多採用買入現貨、賣出期貨的對沖策略,期貨價格和現貨價格之間的差異會影響策略表現。

套利策略:

統計套利:是將套利建立對歷史數據進行統計分析的基礎之上,估計相關變量的概率分布,並結合基本面數據進行分析以用以指導套利交易。相比於無風險套利,統計套利少量增加了一些風險,但是由此可獲得的套利機會將數倍於無風險套利。

統計套利通過對相關證券進行對沖來獲得與市場相獨立的穩定性收益。在價格出現背離走勢的時候買進表現相對差的,賣出表現相對好的,當趨勢慢慢回歸正常區域時候,就可以獲得相對穩定的收益。它的風險在於如果市場並未按照預想出現價格回歸,而是進一步擴大價差,可能會產生風險。

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1.jpg

期現套利:期現套利是指某種期貨合約,當期貨市場與現貨市場在價格上出現價差偏離,低買高賣而獲利。當現貨指數被低估,某個交割月份的期貨合約被高估時,投資者可以賣出該期貨合約,同時根據指數權重買進成份股。當現貨指數被高估,某個交割月份的期貨合約被低估時,如果允許融券,投資者可以買入該期貨合約,同時按照指數權重融券賣空成份股。和統計套利類似,它的風險在於期貨和現貨的價差並未收斂而是進一步擴大。

ETF套利:ETF(Exchange Traded Fund)交易型開放式指數基金,通常又被稱為交易所交易基金。由於其有兩個價格,即基金淨值和交易所交易價格,所以一旦兩個價格相差過多時,就可以高賣低買套利。風險在於交易價格隨時波動,較難捕捉,也可能會有流動性困難。

分級基金套利:一般分級基金有5個價格,母基金淨值,A類份額淨值、A類份額交易價格、B類份額淨值、B類份額交易價格,正常情況下,A的淨值+B的淨值=2*母基金淨值,當(A的交易價格+B的交易價格)大於或小於兩倍母基金淨值時,也可以通過高賣低買獲利。

CTA期貨策略:

CTA即商品交易顧問。CTA期貨包括套利策略,趨勢交易策略。目前CTA運用最廣泛的是趨勢交易策略,通過運用大量不同的指標去除市場噪音並尋找當前的市場趨勢,然後建立部位,他們從市場趨勢中獲得利潤。

總結:策略篩選決定投資的方向,例如中國興起的FOF基金,對於資產配合這塊需要不同類型的投資策略,會篩選不同的投顧。每一方面能有成績都會有不錯前景。

給出一份FOF基金公司尋找投顧的一些要求,具體歸納為下:

  • 具體的策略邏輯是怎麼樣的(例如如何選股/擇時/套利/趨勢/反轉等)?策略組合是如何構建的?
  • 中長期看策略盈利所依賴的最重要市場特性是什麼、這些市場特性的可持續性如何?
  • 交易平均持倉周期多長?涵蓋品種有哪些?
  • 產品中各品種/各策略的倉位是如何分配?整體倉位有無加減倉機制,總倉位上限多少?隔夜倉位、日內倉位各多少?
  • 團隊投資體系的最佳資產管理規模是多少?最大的資金容量是多少,最低資金規模要求是多少?目前管理的資產規模多少(如果有,請列出估計資金容量過程中的前提假設)?
  • 風險是如何控制的?特別是當淨值在面值以下的情況下,團隊將採用哪些具體措施控制下行風險(倉位、策略等方面)?盤中風控是如何實現的(例如日內回撤超過一定幅度,如何對倉位進行處理等)?
  • 如何應對極端行情下的風險?股指期貨交易受限制後,是如何進行應對的?

交易平台的選擇

中國平台這塊,以期貨量化平台較為成熟,包括以下一些交易平台。文華贏智程序化交易、交易開拓者、金字塔決策交易系統、達錢&multicharts。

文華贏智程序化交易

文華財經在期貨市場占用的人群應該是最大的,採用麥語言開發模型和指標。在量化模型研發方面,贏智提供了中國股票和期貨的全部品種歷史行情數據,同時提供了豐富的行情函數、帳戶和交易的部分函數和一些統計函數用於策略開發,還提供了豐富的策略回測報告項作為策略績效評估的依據。文華財經編程相對簡單,對於剛剛想入門這個市場,又沒有編程經驗的人來說,文華財經是首選。

缺點:本人覺得在跨周期期方面還是有一部分問題。

金字塔決策交易系統

金字塔決策交易系統(下稱金字塔)採用VB腳本語言開發策略模型,支持接口二次開發,靈活性相對較高。支持外接統計數據庫和專業的統計分析軟體Lib庫做擴展,在量化交易方面,除了支持圖表驅動的程序化交易外,也能進行算法交易和較複雜的對沖交易的實現,目前市場佔有率不是太高,單純的編程也是相對容易。

缺點:本人認為金字塔軟體如果圖表開的過多很容易導致軟體崩潰。

交易開拓者程序化交易平台

交易開拓者(TB)採用語法類似Pascal的TBL語言開發策略模型,採用圖表買賣信號驅動交易下單。在量化模型研發方面,TB提供了中國期貨和股票多周期的歷史行情數據;提供了較為全面的行情數據函數、帳戶和交易函數、統計函數用於策略開發;提供了豐富策略回測報告項作為策略績效評估的依據。在量化交易方面,單個TB終端支持多個單品種的圖表併發接收行情並交易,不使用高頻交易。市場佔有相對較大,編程難度相對適中。

缺點:數據穩定性有待考慮,TB自身帶的服務器並不多,編程這塊陷井相對較多。

達錢&multicharts

達錢&multicharts自動化交易系統(MC)採用power language開發,達錢提供行情和交易網關,multicharts實現策略開發和執行平台。在量化研究方面,MC提供了股票和期貨歷史行情數據,包含大量的函數供調用,繼承了TS裏面大量的函數庫,屬於一款比較優秀的軟體。目前股票端支持雷達屏監控一籃子股票,可以用於回測與交易。

缺點:MC如果出現網絡中斷,會出現行情丟失的情況,其次接口被達錢封死。

高端量化交易

以python、JS、C++、MATLAB、R為主,重點介紹以下研究股票端的,包括瀏覽器端的米筐、優礦、聚寬、果仁等等,客戶端包括VN.PY、quicklib、掘金、WIND等等。

米筐、優礦、聚寬都以python編程為準,果仁提供JS瀏覽器端編程,相對來說可能在速度上有一定的優勢。但是這幾個都是瀏覽器端平台,用於研究我覺得沒問題,真正用於實戰交易,我可能不推崇,大幅度我更喜歡是自己造輪子,選一個框架,例如找個回測框架等等,但是相對來說難度較大。已經造好的以VN.PY為準,裏面提供了大量的接口供選擇,開源免費,首先感謝作者。

對於這一類的學習,需要的精力可能相對來說要大一些,但是優點也是明確的,作為本人是一名python愛好者,如果量化這塊,首先推薦python,很多人可能為matlab打抱不平,有人說為撒大學學matlab不學python,這個問題我不想討論,python的優勢在於他的靈活性,python可以看成是一門編程語言,在設計各種實戰上有說不上的優勢。

總結,想個人研究股票這塊,建議米筐,優礦,聚寬,果仁選一個,上面也提供大量的策略供學習。如果要進入私募做後台開發,那必須得自己造輪子,選擇一個開源的回測架構,自己來組建。語言編程推薦學習python。期貨端如果個體研究建議TB,MC。以上都是工具,最終要回歸到策略,策略的好壞決定你做這塊的價值

一個系統的形成

我們在研究一個系統的時候一定要考慮策略背景,這裏我不扯過多的理論知識,我覺得沒有價值,為撒如此多的研究生,博士,或者學校教授在金融這塊並沒有取得優秀的成果?一個原因,理論知識拿到市場不一定能成功,並不是否定他的價值,而是在於金融這個詞比較廣,如果你在走定量分析,並想把一些書本上學到的東西搬到金融市場,還是需要從本質上去抓問題。好比定價模型,模式書本上都有,但是否能做出有效的東西?這個需要經驗的積累來變相的運用你學習的知識。

策略背景

如果要研究一個策略,你的由衷是如何來的。他基於什麼?這個其實很關鍵的,我們去觀察中國外經典策略會發現,他們都很簡單,但是卻經典有效,這說明了什麼?

難道真的就是簡單?實際不是這樣,都是相互關聯的,比如短線交易秘訣裏面,拉裏提到大區間小區間,衍生到不同的類型的策略是基於市場波動而言的。有邏輯支撐。這裏我們不去討論複雜的套利這些模型,我們就以傳統策略而言,大家可能會發現,大幅度研究策略的都在找所謂的因子,什麼因子算有效?看到更多的是一堆沒有邏輯的因子組成一堆,最後產生了一條漂亮的曲線,最終形成了一個自我滿足的策略,但這塊是否有效,是否敢實盤,這你比我清楚。

基本思路

一個策略的交易思路是什麼?如果你把自己定義為趨勢交易者,那麼你就保持你趨勢交易的邏輯,去追隨市場。這塊說起來容易做起來難,但是我們可以先假設,先假設市場就是盤整階段。而且市場肯定會由盤整到趨勢。在這裏面去尋找一個支撐阻力位,當破了過後,站穩你可以認為是朝突破方向的趨勢。

這就是一個趨勢的定義,這裏舉的就是一個例子,如何開倉。那麼就可以按照這個方向一直做,你可以用各種各樣的指標,或者一些其他類型的算法等等。趨勢不一定正確,但是這得明確。大幅度人是看著漲了就去做多,跌了就去空,日內來回做,最終卻是虧損的,可能你交易的越多虧損越多,市場是有成本的。你的交易統計也是基於成本而統計的,當你的一個系統除去成本可能能賺很多錢,但是覆蓋成本缺是虧損,那麼成本篩選也顯得十分重要,當你的系統不能覆蓋高額的成本,對於一個品種而言他的交易是沒有價值,可能曲線非常漂亮,但實盤的價值是沒有的。但在統計之前,我們不需要考慮在內,最後在賽選的時候去過濾掉你不能做的品種。

策略算法

常用的幾種算法有以下幾種:

TWAP模型:時間加權平均價格算法,是一種最簡單的傳統算法交易策略,主要適用於流動性較好的市場和訂單規模較小的交易。該模型將交易時間進行均勻分割,並在每個分割節點上等量拆分訂單進行提交。例如,可以將某個交易日的交易時間平均分為N段,TWAP策略會將該交易日需要執行的訂單均勻分配在這N個時間段上去執行,從而使得交易均價跟蹤TWAP。

VWAP模型:成交量加權平均價格算法,是目前市場上最為流行的算法交易策略之一,也是很多其他算法交易模型的原型。該模型是將一段時間內證券價格按成交量加權得出的平均值,即VWAP是對一段時間市場上所有交易活動平均價格的衡量。

PoV模型: PoV,比例成交算法,同樣也是市場上廣泛流行的交易算法之一,是VWAP模型的一個改進,算法天然具有反饋修正的能力。該模型使用實際成交量作為指標,因此在交易時段內總是按照市場成交量的一定比例交易剩餘的部位。

在這裏提到VWAP,這個在金融領域裏面用於傳統策略交易用的還是相對較多。常用的算法相對較多,可能是一種簡單算法,比如一套系統的規則等等。舉例:我們如何構建箱型交易系統?

策略基於k線形成的區域設置進出場價格, 通過價格的上下突破來進行交易或取消做單k線區域按時間順序從左向右共由4根k線組成, 最左邊的k線標號為3。如果1號k線收盤價高於3號k線最高點, 開始設置做多交易區域, 上軌為3號K線高點, 下軌為標號為1起CancelFlagN根K線的低點。如果標號為0的K線收盤價在上下軌之間, 則做多區域設置成功, 如果收盤價低於下軌則區域設置取消。如果1號k線收盤價低於3號k線最低點, 開始設置做空交易區域, 下軌為3號K線低點, 上軌為標號為1起CancelFlagN根K線的高點。如果標號為0的K線收盤價在上下軌之間, 則做空區域設置成功, 如果收盤價高於上軌則區域設置取消。

進場:

  • 做多區域設置成功時, 當前k線高於標號為0的K線高點時入場做多。
  • 做空區域設置成功時, 當前k線低於標號為0的K線低點時入場做空。

出場條件:

  • 基於ATR的保護性止損。
  • 基於ATR的盈虧平衡止損。
  • 基於ATR的盈利止盈。

對於上述簡單規則就是一些簡單邏輯算法,這樣是否就構建了一個簡單的交易系統?

以上規則可以用不同的編程語言實現?這取決於你熟悉的編程環境。

實證分析

將上述規則設計好後,可以去嚐試在各個品種上進行統計測試。對於品種篩選,我們要做的是市場上具有價值的品種,比較在期貨市場,你去選成交量小的品種,就算測試曲線表現漂亮,他可能也沒有價值,單筆滑點可能達到你不能估算的範圍,這是大概率時間,這樣的品種測試沒有價值。當然我們應該選擇主流交易品種,好比股票,你不出找漲跌流暢的股票,一直在要死不活的票上來回操作,只是加大了自己的成本而已。那麼那些品種更有價值?

品種篩選

從板塊去選主流,比如期貨市場,黑色螺紋是主流品種,流動性,以及趨勢性相對較好,不要去和市場較勁,其實選品種比做一個策略更有價值,好的品種你可能用非常簡單的方法就能賺錢,不好做的,你再牛逼的方法可能都要賠錢,大幅度人一直在做高頻端的研究,很多時候研究沒有價值,比如我認識的一個品種在商品上,去找了一個不起色的品種,利用盤口量來做交易,當交易所稍稍加一下手續費,就導致成交量下降,成交量下降,流通性就差,可能你花了很大的精力,最後是一個廢品。你在主流的品種上做研究,最後就算市場變化,整體影響不大,你的策略價值就體現的越久。

品種篩選

參數篩選:這個話題如果討論就有點長了,這裏我也不想過多的討論,很多類型的測試都在討論樣本內與樣本外測試。用這種方式去防止自己的參數是否過渡優化。你可以把市場分成2段或者3段,第一段用於統計,第二段看看自己的參數表現的效果,但是實際不一定多有價值,除非在大數據統計下,你測試的樣本越多,可能越能接近實戰參數,但對於傳統交易而言,更多的經驗值的取舍,這顯得十分重要,比如有人取有效交易天數,一周交易5天,一個月是20天,這個20就顯得很有價值,很多經典的指標都以這個值為基準,這裏到實戰中更多的取舍都來自於你長時間的經驗值,防止參數過渡優化,記住我們一定要去找平原值,而不是去尋找山峰。無論你是傳統交易,或者算法交易,統計套利等等,都是一個邏輯。

資金管理

這個顯得很重要,一波行情來了,你是否能持更大的倉位,行情不好的時候,你能否把倉位調整到更小,在大類資產配置會顯得更加嚴格。你的策略很牛逼,可是你的倉位不合理,行情好的時候你賺錢了,其實結果等於沒賺一樣,你可能連市場的平均業績都跑不過。

我比較喜歡的一種是資產平均值,舉個簡單的例子,我更喜歡在盤整行情中去布置自己的倉位,這個時候你可以把倉位調整到最大,比如你同時持有 了N個品種,多空單相對平衡,你的策略屬於中期策略,一般是把你震盪不出來,那麼你可以激進的把倉位配置進去,因為當趨勢來的時候,你錯誤的倉位會慢慢出來,持有正確的趨勢,假如你進場的倉位為80%,最終其實走 了一個止損到加倉的過程,一開始錯誤的倉位不斷止損,正確的持有,趨勢越來越明顯,錯誤的倉位開始反向,最終形成了一個加倉的過程,一旦利潤較大,可以手動出一半的倉位。這對於一些個體交易員而言是一個不錯的方法,如果涉及到大類資產配置,這就相對複雜,我沒有這個精力和時間繼續討論。

以上只是算的上一個量化簡單過程介紹,我不能告訴你我能馬上教會你什麼,我也是一個市場學生,也需要更多的積累。這個市場變化的速度遠遠大於我們學習的速度,最終的回報不一定好,可能會熬上幾年,或則更久,身邊的很多朋友屬於比較有錢,進入這個市場後,並沒有那麼多彩,老股民一混就是幾十年還在戰鬥,新人也在不斷的進入這個市場。要想在這個市場上生活,可能並不是知識的積累,它體現的更多的是人為因素。到此結束。

(新聞來源:灰岩金融科技) 作者:Dorian君