exponenta event banner

tsmovavg

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

tsmovavg не рекомендуется. Использовать timetable вместо этого. Дополнительные сведения см. в разделе Преобразование объектов финансового временного ряда в расписания.

Описание

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

пример

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

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 для акций Disney и посмотрите на еженедельные данные для этого временного ряда.

load disney.mat
weekly = toweekly(dis);
Warning: FINTS is not recommended. Use convert2weekly instead.
dates = (weekly.dates);
price = fts2mat(weekly.CLOSE);
Warning: FINTS is not recommended. 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>.

Задайте аргумент 'lag | input для размера окна для скользящего среднего .

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.

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

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 или 2. dim необязательный входной аргумент, и если он не включен в качестве входного, значение по умолчанию 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] Ахелис, Стивен Б. Технический анализ от A до Z. Second Edition. Макгроу-Хилл, 1995, стр. 184-192.

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