Люблю такие задачи и подобные идеи. Есть люди, которые решая какие-то такие задачи, из своего багажа достают какие-то научные методы с фамилиями в названиями, я обычно велосипеды люблю изобретать свои). Самое простое - начать с "каждый с каждым" - берем окно, на нем через все возможные комбинации точек графика проводим линию и оцениваем каждую, потом ранжируем по оценочному критерию, находим лучшую. Тут все понятно, но не быстро.
Сокращать время можно уменьшив окно, например или проредив точки, например, брать не все точки для построения прямых, а каждую n-ю. Даже если каждую вторую, это уже в 4 раза меньше вычислений, а точность по идее не сильно падает.
Тут порисечить надо. Можно сильно разрежать точки, например, начать с 1 из 10. Потом как-то оценить через какие точки проходят прямые с лучшими метриками и вокруг них в окрестностях уже все точки каждый с каждым проверить или типа того что-то.
Но я думаю, уже что-то подобное закодено. Думаю надо искать по ключевым словам "линейная регрессия" или типа того что-то.
Вообщем занимаюсь кодингом на python и мне поступил заказ написать алгоритм поиска синтетического линейного синтетика , желательно с выбором угла или наиболее растущий /падающий похожий на то что на скрине
в наличии подкачка истории котировок и полная конвертация их в долларовое движение на 1 лот, пытался написать алгоритм холодно/горячо + бинарный поиск (крутим лоты на 50% и проверяем среднеквадратичная ошибка увеличилась или уменьшилась и крутим дальше 50%,25%,12.5% и ТД) но при тесте его понял что он работает не оч хорошо, подскажите толковый быстрый алгоритм поиска, не брутить же...
Наиболее растущая / падающая линейная функция должна отыскиваться алгоритмом решения задачи линейного програмирования. Самый известный из них - симплекс-метод. Однако есть сильное сомнение, что наиболее растущий синтетик найдется среди линейных комбинаций известных инструментов. Тем более на неопределенном отрезке времени. Тем более когда известно, что независимыми среди курсов валютных пар являются лишь 7 из 28, остальные жестко связаны с ними нелинейными соотношениями типа:
EURGBP = EURUSD/GBPUSD = EURJPY/GBPJPY = EURCAD/GBPCAD = EURCHF/GBPCHF = EURNZD/GBPNZD = EURJPY/GBPJPY.
Точнее, заранее известен результат поиска: на неограниченном отрезке времени не существует ни наиболее растущего, ни наиболее падающего линейного синтетика. На каждом отрезке времени этим свойством будет обладать, вообще говоря, своя линейная комбинация валютных пар.
Наиболее растущая / падающая линейная функция должна отыскиваться алгоритмом решения задачи линейного програмирования. Самый известный из них - симплекс-метод. Однако есть сильное сомнение, что наиболее растущий синтетик найдется среди линейных комбинаций известных инструментов. Тем более на неопределенном отрезке времени. Тем более когда известно, что независимыми среди курсов валютных пар являются лишь 7 из 28, остальные жестко связаны с ними нелинейными соотношениями типа:
EURGBP = EURUSD/GBPUSD = EURJPY/GBPJPY = EURCAD/GBPCAD = EURCHF/GBPCHF = EURNZD/GBPNZD = EURJPY/GBPJPY.
Точнее, заранее известен результат поиска: на неограниченном отрезке времени не существует ни наиболее растущего, ни наиболее падающего линейного синтетика. На каждом отрезке времени этим свойством будет обладать, вообще говоря, своя линейная комбинация валютных пар.
а если теперь перевести указанное в диф. dEURGBP=?? и учесть граничные условия, то "вечер перестаёт быть томным". Не грааль (которого даже в теории нет), но ликвидирует массу ошибок
и из всех синтетиков пожалуй стоит рассматривать взвесь AUD+NZD (возможно) с небольшим довеском GBP и противовесом JPY. Эдакий ANZ
вот подобный ANZ может присутствовать как мажор в полносвязных графах и рассчётах
Вообщем занимаюсь кодингом на python и мне поступил заказ написать алгоритм поиска синтетического линейного синтетика , желательно с выбором угла или наиболее растущий /падающий похожий на то что на скрине
в наличии подкачка истории котировок и полная конвертация их в долларовое движение на 1 лот, пытался написать алгоритм холодно/горячо + бинарный поиск (крутим лоты на 50% и проверяем среднеквадратичная ошибка увеличилась или уменьшилась и крутим дальше 50%,25%,12.5% и ТД) но при тесте его понял что он работает не оч хорошо, подскажите толковый быстрый алгоритм поиска, не брутить же...
Марковиц не подходит?
Где ж вы на мажорах возьмете ровные синтетики) утопия.
яж не говорю что надо чтоб с 2010 был ровный синтетик )) нужен сборщик синтетика на каком то промежутке/отрезке времени, очевидно что для каких то пар и направлений есть свои минимальные отклонения от линейной регрессии и меньше их не сжать, хотя на самом деле синтетик будет жутко колбасить, но меньше никак
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
в наличии подкачка истории котировок и полная конвертация их в долларовое движение на 1 лот, пытался написать алгоритм холодно/горячо + бинарный поиск (крутим лоты на 50% и проверяем среднеквадратичная ошибка увеличилась или уменьшилась и крутим дальше 50%,25%,12.5% и ТД) но при тесте его понял что он работает не оч хорошо, подскажите толковый быстрый алгоритм поиска, не брутить же...