1、邏輯回歸分類器
邏輯回歸由統(tǒng)計學家 David Cox 于 1958 年提出。與傳統(tǒng)的線性回歸不同,邏輯回歸(logistic regression)中響應變量(因變量)的取值不是連續(xù)的,而是離散的,每個取值代表一個不同的類別。因此,邏輯回歸的本質是一個分類器(classifier)。它是一種有監(jiān)督學習,通過訓練集數據中的樣本的特征向量 x 和標簽 y(即響應變量的類別)來訓練模型的參數,并使用該模型對未來的新樣本進行分類。
最簡單的邏輯回歸中響應變量是二分類的(binary),即它僅僅可以取兩個值,代表不同的兩類。按照慣例,它的取值為 0 和 1。即便是最簡單的模型也有廣泛的應用,比如這兩類可以代表著比賽中的輸和贏、考試中的通過和失敗、醫(yī)療領域的健康和生病、以及股市中的漲和跌等。如果響應變量的取值多于兩類,則這樣的問題叫做多項邏輯回歸(multinomial logistic regression)。
本文以最簡單的二元邏輯模型(binary logistic model,即響應變量 y 只能取 0 和 1 兩個值)為例,介紹邏輯回歸的數學含義以及它在量化選股中的應用。本文的最后會簡單談一談求解多項邏輯回歸——即 Softmax 回歸——以及它在卷積神經網絡中的應用。
下文中如無特殊說明,當我們提到“邏輯回歸”時,指代的都是最簡單的二元邏輯回歸。
2、數學意義
在二元邏輯回歸中,回歸模型根據樣本點的特征(features)計算該樣本點屬于每一類的條件概率。在數學上,通過給定的函數將樣本點的 n 維特征向量 x 轉化成一個概率標量。具體的,具備特征向量 x 的樣本點屬于 1 和 0 兩類的條件概率為:

其中,函數 σ(z) ≡ 1 / (1 + exp(-z)) 被稱為邏輯函數(logistic function)或sigmoid 函數(因為 σ(z) 形如 S 曲線);它的取值范圍在 0 和 1 之間。邏輯回歸的目的是通過訓練集數據找到較優(yōu)的權重 w 使得分類結果盡量同時滿足如下目標:
當一個樣本點的真實分類是 1 時,h_w(x) 盡可能大;
當一個樣本點的真是分類是 0 時,h_w(x) 盡可能小(即 1 - h_w(x) 盡可能大)。
邏輯回歸將樣本點的特征向量 x 按照權重 w 進行線性組合得到標量 z,再將 z 放入邏輯函數 σ(z) 最終求出該樣本點屬于類別 1 以及 0 的概率,從而對其進行分類——如果 h_w(x) > 1 - h_w(x) 則該樣本點被分為類別 1,反之為類別 0。
如何決定權重 w 呢?
假設訓練集共有 m 對兒數據 {(x_i, y_i), i = 1, 2, …, m},為了盡量同時實現上述目標,定義 cost function 如下:

使用訓練集數據訓練模型的參數 w 以使上述 cost function 最小化。對于訓練集中的每一個樣本點,上述方程的兩項中有且僅有一個不為 0。對于第 i 個樣本點,如果 y_i = 1,則最小化上述方程意味著最大化 h_w(x_i),即最大化該點被分類為 1 的概率;同理,如果 y_i = 0,則最小化上述方程意味著最大化 1 - h_w(x_i),即最大化該點被分類為 0 的概率。
從上面的論述可知,J(w) 同時考慮了 1 和 0 兩類分類的準確性。使用訓練集對該模型訓練,找到較優(yōu)的w,使得 J(w) 最小,這就是邏輯回歸模型的學習過程。一旦確定了模型參數,就可以使用它對新的樣本進行分類。對于新的樣本點特征向量x’,如果h_w(x’) > 0.5,則該點被分到 y = 1 類;反之被分到 y = 0 類。較優(yōu)化 J(w) 可以采用梯度搜索(gradient search),為此只需要計算出J的梯度 ∇J(w),在此不再贅述。
最后值得一提的是,在計算特征向量的線性組合時,往往會額外考慮一個截距項。這相當于在原始 n 維特征向量 x 中加入一個元素 1(因此特征向量變?yōu)?n+1 維),而x的線性組合也因此變?yōu)椋?/p>

當然,這個截距項不是必須的。使用者可以根據待解決的問題判斷是否應該在特征向量中加入該項。流行的統(tǒng)計分析工具(比如 Python 的 sklearn)允許使用者自行決定是否在模型中加入截距項。
3、一個例子
讓我借用 Wikipedia 上面的例子來說明邏輯回歸的應用。
這是一個關于學習時間和考試通過與否的例子。假設一共有 20 名學生(樣本點),特征向量為截距項 1 和學習時間組成的二維向量??荚嚱Y果分為 1(通過)和 0(失敗)。我們采用邏輯回歸來建立考試時間和通過與否之間的關聯。訓練集數據如下:

使用訓練集數據建模,得到的邏輯回歸模型參數(特征向量的權重):
學習時間的權重為:1.5046
截距項的權重為:-4.0777
從模型參數可以看出,是否通過考試和該學生的努力程度(學習時間)是正相關的,這符合人們的預期。將模型參數帶入到 sigmoid 函數中便可計算出給定學習時間下考試通過的概率:

使用該模型便可以對新的考生是否通過考試進行判斷。將訓練集中的 20 名考生的學習時間帶入到上式可繪制圖這個 sigmoid 函數(確實形如 S 曲線):

4、使用邏輯回歸選股
經過上面的介紹,我們已經對邏輯回歸的原理和它的應用有了一定的認識。下面就來將它應用于量化投資相關的領域——選股。
為說明這一點,使用股票的因子作為特征向量,使用股票的漲跌強弱作為響應變量,建立邏輯回歸模型來選股。
本實驗中,以中證 500 的成分股為例。特別的,考慮 2016 年 12 月 31 日時這 500 支成分股的最新截面因子數據??疾斓氖畟€因子包括:EP、BP、ROE、Liability/Asset、規(guī)模、換手率、動量、反轉、市場 β、殘差波動率。
由于選股的目的是使用因子來對未來的收益率做預測,因此我們使用這 500 支成分股在 2017 年 1 月份的收益率作為響應變量的原始數據。由于在二元邏輯回歸中,響應變量必須是二元的,因此我們需要將這 500 支個股的絕對收益率轉換成 0 和 1。為此,可以有以下幾種方法:
1. 使用絕對收益率的漲跌為依據:個股的收益率大于 0 則分到 1 類;收益率小于 0 則分到 0 類;
2. 使用相對市場收益率的漲跌為依據:由于個股和市場十分相關,而且它們都以不同的程度暴露于市場風險之中,因此考慮個股收益率與中證 500 指數收益率的大小關系。個股收益率大于指數收益率則分到 1 類;個股收益率小于指數收益率則分到 0 類。
3. 使用個股之間的相對強弱為依據:直接考察個股之間的收益率的相對大小,將收益率處于中位數之上的個股分到 1 類;將收益率處于中位數之下的個股分到 0 類。
在量化選股中,為了對沖掉市場風險,往往希望判斷股票的相對強弱。實驗中采用上述的第三種方法將股票的收益率轉化為二元響應變量。
訓練集數據準備就緒,便可以訓練回歸模型。假設特征向量中不考慮截距項,得到的回歸模型參數如下。

由于實驗中僅僅使用了一期的截面數據,因此解釋這些因子權重的符號并沒有太大作用。不過我們還是可以看出,收益率和 BP 以及 ROE 成正比。有意思的是,收益率和 β 成反比。這似乎說明市場更加青睞小β的藍籌股。想更系統(tǒng)的分析每個因子對于選股的作用,需要使用多期數據同時在時間和截面兩個維度進行邏輯回歸。
接下來看看在這個簡單的實驗中,邏輯回歸模型對樣本內數據的分類正確性。預測的正確性必須從準確率和召回率兩方面同時評價。假設我們預測一共有 X 支股票上漲,其中有 A 支猜對了、B 支猜錯了;我們預測一共有 Y = (500 - X) 支下跌,其中有 C 支猜錯了、D 支猜對了。則這兩個指標的定義為:

準確率衡量的是在所有你猜測的某一類(漲或跌)樣本中,有多少是正確的;而召回率是用來衡量在所有某一類的(漲或跌)樣本中,有多少被你猜出來了。
對于實驗中的這個邏輯回歸模型,它的正確性如下:
猜漲準確率:68.8%
猜漲召回率:66.7%
猜跌準確率:62.4%
猜跌召回率:65.5%
僅從這些數字上來看,似乎效果還不錯。但是不要忘記,這僅僅是對樣本內數據的判斷結果(模型就是用它們來構建的);這些不說明樣本外的預測準確性。
通過這個例子,僅僅想說明利用邏輯回歸可以進行量化選股。因此,我們的例子止于此。在真正應用中,正如前文提到的,應該使用多期在時間和截面兩個維度的樣本數據建模,并采用交叉驗證來評價模型在樣本外的分類準確性,以此最終確定模型的參數。
5、邏輯回歸、Softmax 回歸和卷積神經網絡
最后,簡單談談邏輯回歸、Softmax 回歸和卷積神經網絡的關系。
先來說說神經網絡(neural networks),它由多個、多層神經元(neuron)構成,每個神經元就是一個計算單元(見下圖),由輸入特征、輸出值、以及激活函數構成:

在這個例子中,x_1、x_2、x_3 和截距項 1 就是輸入的特征,h_w(x) 就是輸出,而邏輯回歸中的 sigmoid 函數就是一種常見的激活函數(其他常見的激活函數包括 tanh 函數和 max 函數等)。
再來看看 Softmax 回歸。它是一種多項邏輯回歸,即響應變量的取值大于兩類。假設共有 K > 2 類,每個樣本點的響應變量 y_i 的取值為 1 到 K 之間的某一個值。多項邏輯回歸的應用更加廣泛,比如在手寫數字識別中,一共有 0 到 9 是個數字,因此一共可以有 10 類。
將二元邏輯回歸的數學含義延伸易知,在 Softmax 回歸中我們希望計算出樣本點在其給定的特征向量下,屬于每一類的條件概率:

其中 θ^(1),θ^(2),……,θ^(K) 為模型的參數,通過訓練集數據訓練得到。與二元邏輯回歸類似,定義 cost function 如下:

其中 1{} 為指示函數,當 {} 中的條件為真時,它的取值為 1,否則為 0。通過最小化這個目標函數就可以得到較優(yōu)的參數 θ^(1),θ^(2),……,θ^(K)。求解時同樣可以采用梯度搜索法。
Softmax 回歸往往作為卷積神經網絡(Convolutional Neural Network)的最后一步。卷積神經網絡是在神經網絡上發(fā)展出來的,可以被用來進行圖像識別的強大工具。傳統(tǒng)神經網絡在面對高像素的圖像進行識別時無能為力,這是因為高像素對應的特征數巨大,遠超過計算機可以承受的范圍;此外巨大的特征也使得特征矩陣非常稀疏。卷積神經網絡通過卷積計算對原始的特征進行高度的抽象,通過局部感知和參數共享大大的減少了特征數。此外,它通過使用多層卷積以及池化等手段,進一步抽象特征,最終得到原始圖像的高度提煉的信息。而在最后一步,使用這個高度抽象的信息對圖像進行分類(識別),計算它屬于不同類別的概率。在實際應用中,圖像的類別往往成百上千,甚至更多,這便要用到 Softmax 回歸。
上面的介紹說明掌握邏輯回歸是學習神經網絡的基礎。更加詳細的介紹超出本文的范疇,推薦讀者自行閱讀相關資料。
參考文獻
https://en.wikipedia.org/wiki/Logistic_regression
http://ufldl.stanford.edu/tutorial/supervised/SoftmaxRegression/
量化金融分析師(簡稱AQF,Analyst of Quantitative Finance)由量化金融標準委員會(Standard Committee of Quantitative Finance,SCQF)主考并頒證,是代表量化金融領域的專業(yè)水平證書。 >>>點擊咨詢AQF證書含金量
.png)
課程適合人群:
金融工程/數學專業(yè)背景的同學/工作人士,希望進一步學習Python編程以及在量化投資的實戰(zhàn)應用;
非金融工程專業(yè)背景的同學/工作人士,希望迅速成為寬客;
金融相關人員,希望學習如何系統(tǒng)的做量化策略;
個人投資者,希望系統(tǒng)學習掌握量化投資相關的實務技能,從模型開發(fā),回測,策略改進,搭建穩(wěn)定的量化交易系統(tǒng)。
(點擊上圖了解課程詳情)
量化金融分析師AQF核心課程體系:
1、《量化投資基礎》
主要涵蓋了量化投資領域的必備知識,包括:基本面分析、技術分析、數量分析、固定收益、資產組合管理、權益、另類投資等內容。
2、《Python語言編程基礎》
包含了Python環(huán)境搭建、基礎語法、變量類型、基本函數、基本語句、第三方庫、金融財務實例等內容。旨在為金融財經人提供最需要的編程方法。
3、《基于Python的經典量化投資策略》
包含了最富盛名,最基本的量化交易思想和交易策略。例如:海龜交易模型、Logistics模型、配對交易模型、波動擴張模型、Alpha模型、機器學習(隨機森林模型、主成分分析)、深度學習(人工神經網絡)等內容。
4、《量化交易系統(tǒng)設計》
旨在學習量化交易系統(tǒng)的具體知識,包括過濾器,進入信號,退出信號,倉位管理等詳細內容,并指導學員設計涵蓋個人交易哲學的量化交易系統(tǒng)。
5、《量化實盤交易》
旨在為解決實際量化交易策略搭建過程中的一些問題提供較優(yōu)解決方案。 >>>點擊咨詢AQF相關問題
掌握Python及量化投資技能,我們能做什么?
1、熟悉中國主要金融市場及交易產品的交易機制;
2、熟知國內外期貨交易、股市交易的異同點和內在運行機制;
3、掌握經典量化交易策略細節(jié)及其背后的交易哲學;
4、掌握金融、編程和建模知識基礎,擁有量化交易實盤操作能力;
5、具備獨立自主地研發(fā)新量化交易策略的能力;
6、掌握量化交易模型設計的基本框架,以及風險管理和資產組合理論的實際運用;
7、掌握從策略思想——策略編寫——策略實現餓完整量化投資決策過程;具備量化投資實戰(zhàn)交易能力。
.png)
更多內容推薦閱讀:
2019年量化金融分析師(AQF)全國統(tǒng)一考試報名簡章
Wind、Excel和Python三大金融技能兼修,下一個金融分析大神就是你
咨詢電話:400-700-9596
AQF考友群:760229148
金融寬客交流群:801860357
微信公眾號:量化金融分析師
作者:石川,北京量信投資管理有限公司創(chuàng)始合伙人,清華大學學士、碩士,麻省理工學院博士。未經授權,嚴禁轉載。


.png)


