Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

movavg

金融时间序列的移动平均线

movavg 已更新为接受矩阵、tabletimetable 形式的数据输入。

已更改了 movavg 的语法。不再支持输入参数 LeadLag,只支持单个 windowSize,并且只有一个输出参数 (ma)。如果您要计算超前和滞后移动平均线,您需要运行两次 movavg 并调整 windowSize

说明

示例

ma = movavg(Data,type,windowSize) 计算金融时间序列的移动平均线 (MA)。

示例

ma = movavg(___,Initialpoints)Initialpoints 添加一个可选参数。

示例

ma = movavg(Data,type,weights) 使用 'custom' typeweights 计算金融时间序列的移动平均线 (MA)。

示例

ma = movavg(___,Initialpoints)Initialpoints 添加一个可选参数。

示例

全部折叠

加载 SimulatedStock.mat,该文件为金融数据提供时间表 (TMW)。

load SimulatedStock.mat
type = 'linear';
windowSize = 14;
ma = movavg(TMW_CLOSE,type,windowSize)
ma = 1000×1

  100.2500
  100.3433
  100.8700
  100.4916
   99.9937
   99.3603
   98.8769
   98.6364
   98.4348
   97.8491
      ⋮

加载 SimulatedStock.mat,该文件为金融数据提供时间表 (TMW)。

load SimulatedStock.mat 
type = 'linear';
malag=movavg(TMW_CLOSE,type,20) % Lagging moving average
malag = 1000×1

  100.2500
  100.3423
  100.8574
  100.4943
  100.0198
   99.4230
   98.9728
   98.7509
   98.5688
   98.0554
      ⋮

malead=movavg(TMW_CLOSE,type,3) % Leading moving average
malead = 1000×1

  100.2500
  100.3580
  101.0900
  100.4300
   99.3183
   97.8217
   97.0833
   97.1950
   97.4133
   96.1133
      ⋮

绘制超前和滞后移动平均线。

plot(TMW_CLOSE(1:100))
hold on
plot(malead(1:100))
plot(malag(1:100))
hold off
legend('Actual','Lead','Lag')

Figure contains an axes. The axes contains 3 objects of type line. These objects represent Actual, Lead, Lag.

输入参数

全部折叠

金融序列的数据,指定为列向矩阵、表或时间表。时间表和表只能包含数值类型的变量。

数据类型: double | table | timetable

要计算的移动平均线的类型,指定为具有关联值的字符向量或字符串。

数据类型: char | string

要包含在移动平均线中的输入序列的观测值数量,指定为正整数标量。观测值包括当前数据点及其之前的 (windowSize - 1) 个数据点。

注意

windowSize 参数仅适用于 type'simple''square-root''linear''square''exponential''triangular''modified' 的移动平均线。

数据类型: double

用于计算移动平均线的自定义权重,指定为向量。

注意

权重的长度 (N) 确定移动平均线窗的大小 (windowSize)。weights 参数仅适用于 'custom'type 的移动平均线。

为了计算具有自定义权重的移动平均线,请先对权重 (w) 进行归一化,使其总和为 1:

W(i) = w(i)/sum(w), for i = 1,2,...,N

然后使用归一化权重 (W) 形成输入数据 (x) 的 N 点加权移动平均线 (y):

y(t) = W(1)*x(t) + W(2)*x(t-1) + ... + W(N)*x(t-N)

然后根据名称-值对组参数 Initialpoints 中指定的方法调整窗大小内的初始移动平均线。

数据类型: double

(可选)指示如何计算初始点处(在有足够的数据填充窗之前)的移动平均线,指定为使用下列值之一的字符向量或字符串:

  • 'shrink' - 初始化移动平均线,使得初始点仅包括观测到的数据

  • 'zero' - 使用 0 初始化初始点

  • 'fill' - 使用 NaN 填充初始点

注意

Initialpoints 参数适用于除 'exponential''modified' 选项之外的所有 type 设定。

数据类型: char | string

输出参数

全部折叠

移动平均线序列,返回与输入 Data 相同的行数 (M) 和相同的类型(矩阵、表或时间表)。

参考

[1] Achelis, S. B. Technical Analysis from A to Z. Second Edition. McGraw-Hill, 1995, pp. 184–192.

在 R2006a 之前推出