数据转换与频率转换“,
数据转换和频率转换函数将数据序列转换为不同的格式。
数据转换功能
变频功能
函数 |
新频率 |
---|---|
指定 |
|
指定 |
|
年度 |
|
每天 |
|
每月 |
|
季度 |
|
每半年 |
|
每周 |
作为一个例子来看boxcox
为Box-Cox变换函数。该函数将金融时间序列对象中包含的数据序列转换为另一组具有相对正态分布的数据序列。
首先从提供的对象中创建一个财务时间序列对象whirlpool.dat
数据文件。
WHRL = ascii2fts(“whirlpool.dat”, 1, 2, [])
警告:FINTS将在未来的版本中删除。用“时间表”代替。> In ascii2fts(第64行)警告:FINTS将在未来的版本中被删除。用“时间表”代替。>在fints/display(第66行)whrl = desc: Whirlpool (WHR) freq: Unknown (0)“日期:(1108)”的开放:(1108)高:(1108)的低:(1108)的近:(1108)的体积:(1108)“03 - 1月- 1995 '[50.25][50.88][50.13][50.38][159000.00]“04 - 1月- 1995 '[50.00][50.13][49.63][49.75][365800.00]“05 - 1月- 1995 '[50.00][50.00][49.25][49.88][410500.00]“06 - 1月- 1995 '[50.00][50.25][49.88][50.25][192900.00]“09 - 1月- 1995 '(49.88)(50.38)(49.63)(50.38)(180800.00)的10 - 1月- 1995 '[51.25][51.25][50.25][50.25][157800.00]“11 - 1月- 1995 '[50.38][50.63][49.75][49.75][266000.00]“12 - 1月- 1995 (49.88)(50.13)(49.25)(49.88)(70000.00] '13-Jan-1995' [ 50.00] [ 50.25] [ 49.75] [ 50.13] [ 128000.00] '16-Jan-1995' [ 50.25] [ 50.38] [ 50.00] [ 50.00] [ 228200.00] ...
填充所表示的任何缺失值南
年代whrl
用线性方法计算值:
F_whrl = fillts(whrl)
警告:FINTS将在未来的版本中删除。用“时间表”代替。>在fints/fillts(第213行)警告:fints将在未来的版本中删除。用“时间表”代替。>在fints/display(第66行)f_whrl = desc:填充漩涡(WHR)频率:未知(0)“日期:(1108)”的开放:(1108)高:(1108)的低:(1108)的近:(1108)的体积:(1108)“03 - 1月- 1995 '[50.25][50.88][50.13][50.38][159000.00]“04 - 1月- 1995 '[50.00][50.13][49.63][49.75][365800.00]“05 - 1月- 1995 '[50.00][50.00][49.25][49.88][410500.00]“06 - 1月- 1995 '[50.00][50.25][49.88][50.25][192900.00]“09 - 1月- 1995 '(49.88)(50.38)(49.63)(50.38)(180800.00)的10 - 1月- 1995 '[51.25][51.25][50.25][50.25][157800.00]“11 - 1月- 1995 '[50.38][50.63][49.75][49.75][266000.00]“12 - 1月- 1995 (49.88)(50.13)(49.25)(49.88)(70000.00] '13-Jan-1995' [ 50.00] [ 50.25] [ 49.75] [ 50.13] [ 128000.00] '16-Jan-1995' [ 50.25] [ 50.38] [ 50.00] [ 50.00] [ 228200.00] '17-Jan-1995' [ 51.00] [ 51.00] [ 50.00] [ 50.63] [ 196200.00] '18-Jan-1995' [ 50.50] [ 51.00] [ 50.13] [ 50.13] [ 369700.00] '19-Jan-1995' [ 50.25] [ 50.50] [ 50.00] [ 50.50] [ 254300.00] '20-Jan-1995' [ 50.50] [ 51.25] [ 50.50] [ 50.50] [ 183400.00] ...
转换非正态分布填充数据序列f_whrl
通过Box-Cox变换得到正态分布:
Bc_whrl = boxcox(f_whrl)
警告:FINTS将在未来的版本中删除。用“时间表”代替。>在fints/boxcox(第36行)警告:fints将在未来的版本中删除。用“时间表”代替。>在fints/display(第66行)bc_whrl = desc: Box-Cox:填充惠而浦(WHR)频率:未知(0)“日期:(1108)”的开放:(1108)高:(1108)的低:(1108)的近:(1108)的体积:(1108)“03 - 1月- 1995 '[0.56][0.51][0.60][0.60][9.15]“04 - 1月- 1995 '[0.56][0.51][0.60][0.60][9.62]“05 - 1月- 1995 '[0.56][0.51][0.60][0.60][9.68]“06 - 1月- 1995 '[0.56][0.51][0.60][0.60][9.26]“09 - 1月- 1995 '(0.56)(0.51)(0.60)(0.60)(9.23)的10 - 1月- 1995 '[0.56][0.51][0.60][0.60][9.15]“11 - 1月- 1995 '[0.56][0.51][0.60][0.60][9.44]“12 - 1月- 1995 '(0.56)(0.51)(0.60)(0.60)(8.68)的13 - 1月- 1995”(0.56)(0.51)(0.60)(0.60)(9.03)“16 - 1月- 1995”(0.56)(0.51)(0.60)(0.60)(9.36)的17 - 1月- 1995(0.56)(0.51)(0.60)(0.60)(9.27)的18 - 1月- 1995(0.56)(0.51)(0.60)(0.60)(9.62)的19 - 1月- 1995(0.56)(0.51)(0.60)(0.60)(9.42)…
比较的结果关闭
具有正态(高斯)概率分布函数和非正态分布函数的数据序列f_whrl
:
Subplot (2,1,1);嘘(f_whrl.Close);网格;标题(“非正态分布数据”);Subplot (2,1,2);嘘(bc_whrl.Close);网格;标题(“Box-Cox转换数据”);
警告:FINTS将在未来的版本中删除。用“时间表”代替。>在fints/subsref(第106行)警告:fints将在未来的版本中删除。用“时间表”代替。>在fints/hist(第37行)警告:fints将在未来的版本中删除。用“时间表”代替。>在fints/subsref(第106行)警告:fints将在未来的版本中删除。用“时间表”代替。> In fints/hist(第37行)
Box-Cox转换
顶部的柱状图表示填充数据序列的概率分布函数,f_whrl
,即原始数据序列whrl
用线性方法对缺失值进行插值。分布向左倾斜(非正态分布)。底部的柱状图向左倾斜的程度较小。如果绘制具有相似均值和标准差的高斯概率分布函数(PDF),则转换后数据的分布非常接近正态分布(高斯分布)。
检查结果对象的内容时bc_whrl
,你会发现一个与原始物体相同的物体whrl
但内容是转换后的数据序列。如果您有Statistics and Machine Learning Toolbox™软件,您可以生成一个均值和标准偏差等于转换后的数据系列的高斯PDF,并将其绘制为第二个柱状图的覆盖。在下一个图中,你可以看到它是一个近似正态分布。
高斯PDF叠加
下一个示例使用smoothts
平滑时间序列的函数。
首先,变换ibm9599.dat
,一个提供的数据文件,转换为一个金融时间序列对象:
IBM = ascii2fts(“ibm9599.dat”, 1, 3, 2)
警告:FINTS将在未来的版本中删除。用“时间表”代替。> In ascii2fts(第64行)警告:FINTS将在未来的版本中被删除。用“时间表”代替。>在fints/display(第66行)ibm = desc:国际商业机器公司(ibm)频率:未知(0)“日期:(1108)”的开放:(1108)高:(1108)的低:(1108)的近:(1108)的体积:(1108)“03 - 1月- 1995 '[36.75][36.91][36.66][36.88][1167900.00]“04 - 1月- 1995 '[37.00][37.28][36.63][37.16][1994700.00]“05 - 1月- 1995 '[37.13][37.63][36.88][37.00][2270900.00]“06 - 1月- 1995 '[37.25][37.88][37.03][37.53][3040500.00]“09 - 1月- 1995 '(37.50)(37.91)(37.41)(37.75)(1713000.00)的10 - 1月- 1995 '[38.00][38.63][37.78][38.28][3420800.00]“11 - 1月- 1995 '[38.53][38.53][37.63][38.00][2450300.00]“12 - 1月- 1995 (37.91)(38.16)(37.75)(38.00][2275900.00]的13 - 1月- 1995(38.25)(38.41)(37.88)(38.16)(2030300.00)的16 - 1月- 1995(38.16)(39.00)(38.16)(38.75)(2716000.00)的17 - 1月- 1995(38.63)(39.00)(38.53)(38.75)(1596300.00)的18 - 1月- 1995(38.88)(38.91)(38.28)(38.63)(1842600.00)的19 - 1月- 1995(38.53)(38.78)(38.16)(38.25)(1713900.00)…
方法插值的数据填充假日的缺失数据fillts
功能和样条
填写方法:
F_ibm = fillts(ibm,样条的)
警告:FINTS将在未来的版本中删除。用“时间表”代替。>在fints/fillts(第213行)警告:fints将在未来的版本中删除。用“时间表”代替。> In fints/display(第66行)f_ibm = desc:填充国际商业机器公司(IBM) freq:未知(0)“日期:(1108)”的开放:(1108)高:(1108)的低:(1108)的近:(1108)的体积:(1108)“03 - 1月- 1995 '[36.75][36.91][36.66][36.88][1167900.00]“04 - 1月- 1995 '[37.00][37.28][36.63][37.16][1994700.00]“05 - 1月- 1995 '[37.13][37.63][36.88][37.00][2270900.00]“06 - 1月- 1995 '[37.25][37.88][37.03][37.53][3040500.00]“09 - 1月- 1995 '(37.50)(37.91)(37.41)(37.75)(1713000.00)的10 - 1月- 1995 '[38.00][38.63][37.78][38.28][3420800.00]“11 - 1月- 1995 '[38.53][38.53][37.63][38.00][2450300.00]“12 - 1月- 1995 (37.91)(38.16)(37.75)([38.00][2275900.00][38.25][38.41][38.88][38.00][38.75][2716000.00][1995年1月17日][38.63][39.00][38.53][38.91][38.28][38.63][1842600.00][1995年1月19日][38.53][38.78][38.16][38.25][1713900.00][33 .66][3333400.00]…
使用默认的Box(矩形窗口)方法平滑填充的数据系列:
Sm_ibm = smoothts(f_ibm)
警告:FINTS将在未来的版本中删除。用“时间表”代替。>在fints/smoothts(第44行)警告:fints将在未来的版本中删除。用“时间表”代替。> In fints/display(第66行)sm_ibm = desc: Box-smoothed of Filled国际商业机器公司(IBM)频率:未知(0)“日期:(1108)”的开放:(1108)高:(1108)的低:(1108)的近:(1108)的体积:(1108)“03 - 1月- 1995 '[22.18][22.36][22.03][22.21][1086700.00]“04 - 1月- 1995 '[29.63][29.94][29.44][29.71][1694800.00]“05 - 1月- 1995 '[37.13][37.52][36.92][37.26][2037400.00]“06 - 1月- 1995 '[37.38][37.86][37.14][37.54][2487980.00]“09 - 1月- 1995 '(37.68)(38.11)(37.34)(37.71)(2579100.00)的10 - 1月- 1995 '[37.84][38.22][37.52][37.91][2580100.00]“11 - 1月- 1995 '[38.04][38.33][37.69][38.04][2378060.00]“12 - 1月- 1995 (38.17)(38.54)(37.84)(38.24][2578660.00]的13 - 1月- 1995(38.29)(38.62)(37.99)(38.33)(2213760.00)的16 - 1月- 1995(38.36)(38.69)(38.12)(38.46)(2092220.00)的17 - 1月- 1995(38.49)(38.82)(38.20)(38.51)(1979820.00)…
现在,绘制IBM原始和平滑的收盘价系列®股票:
情节(f_ibm。关闭(“11/01/97::02/28/98”),“r”) datetick (“x”,“mmmyy”)举行在情节(sm_ibm。关闭(“11/01/97::02/28/98”),“b”)举行从datetick (“x”,“mmmyy”)传说(“填充”,“平滑”)标题(“填充IBM收盘价与平滑序列”)
警告:FINTS将在未来的版本中删除。用“时间表”代替。>在fints/subsref(第106行)警告:fints将在未来的版本中删除。用“时间表”代替。>在fints/plot(第63行)警告:fints将在未来的版本中删除。用“时间表”代替。>在fints/subsref(第106行)警告:fints将在未来的版本中删除。用“时间表”代替。> In fints/plot(第63行)
平滑数据系列
这些示例让您了解可以使用财务时间序列对象做什么。这个工具箱提供了一些MATLAB®已重载以直接处理这些对象的函数。重载函数是处理时间序列数据最常用的函数。
另请参阅
弗林特
|ascii2fts
|fts2mat
|datestr
|ftsbound
|boxcox
|diff
|fillts
|过滤器
|lagts
|leadts
|peravg
|smoothts
|tsmovavg
|convertto
|resamplets
|toannual
|今天
|tomonthly
|toquarterly
|tosemi
|toweekly