Alpha系列——組合優化概述【附源碼】

姓名:謝童? 學號:16020188008? 轉自微信公眾號? Bigquant

在股票投資組合管理中,核心工作就是兩個,其中一個是預測(alpha挖掘),另一個就是組合優化。在這篇教程中,我們基于實戰視角,介紹了各種組合優化場景,并給出相應的實驗代碼。

股票投資組合優化工作流簡介

Alpha構建

在這個環節大致包含兩個流程,分別是alpha研究和alpha組合。在研究階段,我們要找出信息含量高,能夠產生alpha因子,當然還會對alpha的生成來源和結構做探索和檢驗,現在主要的手段是統計檢驗和可視化;在alpha組合階段,我們會把所有的alpha因子組合在一起,在這里階段我們會處理alpha因子之間的相關性,大致上就是把之間收集到的alpha通過信息最大化或者alpha最大化的方式結合起來。在這個階段,數據質量和預測對alpha起到了決定性的作用。

組合構建

組合構建階段的任務就是綜合收益(alpha向量)、風險以及交易者自身的偏好或者約束。對于風險的建模,首先我們要決定合適的風險度量及風險建模方法,到底是協方差矩陣就足夠描述風險了,還是要用VAR或者risk parity進行建模,業界比較普遍的做法是用風險模型來對系統系風險進行建模。然后就是定義目標函數,是收益最大化、風險最小化、夏普或IR最大化還是其他的效用函數,業界比較普遍的做法是用風險厭惡表述,即w′μ?λw′Σw。最后,我們可能還有一些其他的約束,比如對空約束、凈杠桿約束、單頭寸范圍約束、行業頭寸約束等等,這些或滿足投資者的偏好或先驗信息,或為了滿足投資機構本身的風險管理制度。

交易執行

組合構建完后,實際上我們得到的是理想組合和交易列表,這個交易列表可以理解為讓當前組合變換到理想組合。在交易執行中,我們會面臨很多復雜的問題,比如如何執行這些交易?分筆緩慢得執行還是激進地下單?alpha的預測能力衰減程度如何?在回測中,我們大多數考慮的是確定性的線性交易成本,而市場沖擊造成的成本更多是非線性的(二次型)。對這些場景的完全建模將是非常復雜的,實際中在這部分對于小資金基本是激進一次性下單,大資金的話一般會把具體的交易執行給到交易員,由交易員具體把控。

總結下,可以看到在給出了alpha預測向量后,我們基本上轉而在解決最優化問題。而最優化問題也是我們在這篇教程中的核心議題。

常見組合優化問題

馬科維茨問題(經典均值方差優化)

但這個經典無約束的均值方差問題很敏感,權重向量很容易發散。所以在實踐中,我們會加入一些權重約束。

禁止做空約束

在下面的實驗中我們可以看到,在禁止做空的約束下,意味著同樣不能夠用多頭杠桿,因為我們設定組合是全額投資沒有任何凈杠桿敞口。所以我們的投資組合可用的資產配置空間也被大大擠壓,并且在這樣的條件下,組合的最大收益取決于組合中最大收益的股票。

換手率約束

較高組合換手率意味著較大的交易成本,這會讓組合再平衡變得沒有效率。所以一個可行的辦法是給組合換手率或者單只股票的還手設上限,比如設定每個行業或者板塊5%的換手上限。

在下面的實驗中我們設定了單只股票10%的換手上限,換手上限這個參數對前沿曲線與馬科維茨前沿的離差比較敏感。

持有約束

對于一些大型的共同基金,持有一家上市公司的股票,其市值不得超過基金資產凈值的10%,有些可能還規定必須持有最低限度某類股票,如藍籌股。于是,在這些場景中,我們就可以設定持有約束。這個問題也可以對一些投資人偏愛某類股票做建模,對某類股票設定上下限區間。

在我們的實驗中,我們對每個股票設定了1%下限和10%的上限,可以看到這樣的有效前沿非常”無效“。這樣我們就可以理解為什么總體上來說,私募比共同基金更有可能獲取更高的收益了。

交易成本約束

在實踐中,我們一定要考慮到交易成本的因素。交易成本主要分線性成本和非線性成本,線性成本包括手續費、傭金等與交易規模成比例的部分;非線性成本主要是對價格沖擊成本的建模。

在我們的這個案例中,暫且只包含線性成本,設定了0.3%的交易傭金,對交易成本的厭惡系數暫且設為0.5。我們可以看到交易成本下的前沿曲線都不是平滑的(我也不知道為啥),并會整體拉低前沿曲線和均值方差前沿的離差,離差與交易成本的厭惡系數比較敏感。

因子模型

在之前的很多篇文章都提高過,對協方差的估計難度是非常大的,用因子模型對協方差建模是業界的一個流行做法。因子組合中可能包含基準(市場因子)因子、規模因子、價值因子、波動率因子、行業因子等,對于風險中性的策略來說,在所有的這些因子暴露都為0,那么整個組合的風險就只有股票自身的特異風險。

一個真正的風險模型在于它對協方差有較高的解釋程度,在我們下面的案例中,為簡單演示,只考慮了市場因子,會對協方差估計有較大的偏誤,不過不影響闡述基本概念。同時,我們的組合還是風險因子中性的,簡單說在我們的例子里,模型是市場中性的。

All?in one

在這個實驗中,我們把持有約束、交易成本約束以及風險模型綜合在一個優化問題中。

主動投資

上面的定義在我們之前的主動投資——信息率的教程里出現過。這里就留給讀者自己動手實驗一下。

總結

我們這里展現了一些最常見的組合優化場景,當然我們還有很多的現實場景沒有包含在這篇教程內,其中包括交易整數手約束、股票數量約束、非線性交易成本約束、多賬戶約束等。另外,我們也沒有對其他不同的目標函數做實驗,不過基本原理都是相同的。當然不是所有的優化問題都是凸優化問題,但在實踐中我們盡可能地將問題表述為優化問題,有幾方面原因,其一是實現相對簡單,其二是在實際中可行。更一般的問題是MIPS混合整型規劃,這個問題在最一般的情景下是NP完全問題,問題的復雜性呈指數級別上升。還有一點需要提醒讀者的是,在我們的實驗中得到的前沿曲線都是后驗曲線,還有一種類型是先驗曲線,只需要把μ換成alpha預測向量就ok了。

在這里我們主要想闡述的是量化股票投資組合的pipeline,也就是從alpha生成->組合構建的整條工作流。組合構建或者組合優化是把信息、風險、約束以及偏好系統性地結合在一起。在我個人看來,組合優化與alpha預測都同等重要。

查看策略完整代碼:《Alpha系列——組合優化概述

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 原標題:對于目前流行的量化投資與Smart Beta策略的一些看法作者wwqqer,2014年8月首發于經管之家。...
    wwqqer閱讀 4,918評論 0 5
  • 一鍵克隆代碼 在多因子量化投資體系中,具有穩定的預期收益,可解釋的經濟驅動理論,與其他因子的低相關性是選擇alph...
    Ricequant米筐閱讀 3,190評論 0 8
  • 目錄 [TOC] 引言 量化交易是指以先進的數學模型替代人為的主觀判斷,利用計算機技術從龐大的歷史數據中海選能帶來...
    雷達熊閱讀 1,009評論 0 2
  • 自我介紹 大家好,我是博士后研究員肖子龍,在深圳某金融機構任職,研究領域是智能投顧。很高興今天能來到AI慕課學院和...
    shenciyou閱讀 8,481評論 3 18
  • 算法技術解構 1、Python基礎知識 (1)IPythonIPython的開發者吸收了標準解釋器的基本概念,在此...
    shenciyou閱讀 5,423評論 0 10