movavg

Скользящее среднее значение финансовых временных рядов

movavg обновляется, чтобы принять входные данные как матрицу, table, или timetable.

Синтаксис для movavg изменился. Поддержка входных параметров больше не поддерживается Lead и Lag, только один windowSize поддерживается, и существует только один выходной аргумент (ma). Если вы хотите вычислить начальные и отстающие скользящие средние значения, вам нужно запустить movavg дважды и отрегулируйте windowSize.

Описание

пример

ma = movavg(Data,type,windowSize) вычисляет скользящее среднее значение ( MA) финансовых временных рядов.

пример

ma = movavg(___,Initialpoints) добавляет необязательный аргумент для Initialpoints.

пример

ma = movavg(Data,type,weights) вычисляет скользящее среднее значение ( MA) финансовых временных рядов с помощью 'custom' type и weights.

пример

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) предыдущие точки данных и текущая точка данных.

Примечание

The windowSize аргумент применяется только к скользящим средним значениям, чьи type является 'simple', 'square-root', 'linear', 'square', 'exponential', 'triangular', или 'modified'.

Типы данных: double

Пользовательские веса для вычисления скользящего среднего значения, заданные как вектор.

Примечание

Длина весов (N) определяет размер окна скользящего среднего (windowSize). The weights аргумент применяется только к 'custom' type скользящего среднего значения.

Чтобы вычислить скользящее среднее значение с пользовательскими весами, веса (w) сначала нормируются так, что суммируются до единицы:

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

Нормированные веса (W) затем используются, чтобы сформировать N взвешенное скользящее среднее значение (y) входных данных (x):

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

Начальные значения скользящего среднего значения в пределах размера окна затем корректируются в соответствии с методом, заданным в аргументе пары "имя-значение" Initialpoints.

Типы данных: double

(Необязательно) Указывает, как скользящее среднее значение вычисляется в начальных точках (прежде чем будет достаточно данных для заполнения окна), задается в виде символьного вектора или строки с использованием одного из следующих значений:

  • 'shrink' - Инициализирует скользящее среднее значение таким образом, чтобы начальные точки включали только наблюдаемые данные

  • 'zero' - Инициализирует начальные точки с 0

  • 'fill' - Заполняет начальные точки NaNs

Примечание

The Initialpoints аргумент применяется ко всем type спецификации кроме 'exponential' и 'modified' опции.

Типы данных: char | string

Выходные аргументы

свернуть все

Серия скользящего среднего, возвращенная с одинаковым числом строк (M) и того же типа (матрица, таблица или расписание), что и вход Data.

Ссылки

[1] Achelis, S.B. Технический анализ от A до Z. Second Edition. McGraw-Hill, 1995, pp. 184-192.

Представлено до R2006a