<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          原創(chuàng) | 支持向量機在金融領域的應用

          共 6348字,需瀏覽 13分鐘

           ·

          2022-07-16 20:35

          作者:金一鳴
          審校:陳之炎

          本文約4400字,建議閱讀8分鐘
          本文選擇一個簡單直觀的應用實戰(zhàn)——根據(jù)股價基本 歷史數(shù)據(jù)來預測股市漲跌。

          支持向量機(Support Vector Machine, SVM)是一種通過監(jiān)督學習方式來進行學習的分類和回歸模型,在多數(shù)情況下,人們都會用這個模型來進行較小規(guī)模的二分類任務的求解。支持向量機主要的思想是在特征空間上找到一個與正負樣本邊界最大的線性分類器,而求解邊界最大化的問題從數(shù)學的角度來看即是求解凸二次規(guī)劃(Convex Quadratic Programming)的最優(yōu)化算法。

          1.支持向量機的原理和分類

          支持向量機可用于實現(xiàn)多種場景的分類問題,當訓練數(shù)據(jù)線性可分時,利用硬邊界最大化實現(xiàn)數(shù)據(jù)的二分類;另一方面支持向量機在訓練數(shù)據(jù)線性不可分的時候,通過使用核函數(shù)(Kernel Function)以及軟邊界最大化來進行從樣本空間的非線性可分到特征空間的線性可分,此算法最精彩和最經(jīng)典的技巧也在于此。

          1.1線性可分支持向量機

          假設現(xiàn)在有一堆紅球和黑球,對于一個簡單的分類問題(如圖1.1-1),首先,需要找出一個分離超平面(Hyperplane,在二維坐標軸上可以理解為一條直線)使得紅球和黑球能夠很好的分開,此時,可以有無數(shù)個平面可以作為這個二分類問題的解,所以需要找出一個最優(yōu)的分離超平面,將分類的錯誤率降到最低,由此引出了邊界最大化的概念,也就是定義正負數(shù)據(jù)集樣本同時到超平面的最大距離為該數(shù)據(jù)集的最大邊界。定義由邊界最大化求出的分離超平面為:

           

          圖1.1-1 二分類問題可以有無數(shù)條分割線來對其分類


          其中x是數(shù)據(jù)集特征空間的一個特征向量,w是對應的法向量,b可以理解成截距。對




          可以理解成一個分類標簽,整個式子就是一個分類器了,計算過程如下:

          通過找到最合適的(w,b)也就可以找到唯一邊界最大的分離超平面。紅球(正樣本)也就可以表示成 (正樣本超平面),同樣的黑球(負樣本)可以表示成(負樣本超平面)。因此該問題的決策函數(shù)他就是線性支持向量機):

          y = sign (x + b)                         1.1. 2

          了求解決策函數(shù),這里需要再引入函數(shù)邊界和幾何邊界的概念:

          • 函數(shù)邊界:一個數(shù)據(jù)點到超平面的距離|w ? x + b|,所以最小函數(shù)邊界可以表示為:

                      1.1. 3


                                1.1. 4


          其中 (1.1.3) 為樣本數(shù)據(jù)點到超平面的邊界,注意這里右邊式子乘 yi 是因為分類結果是取決于 w · x + b 和分類的標簽 yi 兩者的符號的一致性。

          • 幾何邊界:在函數(shù)邊界基礎上抽象成空間上的概念,可表示空間中點到平面的距離。對法向量w加上規(guī)范化的限制,這樣即使w和b成倍增加也不會影響超平面在空 間中的改變。所以最小幾何邊界可表示成:


                   1.1. 5


                        1.1. 6


          其中Yi表示幾何邊界,其中||w||代表w的范數(shù),這里直接取L2范數(shù),比如對于三維的w,那么:



          這里找到了到樣本點到最小距離的兩個分離超平面,接下來求邊界函數(shù)的最大值,即找到最大邊界超平面求解最優(yōu)化問題:


              1.1. 7


          注意:這里為了考慮該式子對于函數(shù)邊界和幾何邊界的普適性,幾何邊界(w,b)可以是函數(shù)邊界(nw,nb),n是任意倍數(shù),所以,為了方便計算,首先假設邊界為1,即Y ? ||w|| = 1??蓪⒃礁膶懗桑?/span>


            1.1. 8


          由于求的問題也就是求所以式子也可以寫成:

           1.1. 9




                   1.1. 10



          所以當 = 1 時,Xi + b>1;當 = —1 時,


          通過這種凸二次規(guī)劃方式求出來的最大邊界分離超平面是具有唯一性的,另外也可以利用拉格朗日函數(shù)(Lagrange function)的方法,通過將原始問題(Primal Problem)轉化成對偶問題(Dual Problem):

              1.1. 11





          其中a為所要求解的最優(yōu)的拉格朗日乘子,對這個問題進行求解(此處省略推導過程)。

          1.2線性不可分支持向量機

          現(xiàn)實中,很多問題可不僅僅像線性可分那樣簡單,為此必須采取一些技巧來對更復雜的問題進行求解。通常對求完全解線性可分的支持向量算法叫硬邊界(Hard Margin)支持向量機;如果允許一些噪聲或者異常數(shù)據(jù)的分類錯誤,那么也可以找到一條近似于線性可分的超平面來對數(shù)據(jù)進行分類,這種對計算非線性可分(接近線性可分的數(shù)據(jù),見圖1.2-1中(a))的數(shù)據(jù)的算法叫軟邊界(Soft Margin)支持向量機。如 果有數(shù)據(jù)完全不能線性可分(見圖1.2-1中(b)),這個時候我們就需要采取一定的轉化技巧,也就是利用核技巧來進行分類問題的求解(見圖1.2-2)。這節(jié)主要介紹一下對數(shù)據(jù)集線性不可分時應該采取的算法。

                        


          (a) 近似于線性可分            (b) 完全不能線性可分

          圖 1.2-1: 現(xiàn)實中各種分類情況


          1.軟邊界支持向量機

          對于處理近似線性可分的數(shù)據(jù),可以對原來線性可分的最優(yōu)化問題進行改進,容許一些異?;蛘呃獾臄?shù)據(jù),這里通過對每一個樣本都引人一個松馳變量ξ 來使函數(shù)間隔大于等于1,相當于放寬了求解條件,所以將原有約束條件改成:

                1.2.12



          對于目標函數(shù),也同樣加上一個懲罰項,得到:


                                 1.2.13


          其中C為懲罰系數(shù),一般取決于實際情況,C的值越大,說明懲罰的強度越大,也說明 對誤分類點懲罰越大(可以簡單理解成對分類錯誤寬容度就越差,太大了容易導致過擬合)。最終軟邊界的原始問題就寫成:

              1.2.14


          這樣原始問題就變成了容許錯誤分類樣本的存在,同樣地,這也是一個凸二次規(guī)劃問題, 最終可以求得(w, b, ξ)的值(這里需要注意的是這次解并不是唯一的)從而得到其中一個超平面,通過新的決策函數(shù):


          其中是新的樣本點,y*是新的決策函數(shù),通過軟邊界的容錯技巧,可以求出新的分類結果。

          2.核技巧

          如果現(xiàn)有的一批數(shù)據(jù)完全線性不可分,利用上述兩種方法肯定是不能解決問題的,為此用到了一個轉化的思想。當數(shù)據(jù)在當前特征空間分布是非線性可分的時候,如果有一個函數(shù)可以將數(shù)據(jù)從低維空間映射到高維空間,那么是不是就可能是線性可分了呢?此時的算法其實就多了一步函數(shù)映射的過程,其他步驟依然可以按照之前線性可分問題一樣求解。這里定義存在一個函數(shù)?(x),可以將原空間線性不可分的數(shù)據(jù)映射到新空間中,變成線性可分。通過對(1.2.11)進行變形,將核函數(shù)引入到對偶問題的式子中,可得:

                          1.2.15


          最后的決策函數(shù)為:

                            1.2.16


          若核函數(shù)? (xi) ? (xj )為正定核,則該對偶問題是凸二次規(guī)劃問題,也就可以求得最優(yōu)解。
           
          圖1.2-2  二分類問題可以通過核函數(shù)轉成線性可分

          常用的核函數(shù)主要有線性核函數(shù)(Linear Kernel Function)、多項式核函數(shù)(Polynomial Kernel Function) 、高斯(RBF)核函數(shù)和sigmoid核函數(shù)。在對不同數(shù)據(jù)集進行使用核函數(shù)的時候,需要對數(shù)據(jù)集的大致特征有所了解。比如特征和數(shù)量都比較少的時候首選線性核函數(shù),如果效果不好再換其他核函數(shù);特征數(shù)量比較少,樣本數(shù)量正常的情況下可以選擇用高斯核函數(shù),對于每種核函數(shù)的選擇需要根據(jù)數(shù)據(jù)集來進行選擇。

          2.支持向量機在金融中的應用

          支持向量機(SVM)可以利用核函數(shù)的方式把數(shù)據(jù)從低維映射到高維,既可以應用于分類場景,也可以用來做回歸問題,其本身又是求解最優(yōu)化推導而來,不用擔心局部最小值問題,所以在金融領域SVM也是有比較廣泛的應用的。從總體來看, SVM在金融時序預測、信用風險評估、選擇優(yōu)質股票等問題上應用效果比較好。

          本文選擇一個簡單直觀的應用實戰(zhàn)——根據(jù)股價基本 歷史數(shù)據(jù)來預測股市漲跌。通過這個簡單的例子,可以比較清晰的感受到傳統(tǒng)機器學習在實際股市中的作用,加深對支持向量機算法的理解以及現(xiàn)實。

          2.1問題理解與數(shù)據(jù)準備

          首先對于預測股市(這里以上證指數(shù)為例)漲跌這個問題,可以直接看成是一個有監(jiān)督學習的分類任務,更具體一點說是一個二分類問題。當股市上漲則屬于標簽1,下降 則是0。主要的任務是根據(jù)股市歷史數(shù)據(jù)作為特征來進行訓練,并預測接下來的時間里股市的漲跌情況。

          首先加載股票基本數(shù)據(jù),為此選擇了從2011-01-01到2021-04-30時間段的數(shù)據(jù)作為這次應用的數(shù)據(jù)集。其中數(shù)據(jù)主要的特征有:


          Open (當天開盤價)High (當天最高價)

          Low (當天最低價)

          Volume (當天成交的股票數(shù)量)

          Money (當天成交的金額)

          利用Pandas可以很方便查看數(shù)據(jù)集的基本結構和屬性。


          表2.1-1 數(shù)據(jù)格式

           
          讀完數(shù)據(jù)之后,明顯可以看到各個列的數(shù)據(jù)量級是有差異的,比如開盤價(Open) 和錢的總量(Money)。應用的第一步,需要對數(shù)據(jù)集進行標準化處理。大致了解數(shù)據(jù)的結構以及數(shù)據(jù)具體含義情況之后,對數(shù)據(jù)進行預處理(Preprocessing)。由于各個特征數(shù)據(jù)的量級以及分布都無法完全一致,會導致在利用機器學習算法訓練的時候預估結果不準,所以需要對數(shù)據(jù)進行預處理,也可以說歸一化處理 (Normalization)。主要目的就是把所有數(shù)據(jù)統(tǒng)一成一個標準,在不改變數(shù)據(jù)本身意義的前提下,對數(shù)據(jù)進行一次“美容”。歸一化處理之后的數(shù)據(jù)可以直接輸入到機器學習模型中進行訓練。在這里將所有數(shù)據(jù)初始值設為100來進行歸一化, 這樣不僅可以方便分析數(shù)據(jù),也可以方便做圖從而看出走勢。


          表2.1-2 數(shù)據(jù)可視化
            
          圖2.1-1  歸一化之后各個列的數(shù)據(jù)走勢圖

          從圖中可以看到,股市在2015上半年達到頂峰,然后立馬又極速下跌,之后幾年都處于震蕩狀態(tài),最近幾年總體趨勢是向上的。另一方面,各個指標之間基本走勢也是比較相似,其中成交的金額是整體波動比較小的一個指標。接下來,需要再做一個計算前后兩天漲跌幅的計算,來代替之前的絕對值數(shù)據(jù)。并對收盤價漲的標記為正樣本,跌的標 記為負樣本。這樣構造好的數(shù)據(jù)就可以直接作為機器學習的標準輸人數(shù)據(jù)。



          表2.1-3 數(shù)據(jù)預處理


          數(shù)據(jù)全部處理好之后,進行訓練數(shù)據(jù)和測試數(shù)據(jù)集的分割,這里隨機抽取總體數(shù)據(jù)的30%作為測試集。X_train表示訓練集的訓練數(shù)據(jù),y_train表示訓練集的標簽,X_test 表示測試集的訓練數(shù)據(jù),y_test表示測試集的標簽。到這里完成了整個流程的第一步。


          表2.1-4樣本數(shù)據(jù)構造

          2.2 支持向量機的應用

          數(shù)據(jù)集處理好了之后,第二步,利用現(xiàn)有的機器學習庫一一sklearn可以方便地幫助我們直接使用這個算法。一方面SVM算法本身實現(xiàn)的步驟比較多,如果自己手動實現(xiàn)會比較費時間,實際應用中,更多的是直接調用這個包中的方法。


          表 2.2-5  SVM模型的核心代碼
           
          這里的SVC就是指SVM算法的方法函數(shù),直接利用SVC的fit方法把訓練數(shù)據(jù)放進去進行訓練,這里的kernel指的是核函數(shù),這里先用最簡單的線性核函數(shù)進行計算,之后會再對比一下其他核函數(shù)的效果。

          2.3測試與效果評估

          該問題是典型的二分類問題,并且該數(shù)據(jù)集的正負樣本分布還比較均勻,在這里可以采用準確率的指標來對這次模型效果進行判定。



          表 2.2-6: SVM 模型評估
           
          這里補充一下另外用rbf核函數(shù)進行訓練得到的結果


          表 2.2-7: rbf核函數(shù)SVM模型的核心代碼


          通過使用兩種不同核函數(shù)可以看出對于該數(shù)據(jù)集,采用線性核函數(shù)具有更好的效果。

          2.4回顧與總結

          回顧:本次實驗通過使用不同核函數(shù)的svm算法來對股市漲跌進行預測,實驗表明:利用線性核的svm效果較好,準確率能達到66.3%。

          總結:通過本次svm在股票數(shù)據(jù)中的案例可以看出,一方面,通過對金融數(shù)據(jù)的獲取和處理,利用機器學習的手段的確可以來預估一些比較金融場景下的問題。另一方面,本次實驗效果比較一般,主要原因可能是數(shù)據(jù)的特征還是遠遠不足以預估A股這樣波動比較大的市場,實際的量化交易中會利用很多更有效的特征來進行細化的分析和預估,比如在特征中加人日線的一些數(shù)據(jù), 新聞數(shù)據(jù)的一些特征等。如果想要達到實際應用的效果,需要結合更多的特征,進行更加細化的分析才能預測更加精準。最后還是需要說明一下,股市預測可以預測長期的走勢, 但是短期的預測基本是不可能的,預測時間期限越長,預測的難度也越低。

          編輯:于騰凱

          校對:林亦霖


          數(shù)據(jù)派研究部介紹




          數(shù)據(jù)派研究部成立于2017年初,以興趣為核心劃分多個組別,各組既遵循研究部整體的知識分享實踐項目規(guī)劃,又各具特色:


          算法模型組:積極組隊參加kaggle等比賽,原創(chuàng)手把手教系列文章;

          調研分析組:通過專訪等方式調研大數(shù)據(jù)的應用,探索數(shù)據(jù)產(chǎn)品之美;

          系統(tǒng)平臺組:追蹤大數(shù)據(jù)&人工智能系統(tǒng)平臺技術前沿,對話專家;

          自然語言處理組:重于實踐,積極參加比賽及策劃各類文本分析項目;

          制造業(yè)大數(shù)據(jù)組:秉工業(yè)強國之夢,產(chǎn)學研政結合,挖掘數(shù)據(jù)價值;

          數(shù)據(jù)可視化組:將信息與藝術融合,探索數(shù)據(jù)之美,學用可視化講故事;

          網(wǎng)絡爬蟲組:爬取網(wǎng)絡信息,配合其他各組開發(fā)創(chuàng)意項目。


          點擊文末“閱讀原文”,報名數(shù)據(jù)派研究部志愿者,總有一組適合你~



          轉載須知


          如需轉載,請在開篇顯著位置注明作者和出處(轉自:數(shù)據(jù)派THUID:DatapiTHU),并在文章結尾放置數(shù)據(jù)派醒目二維碼。有原創(chuàng)標識文章,請發(fā)送【文章名稱-待授權公眾號名稱及ID】至聯(lián)系郵箱,申請白名單授權并按要求編輯。

          未經(jīng)許可的轉載以及改編者,我們將依法追究其法律責任。





          點擊“閱讀原文”加入組織~


          瀏覽 53
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧洲中文字幕日韩精品成人 | 天天艹夜夜爽 | 黄色18禁止网站 | 日日躁夜夜躁 | 日韩一级精品 |