曹 璨,黃 海,徐 可
(中國科學技術(shù)大學 信息科學技術(shù)學院,安徽 合肥 230027)
?
一種基于時間序列算法的資金流入流出預測模型
曹 璨,黃 海,徐 可
(中國科學技術(shù)大學 信息科學技術(shù)學院,安徽 合肥 230027)
資金的流入流出預測對于降低網(wǎng)絡(luò)金融平臺的流動性風險、提高資金利用率具有重要意義。根據(jù)資金流入流出歷史數(shù)據(jù),對螞蟻金服公司余額寶資金未來30天流入流出的預測問題進行研究。由于歷史數(shù)據(jù)不穩(wěn)定且多噪聲,首先采用序列轉(zhuǎn)換方法對不平穩(wěn)序列進行差分處理提高其數(shù)據(jù)穩(wěn)定性,其次對該序列進行模型識別和參數(shù)估計,利用時間序列模型初步預測,并對殘差序列進行模型檢驗,最后利用通過檢驗的模型預測結(jié)果。實驗結(jié)果表明,此模型可以有效地對余額寶用戶的資金流入流出金額進行預測。
資金流入流出預測;序列轉(zhuǎn)換;參數(shù)估計;時間序列模型
金融公司往往擁有千萬乃至上億的服務(wù)會員,公司的金融業(yè)務(wù)場景每天必然會涉及大量的資金流入流出,導致資金管理壓力會非常大。因此,在保證資金流動性風險最小,同時滿足日常業(yè)務(wù)運轉(zhuǎn)的情況下,精準地預測資金的流入流出顯得尤為重要。然而,金融數(shù)據(jù)的變動往往受社會、經(jīng)濟等多方面因素的影響,數(shù)據(jù)變化趨勢不穩(wěn)定,導致資金的流入流出預測較為困難。
國內(nèi)外學者對資金流入流出的研究較少,且主要側(cè)重于股票行情預測、證券價格預測等問題。 Soofi利用非線性擬合方法對含噪聲的金融數(shù)據(jù)進行了預測[1]。FINANCE A基于多元非線性動力學理論對上海股票市場進行了短期預測[2]。Dai Wensheng等人采用非線性獨立分量分析與神經(jīng)網(wǎng)絡(luò)相結(jié)合的方法,對亞洲股市指數(shù)進行了預測[3]。DAIGO K利用多時間序列的方法對股票價格趨勢進行了研究[4]。與此同時,相關(guān)學者提出了電網(wǎng)短期負荷時間序列的混沌性預測模型[5]。
本文以螞蟻金服公司余額寶資金預測為例,研究金融公司未來每天的資金流入流出預測問題,目標是對余額寶每天的資金流入流出總值進行預測。
本文針對資金流入流出數(shù)據(jù)的穩(wěn)定性較差、多噪聲的特點,首先結(jié)合業(yè)務(wù)背景進行數(shù)據(jù)預處理,采用序列轉(zhuǎn)換方法對不平穩(wěn)序列進行差分處理使其變得平穩(wěn),其次再進行模型識別和參數(shù)估計,利用合適的時間序列模型初步預測,并對殘差序列進行模型檢驗,最后利用通過檢驗的模型訓練學習,預測出目標月份未來每天的申購和贖回值。
本文以余額寶流入流出資金為例,對金融公司資金的流入流出預測問題進行研究,其中貨幣基金的流入流出為申購行為和贖回行為的流動資金。
用戶的申購贖回數(shù)據(jù)包括申購、贖回信息和所有的子類目信息。數(shù)據(jù)主要包括用戶操作時間和操作記錄,其中操作記錄包括申購(purchase)和贖回(redeem)兩個部分。
金融數(shù)據(jù)包括今日余額(tBalance)、昨日余額(yBalance)、今日總購買量(total_purchase_amt)、今日直接購買量(direct_purchase_amt)、今日支付寶余額購買量(purchase_bal_amt)、今日銀行卡購買量(purchase_bank_amt)、今日總贖回量(total_redeem_amt)、今日消費總量(consume_amt)、今日轉(zhuǎn)出總量(transfer_amt)、今日轉(zhuǎn)出到支付寶余額總量(tftobal_amt)、今日轉(zhuǎn)出到銀行卡總量(tftocard_amt)、今日收益(share_amt)和今日類目1-4的消費總額(category1-4)。其中今日總購買量 = 直接購買 + 收益,今日總贖回量 = 消費 + 轉(zhuǎn)出。如果用戶今日消費總量為0,則四個類目為空。
本文從申購和贖回總值的歷史數(shù)據(jù)切入,分析各數(shù)據(jù)的處理方式。
本文提出的資金流入流出預測模型的架構(gòu)圖如圖1所示,整個模型包括數(shù)據(jù)預處理、序列轉(zhuǎn)換、模型識、模型檢驗和建模預測五個關(guān)鍵環(huán)節(jié)。
圖1 資金流入流出預測模型的構(gòu)建流程
其中,數(shù)據(jù)預處理包括異常值剔除、數(shù)據(jù)集成化,序列轉(zhuǎn)換包括平穩(wěn)性檢驗、差分變換和白噪聲檢驗,模型識別包括自相關(guān)圖識別定階和BIC準則參數(shù)估計,模型檢驗包括德賓-沃森檢驗和Ljung-Box隨機性檢驗。
2.1 數(shù)據(jù)預處理
在明確題目背景后,本文對數(shù)據(jù)進行了預處理操作。首先是數(shù)據(jù)清洗,余額寶的用戶眾多,每位用戶的價值也都不同。整體上看數(shù)據(jù)較為干凈,沒有缺失值。本文剔除14個月中總操作數(shù)少于5次或總申購值和贖回值都小于10的用戶。
單個用戶的個體行為隨機性較強,具有不穩(wěn)定性,波動大,且個體行為不具有規(guī)律性,受外界因素干擾較大。因此進行數(shù)據(jù)集成,匯總多個用戶的數(shù)據(jù)以進行共同建模。本文采用全體用戶以天為單位的總申購值和贖回值數(shù)據(jù),計算全體用戶427天的歷史數(shù)據(jù),獲取申購值和贖回值以天為單位的時間序列圖,如圖2所示。
圖2 用戶申購和贖回的時間序列圖
由圖2可發(fā)現(xiàn)整體數(shù)據(jù)具有以下顯著特點:(1)具有一定的周期性;(2)工作日和節(jié)假日有所差別,工作日比節(jié)假日高;(3)前期低,中期過高,后期逐漸進入平穩(wěn)階段,趨于平緩。因此可采用時間序列方法進行訓練學習[6],預測未來序列趨勢以預測每天的申購和贖回值。
2.2 序列轉(zhuǎn)換
序列轉(zhuǎn)換主要包括三個環(huán)節(jié):平穩(wěn)性檢驗、差分變換和白噪聲檢驗。
首先從定性的角度分析時序圖,如果時序圖中的序列值始終在一個常數(shù)附近隨機波動,且波動的范圍有界,則時間該序列為平穩(wěn)序列;如果有明顯的趨勢或周期性,則通常為不平穩(wěn)序列。若是不平穩(wěn)序列,可采用差分方法對原始序列先進行一階差分,再返回平穩(wěn)檢驗階段直至通過。顯然余額寶資金的流入流出序列為不平穩(wěn)序列。從定量的角度分析,作單位根ADF檢驗,計算其中的pvalue值,判斷其平穩(wěn)性高低。
本案例的一階差分序列的時間序列圖如圖3所示。
圖3 用戶申購和贖回的一階差分時間序列圖
隨后采用Ljung-Box(LB)統(tǒng)計量進行白噪聲檢驗,衡量序列的信息包含度。如果序列檢驗為白噪聲序列,則說明序列中有用的信息已被提取完畢,剩余為隨機擾動,該部分沒有預測的必要。如果是平穩(wěn)非白噪聲序列,則可以對其建模分析[7]。本案例的詳細算法如下。
算法1:序列轉(zhuǎn)換算法
輸入:非平穩(wěn)的時間序列數(shù)據(jù)集Xt
(1)作時序圖,進行平穩(wěn)性趨勢分析。
(2)計算單位根ADF,根據(jù)pvalue判斷序列的平穩(wěn)性檢驗。若pvalue<0.5則是平穩(wěn)序列,跳至第(4)步;若pvalue≥0.5則是不平穩(wěn)序列,至第(3)步進行處理。
(3)計算該序列的一階差分DIFF(Xt),再跳回第2步進行平穩(wěn)性檢驗。
(4)白噪聲檢驗,利用LB統(tǒng)計量檢驗,求得對應(yīng)p值,當p<0.05則是非白噪聲序列;當p≥0.05則是白噪聲序列,需要進行數(shù)據(jù)的重新整合。
(5)結(jié)束
2.3 模型識別和參數(shù)估計
上述分析顯示,金融數(shù)據(jù)序列的趨勢具有一定的周期性,當確定其差分序列為平穩(wěn)非白噪聲序列后,可以選擇合適的時間序列模型進行擬合[8]。
第一步是模型識別。從探索當前序列的自相關(guān)性來初步識別,根據(jù)當前序列的自相關(guān)圖和偏自相關(guān)圖判斷最為貼近的時間序列模型。常用的時間序列模型有AR(p)模型,MA(q)模型,ARMA(p,q)模型和ARIMA(p,d,q)模型??梢詤⒄毡?識別模型。
表1 時間序列模型識別參照原則
AR(p)模型為p階自回歸模型,序列為:
xt=φ0+φ1xt-1+φ2xt-2+…+φpxt-p+εt
(1)
即在t時刻隨機變量Xt的取值xt是前p期xt-1,xt-2,…,xt-p的多元線性回歸,其中認為xt主要受過去p期的序列值的影響。誤差項是當期的隨機干擾εt,為零均值白噪聲序列。
MA(q)模型是q階自回歸模型,序列為:
xt=μ+εt-θ1εt-1-θ2εt-2-…-θqεt-q
(2)
即在t時刻隨機變量Xt的值xt是前q期的隨機擾動εt-1,εt-2,…,εt-q的多元線性函數(shù),其中認為xt主要是受過去q期誤差項的影響。誤差項是當期的隨機干擾εt,為零均值白噪聲序列,μ是序列{Xt}的均值。
ARMA(p,q)模型是自回歸移動平均模型,序列為:
xt=φ0+φ1xt-1+φ2xt-2+…+φpxt-p+εt-θ1εt-1-θ2εt-2-…-θqεt-q
(3)
即在t時刻隨機變量Xt的取值xt是前p期xt-1,xt-2,…,xt-p和前q期εt-1,εt-2,…,εt-q的多元線性函數(shù),誤差項是當期的隨機干擾εt,為零均值白噪聲序列,xt主要是受過去p期的序列值和過去q期誤差項的共同影響。
ARIMA(p,d,q)模型是對非平穩(wěn)序列的擬合,需要進行d階差分運算,然后和ARMA(p,q)模型組合。本文的余額寶序列為非平穩(wěn)序列,經(jīng)差分處理后平穩(wěn),且受前期序列和誤差項的影響,因此跟ARIMA(p,d,q)最為貼近。
第二步是BIC準則模型定階和參數(shù)估計。利用BIC準則進行參數(shù)尋優(yōu)的目標是尋找包含最少自由參數(shù)且能夠最好地解釋數(shù)據(jù)的模型。雖然增加自由參數(shù)可以提高擬合的優(yōu)良性,但為避免過擬合,優(yōu)先考慮的模型是使得BIC值最小的模型。定好d階差分后,利用BIC準則找到ARIMA(p,d,q)模型對應(yīng)的p,q值[9]。
2.4 模型檢驗
在模型識別和參數(shù)估計后,可利用初步得到的ARIMA模型對歷史數(shù)據(jù)訓練并預測,并將結(jié)果和真實值對比得到殘差。模型檢驗目的是對模型適合程度進行檢驗:若檢驗通過則表示該模型可以較好地刻畫序列,若檢驗不通過則表示該模型并不符合序列趨勢,需要采用其他模型重新建模[10]。
模型檢驗分為三個步驟,首先使用QQ圖,驗證殘差數(shù)據(jù)是否符合正態(tài)分布[11]。其次,對殘差序列做德賓-沃森(D-W)檢驗,驗證是否有自相關(guān)性。最后對殘差作Ljung-Box(LB)檢驗,這是對隨機性的檢驗,對時間序列是否存在滯后相關(guān)的統(tǒng)計檢驗。LB檢驗是基于一系列滯后階數(shù),判斷序列的總體的相關(guān)性或者隨機性的存在。若LB檢驗殘差序列是高斯白噪聲序列,則檢驗模型通過[12]。具體步驟如下。
輸入:殘差數(shù)據(jù)集Qt
輸出:模型通過檢驗或不通過
(1)作QQ圖,看是否正態(tài)分布。
(2)德賓-沃森檢驗。根據(jù)D-W值判斷殘差序列的自相關(guān)性。若D-W值接近0或者4,則是存在自相關(guān)性;若D-W值接近2,則無自相關(guān)性。
(3) Ljung-Box檢驗。計算殘差序列對應(yīng)的p值,若p>0.05則是高斯白噪聲序列,通過模型檢驗,說明殘差和零相差無幾;若p≤0.05則是非白噪聲序列,不通過模型檢驗,需要嘗試其他模型擬合。
(4)結(jié)束。
2.5 建模預測和模型評價
在模型檢驗后,可采用通過的模型進行訓練預測,并建立誤差評價指標評價預測效果。
針對預測誤差,本文比較回歸預測的值Ypre與真實值Y,用均方根誤差RMSE作為驗證模型好壞的指標。
(4)
對于用戶申購的預測誤差RMSEpur和贖回的預測誤差RMSEred,根據(jù)案例問題要求的重要性不同,最終的總誤差評價指標為 :
RMSEtotal=0.45RMSEpur+0.55RMSEred
(5)
3.1 實驗流程
本文以螞蟻金服公司余額寶資金為應(yīng)用背景,數(shù)據(jù)來源是余額寶用戶的真實數(shù)據(jù)。該數(shù)據(jù)集包含共28 041名用戶從2013-07-01到2014-08-31共427天的2 840 421條數(shù)據(jù)操作記錄。其中申購和贖回值單位是分。預測數(shù)據(jù)的單位也需精確到分??紤]測試集為2014-09的數(shù)據(jù),無真實值對照,故選擇訓練集中已知的1個月作為測試集進行實驗。
縱觀申購和贖回值的時間序列圖,發(fā)現(xiàn)7月、8月無節(jié)日,且處于暑假階段,與9月情形不相似。而4月的波動情況與9月很類似,且分別包含節(jié)日清明節(jié)、中秋節(jié),可作測試集進行實驗。那么可取2013-07-01至2014-03-31的274天的樣本,用上述方法預測出結(jié)果,用均方根誤差進行模型評價。
3.2 實驗結(jié)果與分析
如前所述,本文的資金流入流出預測模型包括數(shù)據(jù)預處理、序列轉(zhuǎn)換、模型識別,模型檢驗、建模預測這五個主要步驟。本文對每一步數(shù)據(jù)處理產(chǎn)生的實驗結(jié)果進行展示和分析如下。
由原始序列經(jīng)過一階差分的序列DIFF(Xt)進行平穩(wěn)性檢驗,得到pvalue=3.419e-19。經(jīng)過白噪聲檢驗,得到p=2.787e-13。說明該案例的一階差分模型是平穩(wěn)非白噪聲序列,可以進行建模。作一階差分序列的自相關(guān)圖和偏自相關(guān)圖如圖4、圖5所示。
圖4 用戶申購和贖回一階差分的自相關(guān)圖
圖5 用戶申購和贖回一階差分的偏自相關(guān)圖
由實驗結(jié)果發(fā)現(xiàn)申購和贖回序列符合ARIMA(p,1,q)模型,一階差分序列是p階拖尾,q階拖尾。對于申購序列和贖回序列利用BIC準則進行參數(shù)估計,當調(diào)整p,q的取值范圍時,得到最優(yōu)值列表,分別如表2和表3所示。
參數(shù)確定后即得到初步模型,則需進行模型檢驗,以ARIMA(2,1,1)模型對申購序列預測為例,作殘差QQ圖如圖6所示。對于三個不同參數(shù)的模型分別做德賓-沃森檢驗和Ljung-Box檢驗, 判斷是否通過檢驗,結(jié)果如表4和表5所示。
圖6 ARIMA(2,1,1)預測的殘差QQ圖
表2 申購序列p, q的取值范圍下的最優(yōu)值
表3 贖回序列參數(shù)p, q的取值范圍下的最優(yōu)值
表4 申購序列不同p, q的參數(shù)模型檢驗結(jié)果
表5 贖回序列不同p, q的參數(shù)模型檢驗結(jié)果
由上述表格知,申購的三個模型和贖回的三個模型都通過了檢驗,可以較好地刻畫序列,用于趨勢預測?,F(xiàn)將ARIMA(p,d,q)模型不同的p,q值參數(shù)代入,進行實驗并對比預測效果,結(jié)果如表6和表7所示。
表6 申購序列不同p, q值的預測效果對比
表7 贖回序列不同p, q值的預測效果對比
綜合可知,將申購和贖回序列預測的最優(yōu)效果相結(jié)合,可以得到最優(yōu)的最終預測效果RMSEtotal=0.45×0.258 5+0.55×0.328 2=0.296 8。本文提出的時間序列的資金流入流出預測模型取得的最優(yōu)預測效果為RMSE=0.296 8。
本文針對金融公司資金流入流出的預測問題進行研究,對減小資金流動性風險、提升資金利用效率有重要意義。以螞蟻金服公司余額寶資金為例,針對資金數(shù)據(jù)波動性大、噪聲多等特點,本文提出了基于將非平穩(wěn)序列轉(zhuǎn)換為平穩(wěn)序列,再逐步模型識別和參數(shù)估計,經(jīng)模型檢驗后找到合適的時間序列模型ARIMA(p,d,q)擬合,可以應(yīng)用于大多數(shù)的資金流入流出預測問題。
在后續(xù)研究中,將嘗試對時間序列進行分解,用加法模型和乘法模型分離季節(jié)因素,對不同分段序列選用合適的時間序列模型擬合,最后綜合各段序列的預測結(jié)果成為最終結(jié)果。
[1] SOOFI A S, Cao Liangyue. Nonlinear Forecasting of Noisy Financial Data[M]. Modelling and Forecasting Financial Data. Springer US, 2002,2:455-465.
[2] FINANCE A. Multivariate nonlinear analysis and prediction of Shanghai stock market[J]. Discrete Dynamics in Nature & Society, 2008, 2008(1):47-58.
[3] Dai Wensheng, WU J Y, LU C J. Combining nonlinear independent component analysis and neural network for the prediction of Asian stock market indexes[J]. Expert Systems with Applications, 2012, 39(4):4444-4452.
[4] DAIGO K, TOMOHARU N. Stock prediction using multiple time series of stock prices and news articles[C]. Computers & Informatics, IEEE, 2012:11-16.
[5] 劉彬, 王紅蕾. 貴州電網(wǎng)短期負荷時間序列的混沌性仿真檢驗[J]. 微型機與應(yīng)用, 2010, 29(17):88-90.
[6] 馬超紅, 翁小清. 時間序列早期分類綜述[J]. 微型機與應(yīng)用, 2016, 35(16):13-15.
[7] Liu Xiaohong. The Statistical Test for Stationarity of Time in ARIMA Model and its Application[J]. Chinese Journal of Health Statistics, 1998.
[8] Zhang Le, Zhang Jianmin, Du Xiangge. Applying the season time series model to forecast the greenhouse daily humidity[J]. Northern Horticulture, 2008.
[9] Huang Yan, Yi Dong, Tiao Kaocong. The SAS procedure of ARIMA model and its application in time series[J]. Laser Journal, 2007, 28(1):96-96.
[10] Wang Jifang, Fei Renyuan, Xu Xiaoli, et al. Combination of ARIMA and RBF model and its application in equipment running condition prediction[J]. Journal of Mechanical Transmission, 2011, 35(9):85-87.
[11] 張玲, 劉波. 基于殘差統(tǒng)計的時間序列加性離群點檢測算法研究[J]. 電子技術(shù)應(yīng)用, 2015, 41(9):85-87.
[12] 張良均.Python與數(shù)據(jù)挖掘[M].北京:機械工業(yè)出版社,2016.
A prediction model of funds inflow and outflow based on time series algorithm
Cao Can, Huang Hai, Xu Ke
(School of Information Science and Technology, University of Science and Technology of China, Hefei 230027, China)
It is great significant to reduce the liquidity risk of the network financial platform and improve the funds utilization rate to predict funds inflow and outflow. In this paper, we research on predicting Ant Financial Services Group YuEBao funds inflow and outflow in next 30 days according to historical records. Because historical data is instable with much noise, we utilize the differential conversion method to transfer the original sequences to stable sequence. Then, though the model identification and parameter estimation we obtain a preliminary model. Next we select the suitable time series model to predict the residual sequence and do model check. At last, we use the approved model trains data to predict final results. The results of experiments verify that the proposed prediction model can effectively predict the funds inflow and outflow.
funds inflow and outflow prediction; sequence transfer; parameter estimation; time series model
TP181
A
10.19358/j.issn.1674- 7720.2017.14.017
曹璨,黃海,徐可.一種基于時間序列算法的資金流入流出預測模型[J].微型機與應(yīng)用,2017,36(14):52-56.
2017-01-26)
曹璨(1992-),女,碩士,主要研究方向:數(shù)據(jù)挖掘。
黃海(1980-),男,博士,副研究員,主要研究方向:機器學習,數(shù)據(jù)挖掘。
徐可(1995-),男,碩士,主要研究方向:數(shù)據(jù)挖掘。