Если регрессионная модель предсказывает прирост цены за бар, а оценка R2 выше ноля на фронттестах и бэктестах, то это уже хорошее начало. Проблема в том что результат хоть и стабилен, но мал, спред не побороть.
Аналитически, проблема в том что R2 штрафует модель сильнее за большие ошибки и игнорирует маленькие ошибки и неверные направления сделки. Если посмотреть на распределение приростов, то большинство движений цены - всего пара пипсов. А модель вместо того чтобы предсказать правильное направление таких малейших движений, учится предсказывать длинные хвосты распределния, за которые получит более высокий R2. В итоге модель кое-как предсказывает большие движения, но на маленьких постоянно ошибается с направлением и сливает по спреду.
Вывод - стандартные регрессионные оценки для форекса плохи. Нужно изобретать какую-то свою фитнесс функцию, чтоб и направления сделок учитывались, и спред, и точность, да ещё и функция должна быть гладкой. Тогда даже с точностью чуть выше 50% уже будет шанс на профит. Точность, Sharp ratio, recovery factor, и другие функции которые анализируют график торговли - слишком дискретны, нейронка со стандартным бэкпропом не вылезет из локального минимума, и толком не обучится.
Альтернативный вывод - полностью игнорировать слабые сигналы нейронки. Торговать только на сильных. Тут своя проблема в том что можно всегда подобрать порог который покажет отличные результаты на бэктесте, но с ним-же будут плохие на фронттесте. Тут тоже надо что-то думать.
Все-таки сама идея использования регрессионных моделей машинного обучения представляется крайне сомнительной. И особенно это касается прогнозирования приращений. И дважды особенно это касается НС, которые по смыслу представляют собой черный ящик с какими-то слоями и персептронами. Какой экономический или статистический смысл имеется у этих слов?
Ведь не зря для приращений используются модели GARCH. и они являются самыми распространенными на данный момент. Базовая идея победы над НЕ стационарностью путем разложения НЕ стационарного ряда на составляющие, имеющие вполне содержательный экономический и статистический смысл, является очень привлекательной.
В GARCH модель состоит из следующих шагов:
исходный ряд детрендируют путем логарифма (понижают влияние выбросов) отношения соседних баров.
так как обычно полностью от НЕ стационарности не удается избавиться, то
моделируют оставшийся тренд (ARIMA)
моделируют нюансы ARCH
моделируют распределение приращений.
Все содержательная и осмысленная работа.
Если к этому добавить возможность добавления внешних регрессоров, то получаем довольно богатый инструмент, к сожалению чезвычайно разнообразный и, следовательно, трудоемкий.
In this article I want to show you how to apply all of the knowledge gained in the previous time series analysis posts to a trading strategy on the S&P500 US stock market index. We will see that by combining the ARIMA and GARCH models we can significantly outperform a "Buy-and-Hold" approach over the long term. Strategy Overview The idea of the...
Все-таки сама идея использования регрессионных моделей машинного обучения представляется крайне сомнительной. И особенно это касается прогнозирования приращений. И дважды особенно это касается НС, которые по смыслу представляют собой черный ящик с какими-то слоями и персептронами. Какой экономический или статистический смысл имеется у этих слов?
Ведь не зря для приращений используются модели GARCH. и они являются самыми распространенными на данный момент. Базовая идея победы над НЕ стационарностью путем разложения НЕ стационарного ряда на составляющие, имеющие вполне содержательный экономический и статистический смысл, является очень привлекательной.
Вы неправы СанСаныч. НС, это типа эквивалент нечеткой логике. Обучаемой. Лично я не вижу ничего загадочного. Можно использовать и др. аналогии
Ну, а нестационарность. Любой процесс, если его разбить на куски станет нестационарным, а если это не так, то он не будет случайным.
Кстати, по виду распределений на разных продолжительных отрезках (несколько за 3 мес.) я не заметил какой-либо существенной разницы между ними.
На счет экономического смысла - ну, не знаю. Я исхожу из того, что рынок случаен для наблюдателя. Какой он на самом деле - случайный или нет, на самом деле не имеет значения. Здесь ключевое слово - для наблюдателя.
потмоу что логарифмирование в данном случае не избавляет от выбросов: от выбросов избавляет расчет приращений с n-лагом
логарифмирование просто центрирует график относительно 0
а что бы избавиться от выбросов логарифмированием, это надо ввести логарифмическую шкалу
просто приращения
логарифм приращений (натуральный)
Выбросы штука тонкая. Слишком большие выбросы лучше вообще заменить на более приемлемый максимум.
Избавляться от выбросов полностью нельзя. А вот преуменьшить их влияние на распределение не только можно и нужно и делается это за счет логарифмирования.
> summary(diff(eur))
Index diff(eur)
Min. :2016-01-0400:00:00 Min. :-0.02301001st Qu.:2016-04-1419:00:001st Qu.:-0.0005300
Median :2016-07-2712:00:00 Median : 0.0000100
Mean :2016-07-2712:01:14 Mean :-0.00000363rd Qu.:2016-11-0806:00:003rd Qu.: 0.0005200
Max. :2017-02-1723:00:00 Max. : 0.0143400
> summary((diff(eur, log=T)))
Index (diff(eur, log = T))
Min. :2016-01-04 00:00:00 Min. :-0.0206443
1st Qu.:2016-04-14 19:00:00 1st Qu.:-0.0004810
Median :2016-07-27 12:00:00 Median : 0.0000090
Mean :2016-07-27 12:01:14 Mean :-0.0000034
3rd Qu.:2016-11-08 06:00:00 3rd Qu.: 0.0004755
Max. :2017-02-17 23:00:00 Max. : 0.0127862
NA's :1
А если взять некий гипотетический случай с соседними котировками 10 и 2, то
Выбросы штука тонкая. Слишком большие выбросы лучше вообще заменить на более приемлемый максимум.
Избавляться от выбросов полностью нельзя. А вот преуменьшить их влияние на распределение не только можно и нужно и делается это за счет логарифмирования.
А если взять некий гипотетический случай с соседними котировками 10 и 2, то
10/2 = 5
log (10/2) = 0.69
ну прекрасно, вы нашли степень в которую нужно возвести основание e, что бы получить величину исходного приращения
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Я тоже много об этом думаю.
Если регрессионная модель предсказывает прирост цены за бар, а оценка R2 выше ноля на фронттестах и бэктестах, то это уже хорошее начало. Проблема в том что результат хоть и стабилен, но мал, спред не побороть.
Аналитически, проблема в том что R2 штрафует модель сильнее за большие ошибки и игнорирует маленькие ошибки и неверные направления сделки. Если посмотреть на распределение приростов, то большинство движений цены - всего пара пипсов. А модель вместо того чтобы предсказать правильное направление таких малейших движений, учится предсказывать длинные хвосты распределния, за которые получит более высокий R2. В итоге модель кое-как предсказывает большие движения, но на маленьких постоянно ошибается с направлением и сливает по спреду.
Вывод - стандартные регрессионные оценки для форекса плохи. Нужно изобретать какую-то свою фитнесс функцию, чтоб и направления сделок учитывались, и спред, и точность, да ещё и функция должна быть гладкой. Тогда даже с точностью чуть выше 50% уже будет шанс на профит.
Точность, Sharp ratio, recovery factor, и другие функции которые анализируют график торговли - слишком дискретны, нейронка со стандартным бэкпропом не вылезет из локального минимума, и толком не обучится.
Альтернативный вывод - полностью игнорировать слабые сигналы нейронки. Торговать только на сильных. Тут своя проблема в том что можно всегда подобрать порог который покажет отличные результаты на бэктесте, но с ним-же будут плохие на фронттесте. Тут тоже надо что-то думать.
Все-таки сама идея использования регрессионных моделей машинного обучения представляется крайне сомнительной. И особенно это касается прогнозирования приращений. И дважды особенно это касается НС, которые по смыслу представляют собой черный ящик с какими-то слоями и персептронами. Какой экономический или статистический смысл имеется у этих слов?
Ведь не зря для приращений используются модели GARCH. и они являются самыми распространенными на данный момент. Базовая идея победы над НЕ стационарностью путем разложения НЕ стационарного ряда на составляющие, имеющие вполне содержательный экономический и статистический смысл, является очень привлекательной.
В GARCH модель состоит из следующих шагов:
Все содержательная и осмысленная работа.
Если к этому добавить возможность добавления внешних регрессоров, то получаем довольно богатый инструмент, к сожалению чезвычайно разнообразный и, следовательно, трудоемкий.
ну в чем проблемосы то?
https://www.quantstart.com/articles/ARIMA-GARCH-Trading-Strategy-on-the-SP500-Stock-Market-Index-Using-R
копипаст и фперет
по какому основанию?
Все-таки сама идея использования регрессионных моделей машинного обучения представляется крайне сомнительной. И особенно это касается прогнозирования приращений. И дважды особенно это касается НС, которые по смыслу представляют собой черный ящик с какими-то слоями и персептронами. Какой экономический или статистический смысл имеется у этих слов?
Ведь не зря для приращений используются модели GARCH. и они являются самыми распространенными на данный момент. Базовая идея победы над НЕ стационарностью путем разложения НЕ стационарного ряда на составляющие, имеющие вполне содержательный экономический и статистический смысл, является очень привлекательной.
Вы неправы СанСаныч. НС, это типа эквивалент нечеткой логике. Обучаемой. Лично я не вижу ничего загадочного. Можно использовать и др. аналогии
Ну, а нестационарность. Любой процесс, если его разбить на куски станет нестационарным, а если это не так, то он не будет случайным.
Кстати, по виду распределений на разных продолжительных отрезках (несколько за 3 мес.) я не заметил какой-либо существенной разницы между ними.
На счет экономического смысла - ну, не знаю. Я исхожу из того, что рынок случаен для наблюдателя. Какой он на самом деле - случайный или нет, на самом деле не имеет значения. Здесь ключевое слово - для наблюдателя.
ну в чем проблемосы то?
https://www.quantstart.com/articles/ARIMA-GARCH-Trading-Strategy-on-the-SP500-Stock-Market-Index-Using-R
копипаст и фперет
Интересный Вы человек! Оказывается Вы все знаете!
по какому основанию?
У меня стоит log, а какая разница?
У меня стоит log, а какая разница?
потмоу что логарифмирование в данном случае не избавляет от выбросов: от выбросов избавляет расчет приращений с n-лагом
логарифмирование просто центрирует график относительно 0
а что бы избавиться от выбросов логарифмированием, это надо ввести логарифмическую шкалу
просто приращения
логарифм приращений (натуральный)
потмоу что логарифмирование в данном случае не избавляет от выбросов: от выбросов избавляет расчет приращений с n-лагом
логарифмирование просто центрирует график относительно 0
а что бы избавиться от выбросов логарифмированием, это надо ввести логарифмическую шкалу
просто приращения
логарифм приращений (натуральный)
Выбросы штука тонкая. Слишком большие выбросы лучше вообще заменить на более приемлемый максимум.
Избавляться от выбросов полностью нельзя. А вот преуменьшить их влияние на распределение не только можно и нужно и делается это за счет логарифмирования.
А если взять некий гипотетический случай с соседними котировками 10 и 2, то
10/2 = 5
log (10/2) = 0.69
потмоу что логарифмирование в данном случае не избавляет от выбросов: от выбросов избавляет расчет приращений с n-лагом
n-лагом - это увеличение ТФ, и чем больше ТФ - тем больше приращения.
Ваш лаг 50 - это Н8, только более точный в том смысле, что ваш ТФ=8 часам начинается каждую минуту в отличии от обычного графика.
Выбросы штука тонкая. Слишком большие выбросы лучше вообще заменить на более приемлемый максимум.
Избавляться от выбросов полностью нельзя. А вот преуменьшить их влияние на распределение не только можно и нужно и делается это за счет логарифмирования.
А если взять некий гипотетический случай с соседними котировками 10 и 2, то
10/2 = 5
log (10/2) = 0.69
ну прекрасно, вы нашли степень в которую нужно возвести основание e, что бы получить величину исходного приращения
но вы не избавились от выбросов
я же привел 2 картинки выше