![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ряд 2 - чисто флэтовый, Нсреднее примерно 0.35
Ряд 3 - чисто СБ, Нсреднее примерно 0.51
Ряд 4 - трендовый, с участками СБ, Нсреднее примерно 0.6
О.К. Посмотрим теперь что посчитает notused, а затем сравним результаты.
Кстати для конвертации csv к нужному формату можно использовать Excel. Сначала загружаем CSV в него через экспорт данных (Данные --> Из текста), затем сохраняем в CSV используя правильный формат времени.
Валюсь с ног, постараюсь дольше завтрашнего вечера не задерживать.
О.к.
В общем, запустил на просчёт, но ряд с ТАКОЙ длиной (1052640 элементов) как то не шибко быстро считает (сложность RS-анализа ~ O(n^2)). Спустя полчаса - прогрес менее 30% (а дальше будет замедлятся). В общем, к утру надеюсь будет. Считаю ряд 1, по цене open.
Если нужна другая цена (High + Low)/2 - просьба уточнить, а то не сильно быстро получается.
В общем, запустил на просчёт, но ряд с ТАКОЙ длиной (1052640 элементов) как то не шибко быстро считает (сложность RS-анализа ~ O(n^2)). Спустя полчаса - прогрес менее 30% (а дальше будет замедлятся). В общем, к утру надеюсь будет. Считаю ряд 1, по цене open.
Если нужна другая цена (High + Low)/2 - просьба уточнить, а то не сильно быстро получается.
Вы можете взять только часть ряда для обсчета. В плане величины H - ряд стационарен и если Ваш метод позволяет, вы можете обойтись каким-то его куском. Однако не все методы могут обойтись малым количеством данных, поэтому ряды которые я дал такие большие.
В принципе величина H не должна зависеть от представления цены. Цена как процесс не зависит от того, как мы на нее смотрим. Наблюдаем ли мы ее как тиковый поток или как сжатый график в виде японских свечей - ее характеристики неизменны. Да, при сжатии в бары, часть информации теряется, но это уже задача разработчика метода выбрать для него данные из имеющихся таким образом, что бы рассчитанный показатель был как можно ближе приближен к истинному. Поэтому к какой из цен применить Ваш метод должны решать Вы сами. В моем методе я например, большей частью использую High и Low баров, но в некоторых случаях использую в расчетах и тело свечи.
... Сложность RS-анализа ~ O(n^2). Спустя полчаса - прогрес менее 30% (а дальше будет замедлятся). В общем, к утру надеюсь будет. Считаю ряд 1, по цене open.
Сложность O(n^2) все же присуща Вашему методу а не R/S анализу как таковому. R/S анализ - это анализ изменения цены по отношению к времени T в двойных логарифмический масштабах. R/S анализ как и величина H не имеет характерного временого масштаба (таймфрейма). Это накладывает определенную сложность на проводимые расчеты, но конкретных методов рассчета может быть много, и их сложность рассчета может быть разной, в т.ч. гораздо быстрей O(n^2). Например мой метод рассчитывает H на данном ряде всего лишь за несколько секунд (меньше 2), а получаемые им характеристики практически точно соответствуют характеристикам заранее известного ряда. Уверен, Ваш метод можно значительно улучшить в плане производительности. Возможно после обмена опытом, будет понятно как это сделать.
У меня ерунда вышла на этом массиве (H > 1), что явно указывает на ошибку в реализации :(
Меня можете не ждать...
У меня ерунда вышла на этом массиве (H > 1), что явно указывает на ошибку в реализации :(
Меня можете не ждать...
Печалька...:((
Тогда чут позже оглашу результаты.
Как и обещал, выкладываю ключи к файлам:
H 0.5 - 3.csv
H 0.3 - 2.csv
H 0.7 - 1.csv
H 0.6 - 4.csv
Дима, ты молодец:
Ряд1 - Примерно 0.7
Ряд 2 - чисто флэтовый, Нсреднее примерно 0.35
Ряд 3 - чисто СБ, Нсреднее примерно 0.51
Ряд 4 - трендовый, с участками СБ, Нсреднее примерно 0.6
Результаты полностью совпали за исключением небольшой неточности на H0.3. Но это и понятно, антиперсистентые ряды правильно рассчитать уже гораздо сложней. Мой алгоритм тоже завышает H у этого ряда примерно на туже величину.
Давай обмениваться опытом, какой метод лежит в основе твоего расчета? Как определял волатильность и "размах"? На сколько ресурсоемкий алгоритм?
«Размах» довольно неустойчивая величина, на моём опыте лучше на него не опираться, так как сильно зависим от флуктуаций хвостов распределения.
Есть алгоритмы менее зависимые от хвостов в отличии от классического коэффициента Херста. Как похожие по логике, так и кардинально отличающиеся, на принципах усреднения автокорреляции широкого спектра лагов. При должной модуляции даёт пропорциональный эффект.
А вообще на мой взгляд, такие(коеф. Херста) слишком общие характеристики ряда, на цВР не совсем кашерны, это как средняя температура по больнице. Логичнее считать автокорреляционную функцию, и по ней уже строить стратегии или фильтровать по нужным диапазонам лагов.
«Размах» довольно неустойчивая величина, на моём опыте лучше на него не опираться, так как сильно зависим от флуктуаций хвостов распределения.
Есть алгоритмы менее зависимые от хвостов в отличии от классического коэффициента Херста. Как похожие по логике, так и кардинально отличающиеся, на принципах усреднения автокорреляции широкого спектра лагов. При должной модуляции даёт пропорциональный эффект.
А вообще на мой взгляд, такие(коеф. Херста) слишком общие характеристики ряда, на цВР не совсем кашерны, это как средняя температура по больнице. Логичнее считать автокорреляционную функцию, и по ней уже строить стратегии или фильтровать по нужным диапазонам лагов.
Нет классического коэффициента Херста. Есть классический метод его расчета - он действительно подвержен этой проблеме. Нормировать размах на дисперсию вообще по-моему глупо.
АКФ измеряет краткосрочные зависимости на горизонте до 5-6 лагов. На больших интервалах она не пригодна. Если ваша стратегия mean reverting на сверхмалых таймфреймах - тогда да, она может принести пользу.