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

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

使用訓(xùn)練集數(shù)據(jù)訓(xùn)練模型的參數(shù) w 以使上述 cost function 最小化。對于訓(xùn)練集中的每一個樣本點,上述方程的兩項中有且僅有一個不為 0。對于第 i 個樣本點,如果 y_i = 1,則最小化上述方程意味著最大化 h_w(x_i),即最大化該點被分類為 1 的概率;同理,如果 y_i = 0,則最小化上述方程意味著最大化 1 - h_w(x_i),即最大化該點被分類為 0 的概率。
從上面的論述可知,J(w) 同時考慮了 1 和 0 兩類分類的準確性。使用訓(xùn)練集對該模型訓(xùn)練,找到較優(yōu)的w,使得 J(w) 最小,這就是邏輯回歸模型的學(xué)習(xí)過程。一旦確定了模型參數(shù),就可以使用它對新的樣本進行分類。對于新的樣本點特征向量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>

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

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

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

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

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

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

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

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

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


.png)


