主要内容

数据转换与频率转换“,

数据转换和频率转换函数将数据序列转换为不同的格式。

数据转换功能

函数

目的

boxcox

Box-Cox转换

diff

差分

fillts

填补缺失值

过滤器

过滤器

lagts

滞后时间序列对象

leadts

前置时间序列对象

peravg

周期平均

smoothts

平滑的数据

tsmovavg

移动平均线

变频功能

函数

新频率

convertto

指定

resamplets

指定

toannual

年度

今天

每天

tomonthly

每月

toquarterly

季度

tosemi

每半年

toweekly

每周

作为一个例子来看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转换

图Box-Cox转换数据

顶部的柱状图表示填充数据序列的概率分布函数,f_whrl,即原始数据序列whrl用线性方法对缺失值进行插值。分布向左倾斜(非正态分布)。底部的柱状图向左倾斜的程度较小。如果绘制具有相似均值和标准差的高斯概率分布函数(PDF),则转换后数据的分布非常接近正态分布(高斯分布)。

检查结果对象的内容时bc_whrl,你会发现一个与原始物体相同的物体whrl但内容是转换后的数据序列。如果您有Statistics and Machine Learning Toolbox™软件,您可以生成一个均值和标准偏差等于转换后的数据系列的高斯PDF,并将其绘制为第二个柱状图的覆盖。在下一个图中,你可以看到它是一个近似正态分布。

高斯PDF叠加

Box-Cox和高斯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®已重载以直接处理这些对象的函数。重载函数是处理时间序列数据最常用的函数。

另请参阅

|||||||||||||||||||||

相关的话题