姓名:謝童? 學(xué)號(hào):16020188008? 轉(zhuǎn)自微信公眾號(hào)? Bigquant
在股票投資組合管理中,核心工作就是兩個(gè),其中一個(gè)是預(yù)測(cè)(alpha挖掘),另一個(gè)就是組合優(yōu)化。在這篇教程中,我們基于實(shí)戰(zhàn)視角,介紹了各種組合優(yōu)化場(chǎng)景,并給出相應(yīng)的實(shí)驗(yàn)代碼。
股票投資組合優(yōu)化工作流簡(jiǎn)介
Alpha構(gòu)建
在這個(gè)環(huán)節(jié)大致包含兩個(gè)流程,分別是alpha研究和alpha組合。在研究階段,我們要找出信息含量高,能夠產(chǎn)生alpha因子,當(dāng)然還會(huì)對(duì)alpha的生成來(lái)源和結(jié)構(gòu)做探索和檢驗(yàn),現(xiàn)在主要的手段是統(tǒng)計(jì)檢驗(yàn)和可視化;在alpha組合階段,我們會(huì)把所有的alpha因子組合在一起,在這里階段我們會(huì)處理alpha因子之間的相關(guān)性,大致上就是把之間收集到的alpha通過(guò)信息最大化或者alpha最大化的方式結(jié)合起來(lái)。在這個(gè)階段,數(shù)據(jù)質(zhì)量和預(yù)測(cè)對(duì)alpha起到了決定性的作用。
組合構(gòu)建
組合構(gòu)建階段的任務(wù)就是綜合收益(alpha向量)、風(fēng)險(xiǎn)以及交易者自身的偏好或者約束。對(duì)于風(fēng)險(xiǎn)的建模,首先我們要決定合適的風(fēng)險(xiǎn)度量及風(fēng)險(xiǎn)建模方法,到底是協(xié)方差矩陣就足夠描述風(fēng)險(xiǎn)了,還是要用VAR或者risk parity進(jìn)行建模,業(yè)界比較普遍的做法是用風(fēng)險(xiǎn)模型來(lái)對(duì)系統(tǒng)系風(fēng)險(xiǎn)進(jìn)行建模。然后就是定義目標(biāo)函數(shù),是收益最大化、風(fēng)險(xiǎn)最小化、夏普或IR最大化還是其他的效用函數(shù),業(yè)界比較普遍的做法是用風(fēng)險(xiǎn)厭惡表述,即w′μ?λw′Σw。最后,我們可能還有一些其他的約束,比如對(duì)空約束、凈杠桿約束、單頭寸范圍約束、行業(yè)頭寸約束等等,這些或滿足投資者的偏好或先驗(yàn)信息,或?yàn)榱藵M足投資機(jī)構(gòu)本身的風(fēng)險(xiǎn)管理制度。
交易執(zhí)行
組合構(gòu)建完后,實(shí)際上我們得到的是理想組合和交易列表,這個(gè)交易列表可以理解為讓當(dāng)前組合變換到理想組合。在交易執(zhí)行中,我們會(huì)面臨很多復(fù)雜的問(wèn)題,比如如何執(zhí)行這些交易?分筆緩慢得執(zhí)行還是激進(jìn)地下單?alpha的預(yù)測(cè)能力衰減程度如何?在回測(cè)中,我們大多數(shù)考慮的是確定性的線性交易成本,而市場(chǎng)沖擊造成的成本更多是非線性的(二次型)。對(duì)這些場(chǎng)景的完全建模將是非常復(fù)雜的,實(shí)際中在這部分對(duì)于小資金基本是激進(jìn)一次性下單,大資金的話一般會(huì)把具體的交易執(zhí)行給到交易員,由交易員具體把控。
總結(jié)下,可以看到在給出了alpha預(yù)測(cè)向量后,我們基本上轉(zhuǎn)而在解決最優(yōu)化問(wèn)題。而最優(yōu)化問(wèn)題也是我們?cè)谶@篇教程中的核心議題。
常見組合優(yōu)化問(wèn)題
馬科維茨問(wèn)題(經(jīng)典均值方差優(yōu)化)
但這個(gè)經(jīng)典無(wú)約束的均值方差問(wèn)題很敏感,權(quán)重向量很容易發(fā)散。所以在實(shí)踐中,我們會(huì)加入一些權(quán)重約束。
禁止做空約束
在下面的實(shí)驗(yàn)中我們可以看到,在禁止做空的約束下,意味著同樣不能夠用多頭杠桿,因?yàn)槲覀冊(cè)O(shè)定組合是全額投資沒(méi)有任何凈杠桿敞口。所以我們的投資組合可用的資產(chǎn)配置空間也被大大擠壓,并且在這樣的條件下,組合的最大收益取決于組合中最大收益的股票。
換手率約束
較高組合換手率意味著較大的交易成本,這會(huì)讓組合再平衡變得沒(méi)有效率。所以一個(gè)可行的辦法是給組合換手率或者單只股票的還手設(shè)上限,比如設(shè)定每個(gè)行業(yè)或者板塊5%的換手上限。
在下面的實(shí)驗(yàn)中我們?cè)O(shè)定了單只股票10%的換手上限,換手上限這個(gè)參數(shù)對(duì)前沿曲線與馬科維茨前沿的離差比較敏感。
持有約束
對(duì)于一些大型的共同基金,持有一家上市公司的股票,其市值不得超過(guò)基金資產(chǎn)凈值的10%,有些可能還規(guī)定必須持有最低限度某類股票,如藍(lán)籌股。于是,在這些場(chǎng)景中,我們就可以設(shè)定持有約束。這個(gè)問(wèn)題也可以對(duì)一些投資人偏愛某類股票做建模,對(duì)某類股票設(shè)定上下限區(qū)間。
在我們的實(shí)驗(yàn)中,我們對(duì)每個(gè)股票設(shè)定了1%下限和10%的上限,可以看到這樣的有效前沿非常”無(wú)效“。這樣我們就可以理解為什么總體上來(lái)說(shuō),私募比共同基金更有可能獲取更高的收益了。
交易成本約束
在實(shí)踐中,我們一定要考慮到交易成本的因素。交易成本主要分線性成本和非線性成本,線性成本包括手續(xù)費(fèi)、傭金等與交易規(guī)模成比例的部分;非線性成本主要是對(duì)價(jià)格沖擊成本的建模。
在我們的這個(gè)案例中,暫且只包含線性成本,設(shè)定了0.3%的交易傭金,對(duì)交易成本的厭惡系數(shù)暫且設(shè)為0.5。我們可以看到交易成本下的前沿曲線都不是平滑的(我也不知道為啥),并會(huì)整體拉低前沿曲線和均值方差前沿的離差,離差與交易成本的厭惡系數(shù)比較敏感。
因子模型
在之前的很多篇文章都提高過(guò),對(duì)協(xié)方差的估計(jì)難度是非常大的,用因子模型對(duì)協(xié)方差建模是業(yè)界的一個(gè)流行做法。因子組合中可能包含基準(zhǔn)(市場(chǎng)因子)因子、規(guī)模因子、價(jià)值因子、波動(dòng)率因子、行業(yè)因子等,對(duì)于風(fēng)險(xiǎn)中性的策略來(lái)說(shuō),在所有的這些因子暴露都為0,那么整個(gè)組合的風(fēng)險(xiǎn)就只有股票自身的特異風(fēng)險(xiǎn)。
一個(gè)真正的風(fēng)險(xiǎn)模型在于它對(duì)協(xié)方差有較高的解釋程度,在我們下面的案例中,為簡(jiǎn)單演示,只考慮了市場(chǎng)因子,會(huì)對(duì)協(xié)方差估計(jì)有較大的偏誤,不過(guò)不影響闡述基本概念。同時(shí),我們的組合還是風(fēng)險(xiǎn)因子中性的,簡(jiǎn)單說(shuō)在我們的例子里,模型是市場(chǎng)中性的。
All?in one
在這個(gè)實(shí)驗(yàn)中,我們把持有約束、交易成本約束以及風(fēng)險(xiǎn)模型綜合在一個(gè)優(yōu)化問(wèn)題中。
主動(dòng)投資
上面的定義在我們之前的主動(dòng)投資——信息率的教程里出現(xiàn)過(guò)。這里就留給讀者自己動(dòng)手實(shí)驗(yàn)一下。
總結(jié)
我們這里展現(xiàn)了一些最常見的組合優(yōu)化場(chǎng)景,當(dāng)然我們還有很多的現(xiàn)實(shí)場(chǎng)景沒(méi)有包含在這篇教程內(nèi),其中包括交易整數(shù)手約束、股票數(shù)量約束、非線性交易成本約束、多賬戶約束等。另外,我們也沒(méi)有對(duì)其他不同的目標(biāo)函數(shù)做實(shí)驗(yàn),不過(guò)基本原理都是相同的。當(dāng)然不是所有的優(yōu)化問(wèn)題都是凸優(yōu)化問(wèn)題,但在實(shí)踐中我們盡可能地將問(wèn)題表述為優(yōu)化問(wèn)題,有幾方面原因,其一是實(shí)現(xiàn)相對(duì)簡(jiǎn)單,其二是在實(shí)際中可行。更一般的問(wèn)題是MIPS混合整型規(guī)劃,這個(gè)問(wèn)題在最一般的情景下是NP完全問(wèn)題,問(wèn)題的復(fù)雜性呈指數(shù)級(jí)別上升。還有一點(diǎn)需要提醒讀者的是,在我們的實(shí)驗(yàn)中得到的前沿曲線都是后驗(yàn)曲線,還有一種類型是先驗(yàn)曲線,只需要把μ換成alpha預(yù)測(cè)向量就ok了。
在這里我們主要想闡述的是量化股票投資組合的pipeline,也就是從alpha生成->組合構(gòu)建的整條工作流。組合構(gòu)建或者組合優(yōu)化是把信息、風(fēng)險(xiǎn)、約束以及偏好系統(tǒng)性地結(jié)合在一起。在我個(gè)人看來(lái),組合優(yōu)化與alpha預(yù)測(cè)都同等重要。
查看策略完整代碼:《Alpha系列——組合優(yōu)化概述》