




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
金融數(shù)值計算與應(yīng)用軟件
--MATLAB王輝
中央財經(jīng)大學(xué)金融學(xué)院E-mail:xiaohuipk@163.comTel5章金融時間序列分析5.1MATLAB中時間序列變量的創(chuàng)立
(a)使用函數(shù)fints(b)函數(shù)ascii2fts把文本文件ASCII內(nèi)容保存為時間序列變量。
利用fints函數(shù)創(chuàng)立時間序列對象
(a)簡單矩陣的輸入(b)向量輸入(c)數(shù)據(jù)名輸入(d)頻率顯示輸入(e)描述字段的輸入fints函數(shù)—簡單矩陣的輸入
調(diào)用方式:fts=fints(dates_and_data)【例5.1.1】創(chuàng)建一個僅僅包含一組觀察值(或一個數(shù)據(jù)序列)的金融時間序列。建立如下m文件:dates=(today:today+10)';randn('state',0);datas=exp(randn(1,11))';dates_and_data=[datesdatas];fts1=fints(dates_and_data)【例5.1.2】創(chuàng)建一個包含兩組觀察值(兩個數(shù)據(jù)序列)的金融時間序列。
建立如下m文件:dates=(today:today+10)';randn('state',0);data1=exp(randn(1,11))';randn('state',1);data2=exp(randn(1,11))';dates_and_data=[datesdata1data2];fts2=fints(dates_and_data)【例5.1.3】創(chuàng)建一個金融時間序列,包含時間信息。建立如下m文件:clear;time_s=(now:now+10)';randn('state',0);data_s=exp(randn(1,11))';times_and_data=[time_sdata_s];fts1=fints(times_and_data)fints函數(shù)—向量輸入
調(diào)用方式:fts=fints(dates,data)【例5.1.4】包含時間信息的例子。timedate=(now:now+10)';randn('state',0);data_series1=exp(randn(1,11))';randn('state',1);data_series2=exp(randn(1,11))';data=[data_series1data_series2];fts1=fints(timedate,data)日期字符串可允許的輸入格式(1)'ddmmmyyhh:mm'或'ddmmmyyyyhh:mm'(2)'mm/dd/yyhh:mm'或'mm/dd/yyyyhh:mm'(3)'dd-mmm-yyhh:mm'或'dd-mmm-yyyyhh:mm’(4)'mmm.dd,yyhh:mm'或'mmm.dd,yyyyhh:mm'如果時間的信息包含在日期字符串格式中,用戶必須把它作為一個列轉(zhuǎn)置元胞數(shù)組提供給函數(shù)fints。
f=fints({'01-Jan-2008';'02-Jan-2008'},(1:2)')
fints函數(shù)—數(shù)據(jù)名輸入、頻率顯示輸入、描述字段的輸入fts=fints(dates,data,datanames,freq,desc)datanames:一個字符串的元胞數(shù)組freq:有效的頻率顯示Desc:其內(nèi)容用戶可以任意設(shè)置【例5.1.5】本例假設(shè)有兩個數(shù)據(jù)序列,它們的名稱分別為First和Second,在MATLAB中執(zhí)行如下m文件:dates=(today:today+10)';randn('state',0);data_series1=exp(randn(1,11))';data_series2=exp(randn(1,11))';randn('state',1);data=[data_series1data_series2];fts=fints(dates,data,{'First','Second'})fts2=fints(dates,data,{'First','Second'},1,'TestTS')金融時間序列文件的讀取
文本文件所滿足的條件:包含標題文本行包含標題信息。最左邊的一列必須是日期,而且日期必須是一個有效的日期字符串格式列與列之間必須用空格鍵或tab鍵分開金融時間序列文件的讀取
函數(shù)的調(diào)用方式:
tsobj=ascii2fts(filename,descrow,colheadrow,skiprows);tsobj=ascii2fts(filename,timedata,descrow,colheadrow,skiprows);【例5.1.6】查閱ftsdata中的ASCII文件disney.dat,它位于ftsdata子目錄下。typedisney.dat
disfts=ascii2fts('disney.dat')disfts=ascii2fts('disney.dat',1,3,2)
disfts.freq=1【例5.1.7】現(xiàn)有一個數(shù)據(jù)文件times.txt,該文件沒有對它所包含的數(shù)據(jù)做任何描述,文件內(nèi)容如下:
1/3/9512:0036.7536.906336.656336.875116791/4/9512:003737.281336.62537.156319947在MATLAB中輸入如下命令:times1=ascii2fts('times.txt',’t’)
日期運算
1)查找現(xiàn)在時刻:>>now2)查詢當天時間:>>today3)序數(shù)型日期轉(zhuǎn)換為字符串日期:>>datestr(732714)>>datestr(733064.7394612615,’yyyy,mm,dd,HH:MM.SS.FFFAM’)日期運算4)確定每月的第幾天:>>day1=day(’22-Jan-2007’)>>day2=day(733064)5)查詢星期:>>[N,s]=weekday(733064)>>weekday(’22-Jan-2007’)日期運算7)把字符串型日期轉(zhuǎn)換為序數(shù)型日期>>datenum(’03-aug-2000’)8)計算日期間隔>>dasact(’27-feb-2006’,’01-mar-2006’)日期運算—特定日期抽取函數(shù)(1)todaily函數(shù):從時間序列中抽取日數(shù)據(jù)。(2)toweekly函數(shù):從時間序列中抽取周末數(shù)據(jù)。(3)tomonthly函數(shù):從時間序列中抽取月末數(shù)據(jù)。(4)toquarterly函數(shù):從時間序列中抽取季度末數(shù)據(jù)。(5)tosemi函數(shù):從時間序列中抽取半年度末數(shù)據(jù)。(6)toannual函數(shù):從時間序列中抽取年度末數(shù)據(jù)。【例5.1.8】文本文件bldcts.txt中保存了保利地產(chǎn)從2010.316到2010.4.16日的交易數(shù)據(jù),利用該數(shù)據(jù)創(chuàng)建金融時間序列對象,并抽取周末數(shù)據(jù)
typebldcts.txt
baolidichan=ascii2fts('bldcts.txt',1,2)
weekbl=toweekly(baolidichan)
將時間序列數(shù)據(jù)保存為文本文件
調(diào)用方式stat=fts2ascii(filename,tsobj,exttext)stat=fts2ascii(filename,dates,data,colheads,desc,exttext)【例5.1.9】baolidichan=ascii2fts('bldcts.txt',1,2);a=fts2ascii('mytxt.txt',baolidichan,'price')將時間序列數(shù)據(jù)轉(zhuǎn)換為矩陣數(shù)據(jù)
調(diào)用方式tsmat=fts2mat(tsobj,datesflag)tsmat=fts2mat(tsobj,seriesnames)tsmat=fts2mat(tsobj,datesflag,seriesnames)例如baolidichan是fints型數(shù)據(jù),現(xiàn)轉(zhuǎn)化為矩陣,如果不輸入datesflag,則日期就不會出現(xiàn),代碼如下:>>a1=fts2mat(baolidichan);如果將datesflag設(shè)為1,則日期也被輸出,代碼如下:>>a2=fts2mat(baolidichan,1);也可以只轉(zhuǎn)化其中的某些變量:>>a3=fts2mat(baolidichan.Open,1);金融時間序列的使用
1)fieldnamesfnames=fieldnames(tsobj)fnames=fieldnames(tsobj,srsnameonly)>>na1=fieldnames(baolidichan)
>>na2=fieldnames(baolidichan,1)
2)chfieldnewfts=chfield(oldfts,oldn,newn)>>nb=chfield(baolidichan,'Open','oprice')
金融時間序列的使用3)fints型數(shù)據(jù)求最大值、最小值、均值、標準差和排序:命令分別是max、min、mean、std和sortfts。>>min(baolidichan)>>sortfts(baolidichan,'Open')4)實現(xiàn)時間序列的轉(zhuǎn)換newfts=convertto(oldfts,newfreq)
>>wbaolidichan=convertto(baolidichan,'w')金融時間序列的使用5)查找金融時間序列對象的開始日期和結(jié)束日期:ftsbound
>>myd=ftsbound(baolidichan)>>datestr(myd)%轉(zhuǎn)換成字符型日期6)刪除時間序列中的某些數(shù)據(jù)序列:rmfields=rmfield(s,'fieldname')s=rmfield(s,fields)>>nhigh=rmfield(baolidichan,'Open')>>nnc=rmfield(baolidichan,{'High','Low'})時間序列數(shù)據(jù)的提取可以直接抽?。?gt;>tem=baolidichan.Close利用extfield函數(shù)實現(xiàn)時間序列數(shù)據(jù)的抽取。調(diào)用方式ftse=extfield(tsobj,fieldnames)
>>tem2=extfield(baolidichan,'Close')金融時間序列的索引
>>baolidichan('18-Mar-2010')>>baolidichan.close('18-Mar-2010')>>baolidichan({'18-Mar-2010','30-Mar-2010'})>>baolidichan(2)處理時間序列中缺失的數(shù)據(jù)ewfts=fillts(oldfts,fill_method)oldfts%金融時間序列對象的原始數(shù)據(jù)fill_method%(Optional)處理缺失值的方法:'linear'或‘l’或‘le’%線形插值方法(默認值)'cubic'或‘c’或‘ce’%3次插值'spline'或‘s’或‘se’%樣條插值'nearest'或‘n’或‘ne’%最近插值法'pchip'或‘p’或‘pe’%逐段光滑的3次Hemite多項式法
處理時間序列中缺失的數(shù)據(jù)>>randn('seed',0);>>a=randn(6,1);>>b=[today:today+5]';>>fts=fints(b,a)>>fts(3)=NaN;>>fts(3)>>newdata=fillts(fts,'linear')金融時間序列對象的加、減、乘、除等運算
【例5.1.11】下載一個MAT-file,該文件包含了一些金融時間序列對象。在MATLAB中執(zhí)行如下命令:>>loaddji30short>>myfts1>>newfts=fints(myfts1.dates,fts2mat(myfts1)/100,{'Open','High','Low','Close'},1,'NewFTS')>>addup=myfts1+newfts>>newfts2=fints(myfts1.dates,fts2mat(myfts1/10000),...{'Rat1','Rat2','Rat3','Rat4'},1,'NewFTS');>>myfts1+fts2mat(newfts2)具有不同數(shù)據(jù)序列名稱的代數(shù)運算金融時間序列建模
建立具體的時間序列模型,需解決如下三個問題:(1)模型的具體形式(2)時間序列變量的滯后期(3)通過檢查隨機擾動項的結(jié)構(gòu)對模型進行檢驗常用的線性模型(均值模型)p階自回歸過程(AR(p)):Xt=1Xt-1+2Xt-2+…+pXt-p+t
q階滑動平均過程(MA(q)):Xt=t+1t-1+2t-2++qt-q(p,q)階自回歸滑動平均過程Xt=1Xt-1+2Xt-2+…+pXt-p+t1+
t-1+2t-2++qt-q自相關(guān)函數(shù)與偏自相關(guān)函數(shù)(1)autocorrautocorr(Series,nLags,M,nSTDs)[ACF,Lags,Bounds]=autocorr(Series,nLags,M,nSTDs)(2)parcorr
parcorr(Series,nLags,R,nSTDs)[PartialACF,Lags,Bounds]=parcorr(Series,nLags,R,nSTDs)利用MATLAB自帶數(shù)據(jù)進行演示>>loadgarchdata.mat>>a=price2ret(DEM2GBP);>>parcorr(a);%計算并畫出收益率序列的偏相關(guān)系數(shù)>>title('DEM2GBP的PACF')>>[PartialACF,Lags,Bounds]=parcorr(a,[],2);
>>autocorr(a);title('DEM2GBP的ACF')%計算并畫出收益率序列的自相關(guān)系數(shù)>>[ACF,Lags]=autocorr(a);時間序列的定階
ACF和PACFFPE
AIC和BIC也是判別時間序列模型優(yōu)劣的標準AIC=(-2×LIF)+2×參數(shù)個數(shù)BIC=(-2×LIF)+參數(shù)個數(shù)×log(樣本個數(shù))
帶外部變量的ARMA模型m=armax(data,orders)m=armax(data,'na',na,'nb',nb,'nc',nc,'nk',nk)例:用MA(5)時間序列模型對深發(fā)展2005年10月21日到2006年9月29日的日收益率進行估計,并計算其自相關(guān)系數(shù)。
【例5.2.1】下面我們利用MATLAB自帶數(shù)據(jù)進行演示,執(zhí)行如下代碼:>>loadgarchdata.mat>>a=price2ret(DEM2GBP);>>parcorr(a);>>title('DEM2GBP的PACF')>>[PartialACF,Lags,Bounds]=parcorr(a,[],2);>>[Lags,PartialACF]ARMA-GARCH模型garchset、garchfit、garchsim、garchinfer和garchpred。,,
garchset具有創(chuàng)建或修改GARCH模型結(jié)構(gòu)的功能
調(diào)用方式:Spec=garchset('Parameter1',Value1,'Parameter2',Value2,...)Spec=garchset(OldSpec,'Parameter1',Value1,...)Spec=garchsetgarchset【例5.2.3】建立一個GARCH(1,1)模型,然后將其修改成一個GARCH(1,2)模型,并且提取參數(shù)P,Q的值。在MATLAB中執(zhí)行如下命令:>>spec=garchset(‘P’,1,‘Q’,1)%建立一個GARCH(P=1,Q=1)模型>>spec=garchset(spec,'Q',2)%改變spec成一個GARCH(P=1,Q=2)模型創(chuàng)建AR(2)-GARCH(1,2)的模型>>spec=garchset('C',0,'AR',[0.5-0.8],'K',0.0002,'GARCH',0.8,'ARCH',[0.10.05],'distribution','T','DoF',5);>>garchplot(garchsim(spec))GARCH過程的參數(shù)估計
garchfit的調(diào)用方式:[Coeff,Errors,LLF,Innovations,Sigmas,Summary]=garchfit(Series)[Coeff,Errors,LLF,Innovations,Sigmas,Summary]=garchfit(Spec,Series)[Coeff,Errors,LLF,Innovations,Sigmas,Summary]=garchfit(Spec,Series,X)【例5.2.5】對自帶數(shù)據(jù)進行參數(shù)估計。>>loadgarchdata;>>rate=price2ret(NYSE);>>spec=garchset('M',1,'P',1,'Q',2,'display','off');>>spec=garchset(spec,'r',2);>>garchfit(spec,rate)
GARCH模型數(shù)據(jù)的模擬
調(diào)用方式:[Innovations,Sigmas,Series]=garchsim(Spec)[Innovations,Sigmas,Series]=garchsim(Spec,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年企業(yè)資金互助借貸合同樣本
- 2025年人力資源管理系統(tǒng)購銷合同樣本
- 2025年個人租賃轎車合同范本
- 標準版2025年太陽能光伏發(fā)電系統(tǒng)購銷合同示例
- 2025年儲能電站工程設(shè)計咨詢合同格式
- 2025年辦公資源整合策劃合同
- (買賣合同)糧食買賣合同8篇
- 2025年倉儲財產(chǎn)保險合同
- 2025年雙方行紀業(yè)務(wù)協(xié)議合同
- 獨立董事 勞動合同8篇
- 2025年內(nèi)蒙古呼和浩特市屬國企業(yè)紀檢監(jiān)察機構(gòu)招聘工作人員80人高頻重點模擬試卷提升(共500題附帶答案詳解)
- 社會工作行政(第三版)課件匯 時立榮 第6-11章 項目管理- 社會工作行政的挑戰(zhàn)、變革與數(shù)字化發(fā)展
- 全過程工程咨詢文件管理標準
- 模特攝影及肖像使用合同協(xié)議范本
- 2025年湘潭醫(yī)衛(wèi)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 《預(yù)制高強混凝土風電塔筒生產(chǎn)技術(shù)規(guī)程》文本附編制說明
- 2025福建福州地鐵集團限公司運營分公司校園招聘高頻重點提升(共500題)附帶答案詳解
- 兒童睡眠障礙治療
- 四川省建筑行業(yè)調(diào)研報告
- 北京市豐臺區(qū)2024-2025學(xué)年高三上學(xué)期期末英語試題
- 2025上海市嘉定工業(yè)區(qū)農(nóng)村青年干部招聘22人歷年高頻重點提升(共500題)附帶答案詳解
評論
0/150
提交評論