tsmovavg

Скользящее среднее значение

tsmovavg будет удален в будущем релизе. Используйте timetable вместо этого. Для получения дополнительной информации смотрите, Преобразуют Финансовые маневры Объектов Временных рядов в Расписания.

Описание

tsmovavg вычисляет простое, экспоненциальное, треугольное, взвешенное, и измененное скользящее среднее значение вектора или fints объект данных. Для получения информации о работе с финансовыми временными рядами (fints объекты) данные, смотрите Работу с Финансовыми Объектами Временных рядов.

пример

output = tsmovavg(tsobj,'s',lag) возвращает простое скользящее среднее значение для финансового объекта временных рядов, tsobjзадержка указывает на количество предыдущих точек данных, используемых с текущей точкой данных при вычислении скользящего среднего значения.

output = tsmovavg(vector,'s',lag,dim) возвращает простое скользящее среднее значение для вектора. lag указывает на количество предыдущих точек данных, используемых с текущей точкой данных при вычислении скользящего среднего значения.

пример

output = tsmovavg(tsobj,'e',timeperiod) возвращается экспоненциал взвесил скользящее среднее значение для финансового объекта временных рядов, tsobj. Экспоненциальное скользящее среднее является взвешенным скользящим средним значением, где timeperiod задает период времени. Экспоненциальные скользящие средние уменьшают задержку путем применения большего количества веса к недавним ценам. Например, экспоненциальное скользящее среднее с 10 периодами взвешивает новую цену на 18,18%. Exponential Percentage = 2/(TIMEPER + 1) or 2/(WINDOW_SIZE + 1).

output = tsmovavg(vector,'e',timeperiod,dim) возвращается экспоненциал взвесил скользящее среднее значение для вектора. Экспоненциальное скользящее среднее является взвешенным скользящим средним значением, где timeperiod задает период времени. Экспоненциальные скользящие средние уменьшают задержку путем применения большего количества веса к недавним ценам. Например, экспоненциальное скользящее среднее с 10 периодами взвешивает новую цену на 18,18%. (2/(timeperiod + 1)).

пример

output = tsmovavg(tsobj,'t',numperiod) возвращает треугольное скользящее среднее значение для финансового объекта временных рядов, tsobj. Треугольное скользящее среднее значение дважды - сглаживает данные. tsmovavg вычисляет первое простое скользящее среднее значение с шириной окна ceil(numperiod + 1)/2. Затем это вычисляет второе простое скользящее среднее значение на первое скользящее среднее значение с тем же размером окна.

output = tsmovavg(vector,'t',numperiod,dim) возвращает треугольное скользящее среднее значение для вектора. Треугольное скользящее среднее значение дважды - сглаживает данные. tsmovavg вычисляет первое простое скользящее среднее значение с шириной окна ceil(numperiod + 1)/2. Затем это вычисляет второе простое скользящее среднее значение на первое скользящее среднее значение с тем же размером окна.

пример

output = tsmovavg(tsobj,'w',weights) возвращает взвешенное скользящее среднее значение для финансового объекта временных рядов, tsobj, путем предоставления весов для каждого элемента в движущемся окне. Длина вектора веса определяет размер окна. Если большие весовые коэффициенты используются за более свежие цены и меньшие факторы за предыдущие цены, тренд является более быстро реагирующим к недавним изменениям.

output = tsmovavg(vector,'w',weights,dim) возвращает взвешенное скользящее среднее значение для вектора путем предоставления весов для каждого элемента в движущемся окне. Длина вектора веса определяет размер окна. Если большие весовые коэффициенты используются за более свежие цены и меньшие факторы за предыдущие цены, тренд является более быстро реагирующим к недавним изменениям.

пример

output = tsmovavg(tsobj,'m',numperiod) возвращает модифицированное скользящее среднее значение для финансового объекта временных рядов, tsobj. Модифицированное скользящее среднее значение похоже на простое скользящее среднее значение. Рассмотрите аргумент numperiod быть задержкой простого скользящего среднего значения. Первое модифицированное скользящее среднее значение вычисляется как простое скользящее среднее значение. Последующие значения вычисляются путем добавления новой цены и вычитания последнего среднего значения из получившейся суммы.

output = tsmovavg(vector,'m',numperiod,dim) возвращает модифицированное скользящее среднее значение для вектора. Модифицированное скользящее среднее значение похоже на простое скользящее среднее значение. Рассмотрите аргумент numperiod быть задержкой простого скользящего среднего значения. Первое модифицированное скользящее среднее значение вычисляется как простое скользящее среднее значение. Последующие значения вычисляются путем добавления новой цены и вычитания последнего среднего значения из получившейся суммы.

Примеры

свернуть все

Загрузите финансовый объект временных рядов, dis для акций Диснея и взгляда на еженедельные данные для этих временных рядов.

load disney.mat
weekly = toweekly(dis);
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. For more information, see <a href="matlab:web(fullfile(docroot, 'finance/convert-from-fints-to-timetables.html'))">Convert Financial Time Series Objects (fints) to Timetables</a>.
dates = (weekly.dates);
price = fts2mat(weekly.CLOSE);
Warning: FINTS will be removed in a future release. Use TIMETABLE instead. For more information, see <a href="matlab:web(fullfile(docroot, 'finance/convert-from-fints-to-timetables.html'))">Convert Financial Time Series Objects (fints) to Timetables</a>.

Установите the|lag | входной параметр для размера окна для скользящего среднего значения.

window_size = 12;

Вычислите простое скользящее среднее значение.

simple = tsmovavg(price,'s',window_size,1);
Warning: TSMOVAVG will be removed in a future release. Use MOVAVG instead.

Вычислите экспоненциал взвесил скользящее среднее значение скользящего среднего значения.

exp = tsmovavg(price,'e',window_size,1);
Warning: TSMOVAVG will be removed in a future release. Use MOVAVG instead.

Вычислите треугольное скользящее среднее значение скользящего среднего значения.

tri = tsmovavg(price,'t',window_size,1);
Warning: TSMOVAVG will be removed in a future release. Use MOVAVG instead.

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

semi_gaussian = [0.026 0.045 0.071 0.1 0.12 0.138];
semi_gaussian = [semi_gaussian fliplr(semi_gaussian)];
weighted = tsmovavg(price,'w',semi_gaussian,1);
Warning: TSMOVAVG will be removed in a future release. Use MOVAVG instead.

Вычислите модифицированное скользящее среднее значение скользящего среднего значения.

modif = tsmovavg(price,'m',window_size,1);
Warning: TSMOVAVG will be removed in a future release. Use MOVAVG instead.

Постройте результаты для пяти вычислений скользящего среднего значения для акций Диснея.

plot(dates,price,...
    dates,simple,...
    dates,exp,...
    dates,tri,...
    dates,weighted,...
    dates,modif)
datetick
legend('Stock Price','Simple','Exponential','Triangular','Weighted',...
    'Modified','Location','NorthWest')
title('Disney Weekly Price & Moving Averages')

Входные параметры

свернуть все

Финансовый объект временных рядов задал использование объекта временных рядов, созданного с помощью fints.

lag параметр, указывающий на количество предыдущих точек данных, которые будут использоваться в сочетании с текущей точкой данных при вычислении простого скользящего среднего значения.

Количество предыдущих точек данных, заданных как неотрицательное целое число. Lag указывает на размер окна или количество периодов скользящего среднего значения.

Набор наблюдений, заданных как вектор или матрица.

Размерность, которая задает направление расчета, заданная как положительное целое число со значением 1 или 2dim дополнительный входной параметр, и если он не включен как вход, значение по умолчанию 2 принят. Значение по умолчанию dim= 2 указывает на ориентированную на строку матрицу, где каждая строка является переменной, и каждый столбец является наблюдением.

Если dim= 1 , вход принят, чтобы быть вектор-столбцом или ориентированной на столбец матрицей, где каждый столбец является переменной и каждой строкой наблюдение.

Экспоненциальное скользящее среднее является взвешенным скользящим средним значением, где timeperiod период времени экспоненциального скользящего среднего. Экспоненциальные скользящие средние уменьшают задержку путем применения большего количества веса к недавним ценам. Например, 10 экспоненциальных скользящих средних периода взвешивают новую цену на 18,18%.

Exponential Percentage = 2/(TIMEPER + 1) or 2/(WINDOW_SIZE + 1)

Период отрезка времени, заданный как неотрицательное целое число.

Треугольное скользящее среднее значение является двойным сглаживанием данных. Первое простое скользящее среднее значение вычисляется с шириной окна ceil(numperiod + 1)/2. Затем второе простое скользящее среднее значение вычисляется на первое скользящее среднее значение с тем же размером окна.

Модифицированное скользящее среднее значение похоже на простое скользящее среднее значение. Рассмотрите аргумент numperiod быть lag из простого скользящего среднего значения. Первое модифицированное скользящее среднее значение вычисляется как простое скользящее среднее значение. Последующие значения вычисляются путем добавления новой цены и вычитания последнего среднего значения из получившейся суммы.

Количество периодов, рассмотренных заданными как неотрицательное целое число.

Взвешенное скользящее среднее значение вычисляется с вектором веса, weights. Длина вектора веса определяет размер окна. Если большие весовые коэффициенты используются за более свежие цены и меньшие факторы за предыдущие цены, тренд является более быстро реагирующим к недавним изменениям.

Веса для каждого элемента в окне, заданном как вектор весов.

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

свернуть все

Вычисление скользящего среднего значения, возвращенное как вектор или матрица. output возвращенный в tsmovavg идентично в формате входу.

Ссылки

[1] Achelis, Технический анализ Стивена Б. от А до Я. Второй Выпуск. McGraw-Hill, 1995, стр 184–192.

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