python用回歸、arima、隨機(jī)森林、GARCH模型分析國債期貨波動(dòng)性、收益率、價(jià)格預(yù)測
全文鏈接:http://tecdat.cn/?p=31123
分析師:Yihan Mao
本文為客戶提供咨詢,讓個(gè)人購買人員了解美國國債期貨的特性,以便于進(jìn)行個(gè)人投資及管理。
任務(wù)/目標(biāo)
由于國債期貨的方便,可以快速交易,所以無論是用來投機(jī)還是用來對沖風(fēng)險(xiǎn)都有很好的作用效果。我們提取美國國債期貨的數(shù)據(jù),進(jìn)行波動(dòng)性,收益率上的分析,并進(jìn)行價(jià)格預(yù)測。
相關(guān)視頻
數(shù)據(jù)源準(zhǔn)備
用python(import YahooFinance)獲取美國國債期貨近10年的數(shù)據(jù)作為基本分析數(shù)據(jù)。同時(shí),由于國債期貨的價(jià)格受到許多宏觀因素的影響,所以并且還需要找到一些其他的影響要素,這里我們提取GDP,CPI,Treasury Yield(收益率)并作為我們的特征。
特征轉(zhuǎn)換
數(shù)據(jù)預(yù)處理。datetime換成標(biāo)準(zhǔn)時(shí)間,算出日logreturn(log收益),分別算出15,50,100天的SMA與RSI加入到特征。畫出boxplot,通過圖過濾掉outliers跟一些不正常的點(diǎn)。用pandas篩選數(shù)據(jù),填補(bǔ)過濾掉空數(shù)據(jù)。
分析收益
畫出日收益率,尋找聚集波動(dòng)性強(qiáng)的點(diǎn),進(jìn)行進(jìn)一步分析。通過圖看出在哪一段時(shí)間日收益較高,并且尋找近期事件發(fā)生的影響。我們發(fā)現(xiàn)存在收益相對較高,有投資價(jià)值。
分析波動(dòng)性
波動(dòng)性可以考慮為標(biāo)準(zhǔn)差的表現(xiàn)。首先直觀觀察,畫出短期SMA與長期SMA,交點(diǎn)較多的地方為潛在波動(dòng)性強(qiáng)的地方。再畫出Bollinger Bands,密集的地方為波動(dòng)性大的地方。


將這段時(shí)間發(fā)生的事情結(jié)合在一起分析,可以看出人們在發(fā)生經(jīng)濟(jì)變動(dòng)的時(shí)候會(huì)選擇用此國債期貨進(jìn)行風(fēng)險(xiǎn)轉(zhuǎn)移。
點(diǎn)擊標(biāo)題查閱往期內(nèi)容


左右滑動(dòng)查看更多

建模分析
Regression Model:
由于特征數(shù)據(jù)有多重因素,我們可以一個(gè)多重線性回歸。通過畫圖scatterplot matrix我們發(fā)現(xiàn),很多之間并不是線性,而且存在變量之間的線性關(guān)系(由于目標(biāo)是預(yù)測,所以可以忽略),所以我們進(jìn)行Box-Tidewell Transformation. 然后選取訓(xùn)練集合跟預(yù)測集合,建立模型進(jìn)行回歸預(yù)測。
ARIMA:
由于國債期貨不是商品類型,所以我們不考慮季節(jié)性的變化。(ARIMA模型是指將非平穩(wěn)時(shí)間序列轉(zhuǎn)化為平穩(wěn)時(shí)間序列,然后將結(jié)果變量做自回歸(AR)和自平移(MA)。)
首先畫圖查看是否存在自相關(guān)。用ADF test來檢測是否平穩(wěn),如果不平穩(wěn)我們對其進(jìn)行差分處理,知道檢測P-value<0. 然后用Ljung-Box Test 檢測白噪聲,如果不是白噪聲證明可以預(yù)測此時(shí)間序列。

接下來定階。Auto-select得知選擇ARIMA(1,1,1). 我們建立模型。并對模型進(jìn)行residual分析,得知模型良好。

同時(shí)看出residual可以看做normal分布。
我們選擇前80%的數(shù)據(jù)為訓(xùn)練集合,后20%為測試集合,建立預(yù)測。

可以看出預(yù)測值與實(shí)際值近似。如果假設(shè)經(jīng)濟(jì)狀況平穩(wěn),沒有重大事情發(fā)生的狀況下(eg.covid-19),可以參考其變化來進(jìn)行投機(jī),實(shí)際上仍需考慮多方面宏觀因素。
隨機(jī)森林:
用隨機(jī)的方式建立一個(gè)由很多決策樹組成的,每一棵樹都只負(fù)責(zé)自己的部分。每一棵樹來進(jìn)行自己的分類運(yùn)算,最后選擇評分最高的來進(jìn)行預(yù)測。

GARCH模型:
金融市場有杠桿效應(yīng)。方差并不是恒定的,ARCH模型是一個(gè)很好的解決方法。
由于國債期貨長達(dá)30年,很多宏觀因素的變化對其有很大的影響。
預(yù)測取決于我們的目的,如果我們的目的僅僅是投機(jī),我們只需要觀察價(jià)格的變化走勢,同時(shí)受到一些宏觀因素的影響。比如我們還可以通過畫出RSI的變化,來訓(xùn)練什么時(shí)候應(yīng)該買入賣出。

同時(shí)根據(jù)交易量(Volume)的變化可以看出人們的活動(dòng)狀況,尤其是在宏觀事件影響的時(shí)候。這個(gè)對于風(fēng)險(xiǎn)管理有很重要的參考價(jià)值。
改進(jìn):
可以根據(jù)每周工作日設(shè)置indicator變量,更好的反應(yīng)時(shí)間因素。同時(shí)可以設(shè)置他們的相互作用(interaction effect)。
選取的宏觀因素可以進(jìn)一步增加。
關(guān)于作者
在此對Yihan Mao對本文所作的貢獻(xiàn)表示誠摯感謝,他畢業(yè)于廈門大學(xué)(馬來西亞分校),專長金融數(shù)學(xué),數(shù)據(jù)分析可視化。

點(diǎn)擊文末“閱讀原文”
獲取全文完整代碼數(shù)據(jù)資料。
本文選自《python用回歸、arima、隨機(jī)森林、GARCH模型分析國債期貨波動(dòng)性、收益率、價(jià)格預(yù)測》。
點(diǎn)擊標(biāo)題查閱往期內(nèi)容

![]()




