Обсуждение статьи "Исследование сезонных характеристик финансовых временных рядов при помощи диаграмм Boxplot"

 

Опубликована статья Исследование сезонных характеристик финансовых временных рядов при помощи диаграмм Boxplot:

Исследование сезонных характеристик финансовых временных рядов при помощи диаграмм Boxplot. Каждый отдельный ящик с усами дает хорошее представление о том, как распределены значения в наборе данных. Boxplots не следует путать с графиком японских свечей, хотя они визуально похожи.

Поскольку цены имеют смещение среднего во времени и образуют тренды, статистический анализ неприменим к таким сырым рядам. В эконометрике используются процентные изменения цен (ценовые приращения) для того, чтобы все они лежали примерно в одном диапазоне значений. Получим процентные изменения через метод  pd.DataFrame(rates['close'].pct_change(1)).

Нас интересуют средние диапазоны цен по месяцам. Сгруппируем таблицу таким образом, что бы получить среднее месячных приращений по годам и отобразим на графике boxplot (ящиков с усами).


Рис. 1. Средние диапазоны ценовых приращений по месяцам, за десять лет.

Автор: Maxim Dmitrievsky

 

Матстат - это хорошо) Тоже придерживаюсь подхода поиска отличия цен от СБ (одна из возможных моделей эффективного рынка). Кстати, сам Фама уже не очень придерживается этой теории из-за проблемы с её проверкой.

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

 
Aleksey Nikolayev:

Матстат - это хорошо) Тоже придерживаюсь подхода поиска отличия цен от СБ (одна из возможных моделей эффективного рынка). Кстати, сам Фама уже не очень придерживается этой теории из-за проблемы с её проверкой.

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

Кажется, что статья, написанная языком домохозяйки, обычно лучше заходит и проще применяется потом на практике :)

 

1. 10 лет анализа без логарифмирования - можно нарваться на перекос. Пункт 10 лет назад и сейчас - две большие разницы.


2. Почему есть места, где усы попадают в тело?


Напишем простого торгового эксперта, который будет эксплуатировать найденную закономерность на рис. 9. А именно предположение о том, что с 0.00 до 04.00 часов по GMT+2 цены на пару EURUSD растут относительно своего среднего, на протяжении всех четырех часов.

Из диаграммы на рис. 9 понятно, что максимальная разница между ценами закрытия и скользящим средним, за этот период, составляет -0.0002 пункта, а среднее находится выше нуля.

3. Ноль же в отрицательной зоне или я неправильно интерпретирую?

4. -0.0002 - ниже ни одного значения. Почему тогда срабатывает условие?


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

5. Для ускорения в countorders лучше делать обратный цикл и отказаться от проверки на символ и мэджик. Будет заметно быстрее на таком "холостом" роботе.

Еще быстрее - флаг true после OrderSend и false - OrderClose.


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

6. Решается режимом "по ценам открытия".


Разрешим открывать сделки только в 0-1 часы, с предположением о том, что в последующие несколько часов сделка все равно будет закрыта в прибыль, поскольку отклонение от среднего стремиться выйти в положительную сторону.

7. Я бы применил сразу BestInterval. Причем сразу - без ограничений времени в коде самой первой версии робота.


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

8. Не согласен. В ТС всего три параметра: период МАшки, верхняя и нижняя граница отклонений. Грех такое не запустить на Оптимизацию по M15-open и в течение нескольких минут получить всю картину. Даже то, что ускользнуло от глаз при визуальном анализе. Т.е. Оптимизатор "увидел" бы точно не меньше. Поэтому спорно утверждение про стабильность.


Очень понравилась возможность на коленке быстро посмотреть многие вещи, за которые в MT5 браться сразу отказываешься, т.к. уйма времени надо потратить. Спасибо!

 

График хорошо демонстрирует, что глупо заниматься ТС "на все времена".

Ну и напрашивается применение к такому простому роботу walk-forward и даже cluster walk-forward analysis.

А еще применить мультитестер на сотню символов.


Тогда Тестер становится на голову выше Питона по качеству/количеству результата и скорости его получения. Но Питон крут!

 
fxsaber:

1. 10 лет анализа без логарифмирования - можно нарваться на перекос. Пункт 10 лет назад и сейчас - две большие разницы.


2. Почему есть места, где усы попадают в тело?


3. Ноль же в отрицательной зоне или я неправильно интерпретирую?

4. -0.0002 - ниже ни одного значения. Почему тогда срабатывает условие?


5. Для ускорения в countorders лучше делать обратный цикл и отказаться от проверки на символ и мэджик. Будет заметно быстрее на таком "холостом" роботе.

Еще быстрее - флаг true после OrderSend и false - OrderClose.


6. Решается режимом "по ценам открытия".


7. Я бы применил сразу BestInterval. Причем сразу - без ограничений времени в коде самой первой версии робота.


8. Не согласен. В ТС всего три параметра: период МАшки, верхняя и нижняя граница отклонений. Грех такое не запустить на Оптимизацию по M15-open и в течение нескольких минут получить всю картину. Даже то, что ускользнуло от глаз при визуальном анализе. Т.е. Оптимизатор "увидел" бы точно не меньше. Поэтому спорно утверждение про стабильность.


Очень понравилась возможность на коленке быстро посмотреть многие вещи, за которые в MT5 браться сразу отказываешься, т.к. уйма времени надо потратить. Спасибо!

1. Можно сделать с логарифмированием и вообще другие варианты (не обязательно приращения и МА), это была проба, есть ли смысл вообще использовать такой стат. анализ

2,3 не понял, где усы попадают в тело?

4. Здесь я допустил небольшую оплошность при группировке данных. На самом деле, диаграммы выглядят немного по-другому, но, в целом, их форма сохраняется. На них больше выбросов, чем здесь показано. Либо переделаю скрины, либо просто скину обновленный код на python.

8. Имеется в виду, что увидел на графике  ящиков с усами, то сразу проверил в тестере и оно сразу заработало, вообще без подбора параметров. Т.е. правильно интерпретировал закономерность. Если перебирать мувинги в пределах (10-40) и даже ТФ (5-30 мин), картина мало изменится. Т.е. это чистая закономерность, найденная не через подгонку.

Были бы ящики с усами или подобные - сделал бы на MQL5. Но на пайтоне это реально делается в 3 строчки, пакет Pandas изначально писался для работы с финансовыми ВР и является чуть ли не стандартом

 
Maxim Dmitrievsky:

2,3 не понял, где усы попадают в тело?

1, 3, 4.

 
Maxim Dmitrievsky:

8. Имеется в виду, что увидел на графике  ящиков с усами, то сразу проверил в тестере и оно сразу заработало, вообще без подбора параметров. Т.е. правильно интерпретировал закономерность. Если перебирать мувинги в пределах (10-40) и даже ТФ (5-30 мин), картина мало изменится. Т.е. это чистая закономерность, найденная не через подгонку.

От того, что какие-то данные видит человек на графиках, не значит, что там чистая закономерность.

 

Отличная статья. Макс роет там, где надо и дает страждущим надежду.

Было бы неплохо провести точно такой же анализ на тех же данных для тиковых объемов и сравнить полученные результаты.

 
fxsaber:

От того, что какие-то данные видит человек на графиках, не значит, что там чистая закономерность.

если нет данных, превышающих межквартильный размах, то усы к телу прилипают

 
Alexander_K:

Отличная статья. Макс роет там, где надо и дает страждущим надежду.

Было бы неплохо провести точно такой же анализ на тех же данных для тиковых объемов и сравнить полученные результаты.

Если поможет, могу сделать )

Вообще, в планах более крутое исследование на эту тему, надо только с правильного конца зайти

например, как искать дрейфующие циклы

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