【史上最詳細】WorldQuant Alpha 101 因子系列 #002 研究
文章來源:量化策略研究專欄 | DigQuant 專業量化研究社區
文章傳送門:WorldQuant Alpha 101 因子#002 解釋與研究本系列由點寬DigQuant量化人才俱樂部獨家發布
量化人才俱樂部的成員把 WorldQuant Alpha 101 的每個因子都了做一次最詳細的解釋和回測研究,一層一層的去拆分因子,把每個公式都說清楚。我們不討論這些因子是否都是有效的,我們更多的是希望通過我們分析因子背後的金融意義,幫助大家更好的理解市場,明白如何去做一些類似的研究、策略。這是我們的初衷。
點寬 DigQuant 量化人才俱樂部招募計劃詳情(點擊標題查看)
Alpha #002 因子
? 公式:
? 公用函數說明:
1、含義:x 和 y兩個變數過去 d 天的相關係數。取值範圍為:[-1,1]。
2、rank(x)含義:股票的排名。輸入值向量x 為股票向量,若輸入值含nan,則nan 不參與排名,輸出為股票對應排名的boolean 值(排名所佔總位數的百分比)。範圍為:(0,1]。3、delta(x,d)
含義:當天x 值減去過去第d 天的值。例如:向量 x 有 5 個元素x=[5,3,8,6,2],若d=4。x 元素對應索引為:r=[-4,-3,-2,-1,0],0表示當天,-4表示過去第 4天。則 y=delta(x,d)=2-5=-34、log(x)含義:對向量x 取對數,進行差異縮小處理。? 公用變數說明:1、volume :成交量2、open:開盤價3、close :收盤價
? 公式解析:根據alpha#002 公式,我們根據公式的運算順序解析:1、x0=log(volume) 結構:對成交量volume 取對數操作。解析:我們知道。取對數操作達到差異縮小的作用,使數據平穩。計量經濟學經常對數據進行取對數操作。此次對成交量取對數操作的作用也是為了使數據變換成比較平穩的數據,再進行接下來的邏輯計算。2、x1=delta(x0,2) 結構:利用當天的值x0減去過去第 2天的值x0。x0為 1的返回值。解析:由 1我們知道x0為取完對數操作的成交量,利用當天的x0去減過去第2 天的值進行作差操作,反映當天的成交量相對於過去第2 天成交量的增加或減少的量。3、 y1=(close-open) / open 結構:收盤價減開盤價的差,再除以開盤價。
解析:此式子是求當天股價的變化率的式子。反映了當天價格的變化程度。當變化率大於0 時,價格上升,變化率越大價格上升程度越大;反之,價格下降。4、x2 =rank(x1) 結構:對每個股票的x1 值進行排序,返回其股票對應排名的boolean值(排名所佔總位數的百分比)。解析:我們知道,x1 為某隻股票當天成交量相對於過去第2 天成交量的增量。若增量為正,說明成交量在增加;反之,成交量在減少。對每隻股票的x1 進行排序,可以得到每隻股票當天成交量的變化程度。即boolean 值越大,某隻股票的成交量增量越大。5、y2=rank( y1) 結構:對每個股票的y2 值進行排序,返回其股票對應排名的boolean值(排名所佔總位數的百分比)。解析:y1 表示某隻股票當天的變化率。對每隻股票的變化率進行排序,可以得到每隻股票當天價格的變化程度。即boolean 值越大,某隻股票的價格上升程度越高。6、c=-1*correlation(x2, y2,6) 結構:計算x2 和y2 變數前6 天的相關係數。我們知道x2 和y2 表示股票的排序boolean 值。其計算邏輯是計算每隻股票的前6 天的排序boolean 值的相關係數。解析:由4 和5 我們知道,x2 反映每隻股票當天成交量的增量程度;y2 反映每隻股票當天價格的增量程度。另一方面,根據相關係數的性質我們知道:相關係數的值介於–1 與+1 之間,即–1≤r≤+1。其性質如下:? 當r>0 時,表示兩變數正相關,r<0 時,兩變數為負相關。? 當|r|=1 時,表示兩變數為完全線性相關,即為函數關係。? 當r=0 時,表示兩變數間無線性相關關係。? 當0<|r|<1 時,表示兩變數存在一定程度的線性相關。且|r|越接近1,兩變量間線性關係越密切;|r|越接近於0,表示兩變數的線性相關越弱。一般可按三級劃分:|r|<0.4 為低度線性相關;0.4≤|r|<0.7 為顯著性相關;0.7≤|r|<1 為高度線性相關。
由此,當計算的相關係數越接近1,正相關程度越大。反之,相關係數越接近-1,負相關程度越高。而對相關係數乘以-1 進行取反操作,得到的alpha 值。表明alpha 越接近1,負相關程度越高,即股票當天成交量的增量程度與當天價格的增量程度負相關性越高。因此,此公式是反映價量背離的規律的一個公式,買入alpha 值大的股票,賣出alpha 值大的股票,原理是買入加量背離程度高的股票。
? 轉換為偽MATLAB 公式: Step1:Step2:
Step3:
? 策略說明:
此策略為因子選股策略,首先,我們通過邏輯計算構建每隻股票的因子值alpha,我們研究的是alpha002 因子的計算公式:
思路:此策略屬於量價背離策略。利用相關係數的數學方法來研究量價之間的關係。首先,在量方面:先對成交量取對數來達到穩定數據的作用,而後利用當天的成交量和過去第2 天的值進行差分運算,得到量方面的增量程度;另一方面,在價方面:直接求當天的價格變化率來達到價方面的增量程度。接下來,對量價方面分別對每隻股票進行排序操作,最後求他們過去6 天以來的相關係數的。alpha 為量價之間的相關係數取反後的值,從而達到量價背離的目的。
策略:每次取alpha 前10 的股票進行買入交易,不屬於前10 的股票,如果之前有買入,則進行賣出交易。? 回測程序:WorldQuant Alpha 101 因子#002(點擊下載)? 回測軟體:Auto-Trader Pro(AT 量能策略研究終端 以 MATLAB 研究平台為依託,甚至可以把交易思路延生到機器學習,神經網路,輿情分析等更複雜的領域。依託 Matlab 強大的數理研究及強大的金融工具箱,策略師不再需要依賴程序員的編程能力,而將研究成果直接轉化為程序化策略。)
文章來源:量化策略研究專欄 | DigQuant 專業量化研究社區
文章傳送門:WorldQuant Alpha 101 因子#002 解釋與研究推薦閱讀:
※PonderDNC處理高頻長時間序列模型簡介
※已有python基礎想學習量化。要配新電腦了,請問該用什麼配置?
※混沌價值二號凈值從9月30日狂跌不止,這是動用了多大的頭寸做什麼品種才會跌成這樣??
※國內外的做市商(market maker)有哪些差異?