Что показывает коэффициент Хёрста? - страница 4

 
Dima_S:

Ряд 2 - чисто флэтовый, Нсреднее примерно 0.35

Ряд 3 - чисто СБ, Нсреднее примерно 0.51

Ряд 4 - трендовый, с участками СБ, Нсреднее примерно 0.6

О.К. Посмотрим теперь что посчитает notused, а затем сравним результаты.

Кстати для конвертации csv к нужному формату можно использовать Excel. Сначала загружаем CSV в него через экспорт данных (Данные --> Из текста), затем сохраняем в CSV используя правильный формат времени. 

 
Валюсь с ног, постараюсь дольше завтрашнего вечера не задерживать.
 
notused:
Валюсь с ног, постараюсь дольше завтрашнего вечера не задерживать.
О.к.
 
C-4:
О.к.

В общем, запустил на просчёт, но ряд с ТАКОЙ длиной (1052640 элементов) как то не шибко быстро считает (сложность RS-анализа ~ O(n^2)). Спустя полчаса - прогрес менее 30% (а дальше будет замедлятся). В общем, к утру надеюсь будет. Считаю ряд 1, по цене open.

Если нужна другая цена (High + Low)/2 - просьба уточнить, а то не сильно быстро получается. 

 
notused:

В общем, запустил на просчёт, но ряд с ТАКОЙ длиной (1052640 элементов) как то не шибко быстро считает (сложность RS-анализа ~ O(n^2)). Спустя полчаса - прогрес менее 30% (а дальше будет замедлятся). В общем, к утру надеюсь будет. Считаю ряд 1, по цене open.

Если нужна другая цена (High + Low)/2 - просьба уточнить, а то не сильно быстро получается. 

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

В принципе величина H не должна зависеть от представления цены. Цена как процесс не зависит от того, как мы на нее смотрим. Наблюдаем ли мы ее как тиковый поток или как сжатый график в виде японских свечей - ее характеристики неизменны. Да, при сжатии в бары, часть информации теряется, но это уже задача разработчика метода выбрать для него данные из имеющихся таким образом, что бы рассчитанный показатель был как можно ближе приближен к истинному. Поэтому к какой из цен применить Ваш метод должны решать Вы сами. В моем методе я например, большей частью использую High и Low баров, но в некоторых случаях использую в расчетах и тело свечи.

notused:

... Сложность RS-анализа ~ O(n^2). Спустя полчаса - прогрес менее 30% (а дальше будет замедлятся). В общем, к утру надеюсь будет. Считаю ряд 1, по цене open.

Сложность O(n^2) все же присуща Вашему методу а не R/S анализу как таковому. R/S анализ - это анализ изменения цены по отношению к времени T в двойных логарифмический масштабах. R/S анализ как и величина H не имеет характерного временого масштаба (таймфрейма). Это накладывает определенную сложность на проводимые расчеты, но конкретных методов рассчета может быть много, и их сложность рассчета может быть разной, в т.ч. гораздо быстрей  O(n^2). Например мой метод рассчитывает H на данном ряде всего лишь за несколько секунд (меньше 2), а получаемые им характеристики практически точно соответствуют характеристикам заранее известного ряда. Уверен, Ваш метод можно  значительно улучшить в плане производительности. Возможно после обмена опытом, будет понятно как это сделать.

 
C-4:

У меня ерунда вышла на этом массиве (H > 1), что явно указывает на ошибку в реализации :(

Меня можете не ждать... 

 
notused:

У меня ерунда вышла на этом массиве (H > 1), что явно указывает на ошибку в реализации :(

Меня можете не ждать... 

Печалька...:((

Тогда чут позже оглашу результаты.

 

Как и обещал, выкладываю ключи к файлам:

H 0.5 - 3.csv
H 0.3 - 2.csv
H 0.7 - 1.csv
H 0.6 - 4.csv

Дима, ты молодец: 

Dima_S:

Ряд1 - Примерно 0.7

Ряд 2 - чисто флэтовый, Нсреднее примерно 0.35

Ряд 3 - чисто СБ, Нсреднее примерно 0.51

Ряд 4 - трендовый, с участками СБ, Нсреднее примерно 0.6

Результаты полностью совпали за исключением небольшой неточности на H0.3. Но это и понятно, антиперсистентые ряды правильно рассчитать уже гораздо сложней. Мой алгоритм тоже завышает H у этого ряда примерно на туже величину.

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

 

«Размах» довольно неустойчивая величина, на моём опыте лучше на него не опираться, так как сильно зависим от флуктуаций хвостов распределения.

Есть алгоритмы менее зависимые от хвостов в отличии от классического коэффициента Херста. Как похожие по логике, так и кардинально отличающиеся, на принципах усреднения автокорреляции широкого спектра лагов. При должной модуляции даёт пропорциональный эффект.

А вообще на мой взгляд, такие(коеф. Херста) слишком общие характеристики ряда, на цВР не совсем кашерны, это как средняя температура по больнице. Логичнее считать автокорреляционную функцию, и по ней уже строить стратегии или фильтровать по нужным диапазонам лагов.

 
kaliteran:

«Размах» довольно неустойчивая величина, на моём опыте лучше на него не опираться, так как сильно зависим от флуктуаций хвостов распределения.

Есть алгоритмы менее зависимые от хвостов в отличии от классического коэффициента Херста. Как похожие по логике, так и кардинально отличающиеся, на принципах усреднения автокорреляции широкого спектра лагов. При должной модуляции даёт пропорциональный эффект.

А вообще на мой взгляд, такие(коеф. Херста) слишком общие характеристики ряда, на цВР не совсем кашерны, это как средняя температура по больнице. Логичнее считать автокорреляционную функцию, и по ней уже строить стратегии или фильтровать по нужным диапазонам лагов.

Нет классического коэффициента Херста. Есть классический метод его расчета - он действительно подвержен этой проблеме. Нормировать размах на дисперсию вообще по-моему глупо.

АКФ измеряет краткосрочные зависимости на горизонте до 5-6 лагов. На больших интервалах она не пригодна. Если ваша стратегия mean reverting на сверхмалых таймфреймах - тогда да, она может принести пользу.