Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 2605
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Прибыль в процентах трехзначная, волатильность минимальна. Но не масштабируется, а портфель возможно собирать только увеличивая количество инструментов (рынков). Стратегия не моя )).
Безоговорочно верю всему там написанному. Лишь сожалею что нет результатов за два последних года)
Безоговорочно верю всему там написанному. Лишь сожалею что нет результатов за два последних года)
Автор широко известен в узких кругах. На вопрос "будут ли результаты за 20ХХ год" обычно отвечает, что писать нет смысла, т.к. из года в год результат один и тот же. Последняя запись на ресурсе датируется 29.03.2021
Автор широко известен в узких кругах. На вопрос "будут ли результаты за 20ХХ год" обычно отвечает, что писать нет смысла, т.к. из года в год результат один и тот же. Последняя запись на ресурсе датируется 29.03.2021
слился....
1) Полагаю очевидным что нет и не может быть никаких способов доказать, что установленная на истории закономерность обязательно будет работать в будущем.
2) Существование метода устанавливающего детерминированность (неслучайность) закономерности для будущего по данным из прошлого было бы отрицанием для пункта (1)
У нас есть лишь кроссвалидация, которая может всего лишь установить однородность закономерности на истории. Мы можем лишь интерполировать закономерность, а не экстраполировать её. У нас есть лишь весьма слабое ПРЕДПОЛОЖЕНИЕ, что хорошо интерполируемая закономерность окажется хорошо экстраполируемой. Это не дедуктивное умозаключение, а всего лишь индуктивное - вариант умозаключения по аналогии.
закономерности появятся, если систему писать, а не филосовствовать
в очередной раз подсказываю
пишите систему с настроем не слить, а не заработать
---
чтобы не быть голословным, Вы поймете/обнаружите/увидите реакции котира на те или иные действия системы
обычно это:
- ГЭП
- черный лебедь
- тренд
- флет
- шпильки и длинные хвосты
все это закономерности, никоим образом не связанные с общепринятыми теоретиками причинами
теория, которую необходимо и достаточно знать для построения торговой системы тутАвтор широко известен в узких кругах. На вопрос "будут ли результаты за 20ХХ год" обычно отвечает, что писать нет смысла, т.к. из года в год результат один и тот же. Последняя запись на ресурсе датируется 29.03.2021
Поймите меня правильно -- не то чтобы подвергаю сомнению написанное данным конкретным человеком или вашу рекомендацию данную ему. Просто данный форум, как и многие другие, полон утверждениями сходными по форме с "У нас есть ТАКИЕ приборы, но мы вам про них не расскажем!". Вот выше -- хороший пример) Если уж мы верим в одном случае, то какие могут быть основания отказывать в вере в других подобных? Но на этой весьма зыбкой почве совершенно невозможно построить что-либо осмысленное. Посему, предпочитаю основываться на утверждениях хоть и более слабых, но содержательных и хоть как-то верифицируемых.
Безоговорочно верю всему там написанному. Лишь сожалею что нет результатов за два последних года)
Ахахах 5 с ±
Стараюсь совмещать, но пока получается заметный перекос в теорию.
Есть такая постановка вопроса:
Используются 2 модели. Одна прогнозирует купить или продать, другая торговать или нет.
Сначала обучается первая, затем смотрим где она плохо предсказывает, размечаем эти примеры как "не торговать", остальные хорошие как "торговать", обучаем этому вторую модель.
Первая модель проверяется не только на обучающем участке, но и дополнительном, а вторая обучается на обоих участках.
Повторяем это несколько раз, переобучая обе модели на том же датасете. Результаты постепенно улучшаются на выборках. Но на контрольной выборке не всегда.
Параллельно этому ведется журнал плохих сделок кумулятивный по всем проходам, все "плохие" сделки для "не торговать" собираются в нем для обучения второй модели и фильтруются по некоторому принципу, типа чем больше копий плохих сделок за все проходы, тем больше шанс разметить их как "не торговать"
Например, по каждой дате за все итерации обучений накоплено некоторое количество плохих сделок, где это количество превышает порог (mean, среднее), те сделки размечтаются как "не торговать". Остальные пропускаются, иначе так можно было бы исключить все сделки, если итераций обучения много.
коэффициент позволяет отрегулировать количество сделок на выходе, чем он ниже тем больше сделок фильтруется
... к этому моменту я уже устал писать ...
Как можно улучшить такую комбинацию моделей, чтобы она улучшала результаты свои на новом независимом участке?
Есть ли какая-то философия почему это может работать? Кроме той, что модели естественным образом улучшают друг друга (падают ошибки) на каждом круге переобучения, но как избавиться от подгонки?
Иллюстрация. График разбит на 3 части. На последнем обучается первая модель, на предпоследней и последней вторая, первая треть это экзаменационная выборка. Естественным образом последний участок будет самым лучшим, а первая треть самой плохой.
Здесь было 15 итераций переобучения обеих моделей, с использованием журнала плохих сделок.
Есть такая постановка вопроса:
Используются 2 модели. Одна прогнозирует купить или продать, другая торговать или нет.
Сначала обучается первая, затем смотрим где она плохо предсказывает, размечаем эти примеры как "не торговать", остальные хорошие как "торговать", обучаем этому вторую модель.
Первая модель проверяется не только на обучающем участке, но и дополнительном, а вторая обучается на обоих участках.
Повторяем это несколько раз, переобучая обе модели на том же датасете. Результаты постепенно улучшаются на выборках. Но на контрольной выборке не всегда.
Параллельно этому ведется журнал плохих сделок кумулятивный по всем проходам, все "плохие" сделки для "не торговать" собираются в нем для обучения второй модели и фильтруются по некоторому принципу, типа чем больше копий плохих сделок за все проходы, тем больше шанс разметить их как "не торговать"
Например, по каждой дате за все итерации обучений накоплено некоторое количество плохих сделок, где это количество превышает порог (mean, среднее), те сделки размечтаются как "не торговать". Остальные пропускаются, иначе так можно было бы исключить все сделки, если итераций обучения много.
коэффициент позволяет отрегулировать количество сделок на выходе, чем он ниже тем больше сделок фильтруется
... к этому моменту я уже устал писать ...
Как можно улучшить такую комбинацию моделей, чтобы она улучшала результаты свои на новом независимом участке?
Есть ли какая-то философия почему это может работать? Кроме той, что модели естественным образом улучшают друг друга (падают ошибки) на каждом круге переобучения, но как избавиться от подгонки?
Интересный концепт!
1. Как избавиться от подгонки. Я не сильно понял про итерации. Почему нельзя просто один раз обучить фильтрующую (вторую) модель и оценить, улучшает/не улучшает работу первой. При этом можно просто фильтровать сигналы 1 по 2, или подавать выход 2 на вход 1.
2. Как улучшить.
2.1. Можно попробовать из разметки потранзакционной сделать разметку покластерную. Наверняка, плохие сигналы кучкуются. И хорошие. Размечаем кластеры. Обучаться можно потранзакционно (фичи на основе входов/свечей), таргет - находемся в хорошем или плохом кластере. А можно обучаться в разрезе кластеров (фичи в разрезе кластеров, один объект обучающей выборки - кластер), таргет - или так же (следующая свеча в хорошем или плохом кластере) или так: следующий кластер хороший или плохой (ну по сути это то же самое, наверно).
2.2. Признаковые описания, вероятно, должны быть разные у этих моделей, иначе мне кажется предельная полезность от второй модели будет низкой.
3. Философия за концептом. Да кому она нужна, эффективность модели, профит - вот мерило. Рулят эксперименты, а не философия).
Интересный концепт!
1. Как избавиться от подгонки. Я не сильно понял про итерации. Почему нельзя просто один раз обучить фильтрующую (вторую) модель и оценить, улучшает/не улучшает работу первой. При этом можно просто фильтровать сигналы 1 по 2, или подавать выход 2 на вход 1.
2. Как улучшить.
2.1. Можно попробовать из разметки потранзакционной сделать разметку покластерную. Наверняка, плохие сигналы кучкуются. И хорошие. Размечаем кластеры. Обучаться можно потранзакционно (фичи на основе входов/свечей), таргет - находемся в хорошем или плохом кластере. А можно обучаться в разрезе кластеров (фичи в разрезе кластеров, один объект обучающей выборки - кластер), таргет - или так же (следующая свеча в хорошем или плохом кластере) или так: следующий кластер хороший или плохой (ну по сути это то же самое, наверно).
2.2. Признаковые описания, вероятно, должны быть разные у этих моделей, иначе мне кажется предельная полезность от второй модели будет низкой.
3. Философия за концептом. Да кому она нужна, эффективность модели, профит - вот мерило. Рулят эксперименты, а не философия).
Хочется улучшить обобщающую способность первой модели (да и второй тоже). Если мы просто отфильтруем ее сигналы второй моделью, то ошибка классификации первой не уменьшится внутри себя. Поэтому мы как бы прогоняем две обученные модели на датасете и выкидываем плохие примеры из обучения для первой, чтобы ошибка стала ниже. И ошибка на второй тоже падает. И так повторяем несколько раз. С каждым разом должно быть лучше. Но хочется чтобы на экзаменационной выборке было лучше с каждым разом, но там получается большой разброс.
Вот думаю чего еще туда докрутить, может просто какие-то размышления тоже подойдут :)