主要内容

从时间表数据中删除线性趋势

这个例子展示了如何在时间表中移除每日收盘股票价格的线性趋势,以强调总体上涨的价格波动。如果数据确实有趋势,去趋势化会迫使其平均值为零,从而减少总体变化。的分布来模拟股票价格波动画廊函数。

创建一个包含股票每日价格的模拟时间表。

T = 0:300;D = days(t);dailyFluct = randn(size(t));价格=累计(每日波动)+ 20 + t/100;tt =时间表(D',价格',VariableNames=“上涨空间”);

求股票的日平均价格。

意思是(tt.StockPrice)
Ans = 28.2260

绘制并标注数据。注意股票价格的系统性上涨。

情节(tt,“时间”“上涨空间”);传奇(“原始数据”“位置”“西北”);包含(“时间(天)”);ylabel (“股价(美元)”);

图包含一个轴对象。具有xlabel Time(天),ylabel Stock Price(美元)的axes对象包含类型为line的对象。该对象表示原始数据。

应用去趋势,它对股票价格执行线性拟合,去除趋势,并将非趋势数据附加到输入时间表。

tt = dettrend (tt, replacevalvalues =false);

通过从输入数据中减去非趋势数据来计算趋势线。

趋势= tt。股票价格- tt_stockprice_detrended;tt = addvars(tt,trend,NewVariableNames=“趋势”
tt =301×3的时间表时间上涨空间StockPrice_detrended趋势  _______ __________ ____________________ ______ 0天20.538 -14.588 35.126 22.382 -12.698 35.08 1天2天3天20.133 -14.901 35.034 21.005 -13.983 34.988 4天6天5天21.334 -13.608 34.942 20.036 -14.86 34.896 19.612 -15.238 34.85 19.965 -14.839 34.804 23.553 -11.204 34.758 8天7天9天10天26.333 -8.3791 34.712 24.993 -9.6729 34.666 28.773 -5.8006 34.574 28.038 -6.582 34.62 12天11天13天28.72 -5.8077 34.528 14天29.445 -5.0369 34.482 15 days 29.25 -5.1859 34.436 ⋮

求去趋势数据的平均值。

意思是(tt.Trend)
Ans = 28.2260

正如预期的那样,去趋势数据的平均值非常接近于0。

通过将趋势线、非趋势数据及其平均值添加到图形中来显示结果。

情节(tt,“上涨空间”)举行情节(tt,“趋势”)情节(tt,“StockPrice_detrended”) plot(t . time, 0 (size(t)))“原始数据”“趋势”“去趋势数据”“非趋势数据的平均值”“位置”“西北”)包含(“时间(天)”);ylabel (“股价(美元)”);

图包含一个轴对象。具有xlabel Time(天),ylabel Stock Price(美元)的axes对象包含4个line类型的对象。这些对象表示原始数据、趋势、去趋势数据、去趋势数据的平均值。

另请参阅

实时编辑器任务

功能