0. 前情提要

波特:在上篇文章的討論裏,我們對均線系統進行了歸納。大體上,對於日線級別的均線系統而言,其本質都是在t日建立一個信號,該信號為過去一段時間長度N的日均加權收益率收益率,也就是考察:

S_t = sum_{i=0}^Nw_iR_{t-i}R_{t+1}

的關係。比較特殊的 w_i 有:

  1. 單均線:最新的R權重較大,越早的R權重越小,權重線性變小;
  2. 雙均線:最新的R權重很小,從最新時間到快均線

    的時間點期間,權重線性變大,此後權重線性變小;
  3. 簡單均線(我自己發明的名字……):時間窗內的R權重完全一樣,都是1/N。相當於直接比較 P_tP_{t-N} ,也就是相當於沒有均線;
  4. 指數均線:時間窗內R的權重隨時間推移指數減小,例如最新到最舊的日收益率的權重依次為0.01,0.01×0.9,0.01×0.9×0.9,...

權重可以作圖畫成窗函數,你就可以評估權重是否合理了。從自相關係數來看,我個人認為複雜的窗函數對信號本身沒有意義。相關研究也證明瞭不同均線出來的信號高度相關,所以我們不妨直接取一個最簡單的簡單均線(詳細討論見上篇文章)。比如說,我對某指數取不同時間窗大小,求出各種均線對應的IC作圖如下:

可以看到從信號強度IC來看,各種均線比起簡單均線(equal)沒有明顯的優勢

如果,我們把樣本空間內的、時間維度上的每個t時刻的收益率的看作集合 {R_t} ,技術分析相當於根據信號集 {S_{t-1}} 把收益率集合劃分為了兩個部分:

  • 集合1:對於集合1中的所有時刻t,有 S_{t-1}>0 , 當日倉位=100%;
  • 集合2:對於集合2中的所有時刻t,有 S_{t-1}<0 , 當日倉位=0或-100%。

很顯然,這樣的策略能夠有效的前提是:

  • 集合1:對於集合1中的所有時刻t,有 S_{t-1}>0 , E[R_t]>0 ,當日倉位=100%;
  • 集合2:對於集合2中的所有時刻t,有 S_{t-1}<0 , E[R_t]<0 ,當日倉位=0或-100%。

否則我們的擇時只能起到反效果。我們可以將這種劃分總結為三句話:

  1. 相關性: Spearman Corr(S_{t-1},R_t)>0
  2. 錨點:不僅上面的相關性成立,且兩個集合中的信號、收益率都以0為錨點;
  3. 倉位管理:預期收益率大於0時滿倉,否則空倉或平倉。

哈利:其實上面這三點是可以分開來討論的。相關性成立未必說明錨點為0,錨點為0也不說明倉位管理一定就得0-1。比如說,可能相關性成立,但是錨點是-1%,那我的信號依然有效,但照著信號建倉、平倉就會虧錢。將這三者分開,就可以按如下步驟建模:

  1. 我可以先找到一個連續的信號,這個信號對收益率有預測性,且信號強度從0到1,那我可以根據這個信號將時間維度上的日收益率劃分為十個區間(子集);
  2. 考察這是個區間內收益率的分佈情況(如均值、方差等);
  3. 根據效用函數或風險偏好確定每個區間內應具有的倉位;
  4. 根據實際流動性和交易成本確定平滑化的調倉方法。

波特:你說的沒錯,上面的2-4都與實際投資偏好和投資限制有關,我們就先不討論了,先討論下信號方面,怎麼從均線系統出發,得到一個連續信號。

1. 一個信號的例子

波特:假設我要基於一個指數(比如說中證500吧)建立一個信號,我先(不切實際地)假設這個指數的日收益率的長期收益率近似為0,方差長期處於一個穩定值,也就是說對於任意t,近似有 E[R_t]=0, E[(R_t-ar R_t)^2] 不變,現在我想基於均線系統改造出一個連續信號。假設我已經選定了移動窗長度N=50天,每個收益率的權重為等權(1/N),由於窗內的每日收益率近似獨立同分布,但是均值可能在窗內短暫地偏離0,我會發現通過一個方法可以構造出近似同分布的信號,就是中心極限定理:

來自百度百科的解釋

也就是說,我可以通過構造T變數:

t-stat = frac {mean(R_{t-N}到R_{t-1})}{sigma(R_{t-N}到R_{t-1})/sqrt{N}}

來作為信號,用來預測 R_t ,而這裡的t-stat是近似服從標準正態分佈的(實際是t分佈)。通過不斷地在時間軸上滾動,可以構造出這樣的t-stat序列,並可以通過其對應的p值(p值為0到1)與R_t的相關關係來考察信號對應的spreaman IC。

哈利:其實你這也相當於根據過去一段時間的收益率滾動地構造t測試,根據測試對應的t值來判斷能否拒絕均值=0的假設。

波特:沒錯,這兩個解釋是一個意思。這樣得到的t-stat,與均線信號對比有這些優勢:

  1. 不同時間建立的信號之間具有可比性:如果直接使用均線作為信號,也就是類似 P_1-P_2這種,那信號強度是隨價格本身線性改變的,這不符合現代時間序列的建模方法(價格非穩態)。即使使用類似 log(P_1/P_2) 這種表示方法,仍然可能面臨不同區間波動性不同的問題,結果是這個信號只能與0比(因為此時波動率在分母上不影響取值,0/x=0)。但是t-stat在各個時間點基本都符合標準正態分佈,這樣各個t-stat是可比的;
  2. 閾值、分組的靈活性:均線信號只能跟0比,但是t-stat因為是連續的、兩兩可比的,可以採取排序並分組的方法,不需要侷限於只能分2組、只能跟0比。

哈利:看上去,你這個信號的分子就相當於簡單均線,不同的是多了個分母。不過這個看著有點像個通道系統的信號了……其實只要把權重變掉,變成類似非等權的mean和std,就可以構造出各類均線對應的t-stat。但是暫時看沒有太大的必要。

波特:對於t-stat的分母可以這樣理解:分母越小,t-stat越顯著。其具體意義在於,如果一段時間的收益率波動性很小,就說明這段時間的收益率確定性很高,那在預測t+1日收益率時,顯然我更有信心。當然這個跟通道系統的思路是有點類似的,所以其實均線啊,通道啊,大體上是一個東西……對於我們做量化的,當你做出一個信號以後,其他跟他相關度很高的信號,可能就不想再去研究了,主要想去抓其他與已有信號相關度較低的信號。但是技術分析喜歡做出一大堆相關度很高的信號一起用,但是我個人覺得這個分散效果可能不大好……

哈利:通過這樣的構造,你是不是就可以根據t-stat從大到小將歷史收益率分成很多組,比如十組,然後通過研究對應組裡的收益率的統計特性,優化出對應的倉位之類的?類似這樣:

  1. 計算樣本區間,例如從過去10年到過去1年之間的每日t-stat,並從大到小排序;
  2. 將最大的1/10的t-stat對應的那些日期t的 R_{t+1}作為組1,1/10-2/10的作為組2,依次類推,將歷史收益率分為10組;
  3. 研究各個組內的日收益率分佈情況,優化出最佳倉位。

波特:你說的對,比如說,我在某指數上構造出這樣的t-stat、並根據t-stat從高到低將歷史日收益率劃分為10個集合後(注意不是連續的日期,而是根據t-stat進行劃分),每個集合的收益率具有下面的均值和標準差:

各個分組中日收益率的均值和標準差

我們可以看到平均收益率近似呈現遞增、標準差近似呈現遞減,且在第五組收益率由正轉負。那麼我們就可以根據這樣的收益風險特徵構造出相應的倉位管理策略。

2. 從單信號到多信號,以及其他

哈利:其實通過這種對每日收益率構造信號的思路,實際上也增大了樣本空間,研究單位從每個建倉-平倉對應的交易,變成了每日收益率,大大增加了數據樣本。這樣劃分數據集和測試集也更加方便。

波特:其實你可以發現,這裡的構造方法完全類似alpha策略的構造方法,只是一個是對股票維度,一個是對時間維度。所以,我們完全可以構造出很多很多信號,然後用類似alpha策略的綜合信號的方法來優化擇時策略,包括但不限於多元回歸、決策樹、神經網路等等,但是要小心過擬合。

哈利:你剛才說假設長期來看,每天收益率的均值、方差不變,就是為了討論的時候避免多元數據吧?

波特:是的,實際你從日收益率來看,存在一些波動率聚集效應;同時跨週末、假期之類的日收益率,其波動顯然和連續兩天的不一樣,這些其實都是應該考慮的。當這些都考慮進去,可能就需要做多元含權回歸了。當然,你不考慮這些細節也能做出信號來,並且可能效果也不錯,技術更簡單。但是總體上魔鬼在於細節,多注意些細節總不是錯。

哈利:那相比alpha策略,還有什麼需要注意的呢?

波特:擇時策略由於損益有比較嚴重的路徑依賴,所以在上面這些優化做好以後,怎樣加入根據路徑依賴的風險(比如最大回撤)進行調整,是需要很多技巧的。

哈利:那對其他技術指標,你怎麼看呢?

波特:主要看能不能轉化成有科學依據的信號。比如說,我們會覺得最高價、最低價這種路徑依賴的變數不太好用,價格相關的變數,主要還是著眼於均值和標準差,或者其他統計量。我們建模的出發點,是從概率角度思考,而不是考慮個例。考慮的更多是長期按照一個邏輯,是不是能有統計顯著的正收益(或效用)。

比如說,十字星實際表示的是日內收益與日內波動的比值接近0,而長實線表示日內收益與日內波動的比值絕對值很大。而一些類似最高價減最低價啊,最高價減收盤價啊,之類的,都可以轉化為類似波動和收益率的組合方式來表示。總體上,我們更喜歡用統計量來建模,而不是路徑依賴、意義不明的那些變數。當然,如果實際中特別好用,我也不會拒絕,上面這些標準都可以忽略……

哈利:好吧兄弟,我基本已經搞明白啦!


推薦閱讀:
相關文章