Обсуждение статьи "Критерий однородности Смирнова как индикатор нестационарности временного ряда"

 

Опубликована статья Критерий однородности Смирнова как индикатор нестационарности временного ряда:

В статье рассматривается один из самых известных непараметрических критериев однородности — критерий Смирнова. Анализируются как модельные данные, так и реальные котировки. Приводится пример построения индикатора нестационарности (iSmirnovDistance).

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

Для трейдеров вопрос стационарности тесно связан с выбором объема данных для расчета различных индикаторов. В случае стационарных процессов, чем больше данных доступно, тем точнее можно рассчитать все статистические характеристики. Однако при анализе нестационарных процессов сложно определить оптимальный объем данных. Слишком большой объем может содержать устаревшую информацию, которая уже не влияет на текущую ситуацию, в том случае если данных взять слишком мало, то из-за недостаточной репрезентативности мы не сможем адекватно оценить статистические свойства процесса.

Самой полной характеристикой случайного процесса является его закон распределения (функция вероятности). Поэтому построение индикатора, который бы позволял отслеживать изменение функции распределения временного ряда во времени является важной задачей. Этот индикатор в свою очередь будет служить сигналом о необходимости пересмотра объема данных для расчета стандартных индикаторов технического анализа. В математической статистике задача проверки "не изменилась ли со временем функция распределения некоторой случайной величины?" носит название проверки гипотезы однородности.

Автор: Евгений Черныш

 
Перейдем к анализу реальных данных. В качестве примера я взял минутные бары валютной пары EURUSD и золота XAUUSD.

Совсем не понял, что сравнивалось. Видимо, надо исходник изучать.

ЗЫ Посмотрел исходник. Похоже, надо запускать (не пробовал) на D1, при этом берется не 1440 баров, а меньше (PERIOD_M5 вместо PERIOD_M1). Ну и "шарики" - Close-приращения

 
Стоит сказать, что есть разница на каком таймфрейме рассчитывается расстояние Смирнова. Для минутных данных как мы видели, наблюдается существенная нестационарность ряда, в то же время для пятиминутного таймфрейма ряд более стационарен, гипотеза однородности отвергается гораздо реже. Отчасти это связано с объемом данных, 1440 для минутного таймфрейма против 287 для пятиминутного. С постепенным увеличением данных с 287 до 1440 показатель отклонение нулевой гипотезы растет, тем не менее гипотеза однородности чаще отвергается именно для минутного графика. 

Уверен, если будете сравнивать не дни, а недели (1435 M5-приращений), то M5 будет все равно "стационарнее" M1. Дело не в количестве данных, а в природе построения приращений.

Вы можете взять разные законы построения приращений: TF-приращения, ZZ-приращения и т.д.

Т.е. результат тестов на стационарность зависит от подготовки исходных данных. Зачем брать TF-приращения - загадка. Мелкие таймфреймы на сутках - это фарш из мух и котлет. Там же и ролловеры и низкая ликвидность и новости. Сравнивайте тогда куски суток. Например, EURUSD с 02:00 до 08:00.


В конце концов, никто же не заставляет торговать или обучаться на круглосуточной основе.

 
fxsaber #:

Совсем не понял, что сравнивалось. Видимо, надо исходник изучать.

ЗЫ Посмотрел исходник. Похоже, надо запускать (не пробовал) на D1, при этом берется не 1440 баров, а меньше (PERIOD_M5 вместо PERIOD_M1). Ну и "шарики" - Close-приращения

Индикатор запускайте на дневном таймфрейме, анализируется временной ряд логарифмических приращений цен  PERIOD_M5. Можно и минутки, но эти данные слишком нестационарны.

Мы каждый день анализируем насколько сильно меняется закон распределения доходностей временного ряда, для этого используется статистика — критерий однородности Смирнова. Сама эта статистика в свою очередь основана на сравнении двух выборочных функций распределения. В качестве отличия этих двух функций берется максимум модуля разности.

 
Евгений Черныш #:

Индикатор запускайте на дневном таймфрейме, анализируется временной ряд логарифмических приращений цен  PERIOD_M5. Можно и минутки, но эти данные слишком нестационарны.

Мы каждый день анализируем насколько сильно меняется закон распределения доходностей временного ряда, для этого используется статистика — критерий однородности Смирнова. Сама эта статистика в свою очередь основана на сравнении двух выборочных функций распределения. В качестве отличия этих двух функций берется максимум модуля разности.

Читал статью сверху-вниз. Дошел до этой фразы.

Перейдем к анализу реальных данных. В качестве примера я взял минутные бары валютной пары EURUSD и золота XAUUSD.

Дальше графики без пояснений. Будто забыли написать небольшой абзац.

 
fxsaber #:

Уверен, если будете сравнивать не дни, а недели (1435 M5-приращений), то M5 будет все равно "стационарнее" M1. Дело не в количестве данных, а в природе построения приращений.

Вы можете взять разные законы построения приращений: TF-приращения, ZZ-приращения и т.д.

Т.е. результат тестов на стационарность зависит от подготовки исходных данных. Зачем брать TF-приращения - загадка. Мелкие таймфреймы на сутках - это фарш из мух и котлет. Там же и ролловеры и низкая ликвидность и новости. Сравнивайте тогда куски суток. Например, EURUSD с 02:00 до 08:00.

Так и есть,  M5 стационарнее М1, по крайней мере критерий Смирнова на это указывает.

Минутный в крайнем случае 5-минутный таймфрем берется для того, что бы получить какое-то адекватное запаздывание. Если анализировать например 1440 5 минуток, то мы результат по критерию Смирнова будем получать раз в две недели. Нужно не увеличивать таймфрейм, а наоборот наверное к тикам спускаться на этаж ниже, что бы быстрее реагировать на меняющийся условия.  К сожалению, у меня не было базы тиков для анализа, поэтому анализировал минутки.

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

P.S. что такое ZZ-приращения ?

 
fxsaber #:

Читал статью сверху-вниз. Дошел до этой фразы.

Дальше графики без пояснений. Будто забыли написать небольшой абзац.

Там ниже графиков есть краткие пояснения. Если что-то конкретное не совсем понятно,  пишите я все постараюсь объяснить.

 
Хорошая статья, спасибо. Заинтересовал вывод, что размер окна должен быть переменным.
 
Maxim Dmitrievsky #:
Хорошая статья, спасибо. Заинтересовал вывод, что размер окна должен быть переменным.
Благодарю. Ну я здесь Америку не открыл конечно =) 
 

Имхо, стоило бы учесть суточные колебания волатильности. Например, можно нормировать приращения  средней  волатильностью в это время суток. По моим прикидкам отнормированные подобным образом приращения заметно меньше отличаются от шума.

Для рядов чаще говорят про тесты на разладку. Такие тесты часто опираются на тесты однородности, но в принципе это самостоятельная область матстата. Например, в эконометрике часто используют тест Петтитта.

В целом, статья хорошая.

 
Евгений Черныш #:

P.S. что такое ZZ-приращения ?

Строите ЗигЗаг по HighBid/LowAsk и берете приращения между вершинами.

Причина обращения: