Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Они там на истории. (Действительно все белые, что полностью соответствует рекламе, подтверждаю.)
А просто так использовать что-либо, только потому что это открыто, при этом не понимая, как это работает ни кто в здравом уме не будет.
Для реализации требуется перебор всех вариантов. Общее количество вариантов равно 2 в степени N, где N - количество инструментов в портфеле. Может кто-то сможет помочь - готовым кодом. Буду очень признателен.
Оптимизировал по просадке. Линия получилась по прямее. Но в ходе моих размышлений вдруг возник вопрос. Как Вы учитываете спред? Ведь для этого необходимо знать сколько сделок будет совершено и какими объёмами! В своём индикаторе я не учитываю спред, но зато попытался сосчитать сколько пунктов мы потеряем/приобретём на свопах. При оптимизации свопы не учитываются.
Внимание! Настоятельно рекомендую не использовать большое количество валютных пар и количество анализируемых баров.
При оптимизации по просадке 10 валютных пар и параметре Lengh = 100 индикатор инициализируется около 5 секунд!!! Имейте терпение :)
Пример заполнения файла ET_para.csv, который должен находиться в папке files:
Первая строка используется под шапку и в расчётах не участвует!
Оптимизировал по просадке. Линия получилась по прямее. Но в ходе моих размышлений вдруг возник вопрос. Как Вы учитываете спред? Ведь для этого необходимо знать сколько сделок будет совершено и какими объёмами! В своём индикаторе я не учитываю спред, но зато попытался сосчитать сколько пунктов мы потеряем/приобретём на свопах. При оптимизации свопы не учитываются.
Внимание! Настоятельно рекомендую не использовать большое количество валютных пар и количество анализируемых баров.
При оптимизации по просадке 10 валютных пар и параметре Lengh = 100 индикатор инициализируется около 5 секунд!!! Имейте терпение :)
Хорошая работа...
Спред и своп не учитываю. Индикатор работает только с пунктами.
Если учитывать объем, спред и стоимость пункта, то получим виртуальную кривую Эквити, которая напрямую зависит от корректных значений этих параметров. Требуется вычислить стоимость пункта на каждом баре для всех инструментов портфеля в валюте депозита. Во многих ДЦ значение спреда меняется, что существенно исказит кривую.
Меня интересует ваш алгоритм перебора всех вариантов. Буду вам очень признателен за помощь.
Матрица вариантов формируется следующим образом:
Для облегчения понимания этого кода я подгрузил таблицу Excel, в которой забиты формулы для формирования подобной частной матрицы.
Ну а дальше остаётся только перебором пройтись по всем вариантам :)
Матрица вариантов формируется следующим образом:
Для облегчения понимания этого кода я подгрузил таблицу Excel, в которой забиты формулы для формирования подобной частной матрицы.
Ну а дальше остаётся только перебором пройтись по всем вариантам :)
спб
Написал более простой код:
Номер варианта представляется в виде двоичной системы счисления.Добавил отображение просадки и профит-фактора (отношение текущего баланса к максимальной просадке). Чем больше это число - тем стабильнее выглядит график. Именно по этому значению ведётся оптимизация.
В комментариях выводится количество секунд, затраченное на оптимизацию. :)
EvgeTrofi:
Внимание! Настоятельно рекомендую не использовать большое количество валютных пар и количество анализируемых баров.
При оптимизации по просадке 10 валютных пар и параметре Lengh = 100 индикатор инициализируется около 5 секунд!!! Имейте терпение :)
Подумал, как обойти ограничение по количеству баров. Нужно временной промежуток для оптимизации разделить на число, например, 100. Если в промежутке 1000 бар, то получим 1000 / 100 = 10 временных точек, в которых производим расчеты. Т.о. чем меньше число, тем выше точность расчета.
Тоже чесал репу на эту тему. Получается, чем меньше участков, тем выше вероятность подгонки.
С другой стороны, R-Портфель использует платежные матрицы, средь которых наиболее информативными являются квадратные, т.е. сколько фин. инструментов анализируется, столько примерно и должно быть участков.
Но суть в том, что в отдельных моментах инструменты даже хорошо коррелированные могут менять знаки корреляций. Т.е. если разбивать участки как попало, то есть вероятность, что в анализ могут попасть как раз такие нехорошие моменты с измененными знаками.
Короче говоря, пришел к выводу, что разбивать участки нужно не через равные интервалы (с одинаковым количеством баров), а на экстремумах какого нибудь одного инструмента (например, того, доля которого в портфеле максимальна). Т.е. брать ZigZag или другой алгоритм, обнаруживать точки перелома тенденций и по этим точкам (только на этих барах) скидывать котировки для дальнейшего скармливания R-Портфелю (или другой проге портфельного анализа). Так вроде бы должно получиться наиболее кошерно и максимально информативно. А иначе, получается анализ некоего шума между точками изменений коррекций, например, в боковиках.