Индикаторы: Предсказание цены методом ближайшего соседа (с учетом взвешенных коэффициентов корреляции) - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Есть предупреждение. Не могли бы вы мне помочь? Заранее спасибо.
Автору респект!
Написано всё грамотно и компактно. Спасибо.
Есть пожелания по доработке, если ещё занимаетесь этим.
1. На истории надо рисовать не соседа, с последнюю точку прогноза, сдвинутую назад на его длину (Nfut). Т.е. просчитать и нарисовать прогноз за некоторый интервал в прошлом. Тогда будет очевидно качество предсказания. Правда, думать индикатор при запуске будет долго...
2. Один сосед - это очень мало! Результат получается нестабильный.
Теоретически надо брать число соседей = 3 длины стартового вектора (т.е. паттерна), а потом усреднять все прогнозы (и лучше, с весами, пропорциональными коэффициентам корреляции).
Привет, Владимир,
Я хотел бы поговорить с вами об этом индикаторе для работы по настройке.
Свяжитесь со мной, если сможете: najnudel@gmail.com.
tks
У меня есть улучшенный алгоритм ближайшего соседа, который я использую в своих целях. Он преодолевает указанные недостатки. Идея проста. При поиске ближайшего соседа в исторических образцах сохраните все прошлые паттерны, их известные будущие паттерны и коэффициенты корреляции между этими прошлыми паттернами настоящим паттерном. Назовем эти коэффициенты корреляции r, которые являются вектором всех прошлых корреляций. Вместо того чтобы выбирать прошлый паттерн с наивысшим abs (r) в качестве ближайшего соседа, используйте ВСЕ прошлые паттерны в качестве «ближайших соседей», но с их вкладами взвешенными exp(sw*abs(r)), где sw - выбранная пользователем экспонента, которая контролирует избирательность предсказания прошлых паттернов с наивысшими коэффициентами корреляции. Очень большое значение sw приведет к тому что на прогноз будет влиять только сосед с самой сильной корреляцией (истинный «ближайший сосед»). Очень маленький sw сделает все прошлые паттерны одинаково важными. Те кто понял идею, могут переписать приведенный выше код и опубликовать новый индикатор. Ниже представлена реализация в Matlab. Если вам нужно включить только прошлые паттерны с положительной корреляцией, удалите функцию abs () в r = abs (...). Тогда прошлые паттерны с отрицательной корреляцией автоматически будут иметь наименьший вес.
У меня есть улучшенный алгоритм ближайшего соседа, который я использую в своих целях. Он преодолевает указанные недостатки. Идея проста. При поиске ближайшего соседа в исторических образцах сохраните все прошлые паттерны, их известные будущие паттерны и коэффициенты корреляции между этими прошлыми паттернами настоящим паттерном. Назовем эти коэффициенты корреляции r, которые являются вектором всех прошлых корреляций. Вместо того чтобы выбирать прошлый паттерн с наивысшим abs (r) в качестве ближайшего соседа, используйте ВСЕ прошлые паттерны в качестве «ближайших соседей», но с их вкладами взвешенными exp(sw*abs(r)), где sw - выбранная пользователем экспонента, которая контролирует избирательность предсказания прошлых паттернов с наивысшими коэффициентами корреляции. Очень большое значение sw приведет к тому что на прогноз будет влиять только сосед с самой сильной корреляцией (истинный «ближайший сосед»). Очень маленький sw сделает все прошлые паттерны одинаково важными. Те кто понял идею, могут переписать приведенный выше код и опубликовать новый индикатор. Ниже представлена реализация в Matlab. Если вам нужно включить только прошлые паттерны с положительной корреляцией, удалите функцию abs () в r = abs (...). Тогда прошлые паттерны с отрицательной корреляцией автоматически будут иметь наименьший вес.
Владимир, идею я понял.
Но это все равно будет рандомное прогнозирование.
Экспериментировал много с поиском патернов около 10 лет назад. С зеркальностью, инверсией, суммированием патернов. Вывод - полная рандомность в продолжении патерна на будущее. Все совпадения случайны.
Владимир, идею я понял.
Но это все равно будет рандомное прогнозирование.
Экспериментировал много с поиском патернов около 10 лет назад. С зеркальностью, инверсией, суммированием патернов. Вывод - полная рандомность в продолжении патерна на будущее. Все совпадения случайны.
Согласен
Владимир, идею я понял.
Но это все равно будет рандомное прогнозирование.
Экспериментировал много с поиском патернов около 10 лет назад. С зеркальностью, инверсией, суммированием патернов. Вывод - полная рандомность в продолжении патерна на будущее. Все совпадения случайны.
если учитывать реальное время, то отнюдь.. схожие движения в одинаковые моменты. Из системы выбросили фактор времени и получили рандом
Этот код нуждается в незначительных улучшениях, но в целом ваша идея имеет смысл