Comments 30
А где скачать? )
+1
UFO just landed and posted this here
Я — плохой человек, жадный. И я никогда не опубликовал бы реально работающую стратегию, алгоритм, советник. Я бы сам на них зарабатывал и никому бы не дал. Поэтому я крайне скептически отношусь к любым публикациям такого рода.
Но убедительно, да.
Но убедительно, да.
+1
Все верно, в 99,9% случаев люди предлагающие «прибыльных» торговых роботов мошенники.
В реальности алгоритмическая торговля это множество инфраструктурных, модельных, аналитических проблем, которые решить очень не просто. И в конечном итоге зарабатывает не оптимизатор, а логика торговой стратегии, которую вы формируете самостоятельно.
В реальности алгоритмическая торговля это множество инфраструктурных, модельных, аналитических проблем, которые решить очень не просто. И в конечном итоге зарабатывает не оптимизатор, а логика торговой стратегии, которую вы формируете самостоятельно.
+2
сам на них зарабатывал и никому бы не дали поступили бы очень глупо
правда нужно не продавать алгоритм, а давать результаты его работы в аренду, хотя и сам итоговый алгоритм не страшно отдать, очень часто бывает что в нем важны не сколько логика, а значения его параметров, а вот уже их можно продавать.
почему? риски нужно уметь оценивать и перекладывать на других.
0
Простой вопрос — сколько заработали? можно в процентах.
+1
Сделайте пример анализа реальной котировки (желательно у которой высокий потенциал большого роста=))
0
Поскольку тестирование и оптимизация все равно производятся на исторических данных, то нет никакой гарантии что выбранные стратегии будут прибыльными в будущем. Ситуация в каждом выбранном инструменте для торговли с течением времени может существенно поменяться.
Ну думали ли вы производить выборку и оптимизацию не на исторических данных а на случайных?
Ну думали ли вы производить выборку и оптимизацию не на исторических данных а на случайных?
0
Будущее предсказывать занятие бессмысленное и неблагодарное, гарантий никаких нет. Задача оптимизации не подогнать результаты под определенный исторический диапазон, а найти и подтвердить системную неэффективность на рынке. Для это и существует Walk Forward, чтобы устранять подгонку.
Оптимизировать на случайных данных тоже самое, что толочь воду в ступе. Вы подгоните, потом Walk Forward вам скажет, что это подгонка. В чем смысл?
Когда рынок меняется ваши стратегии так же должны меняться. Вместе с рынком должен перестраиваться ваш портфель торговых алгоритмов.
Оптимизировать на случайных данных тоже самое, что толочь воду в ступе. Вы подгоните, потом Walk Forward вам скажет, что это подгонка. В чем смысл?
Когда рынок меняется ваши стратегии так же должны меняться. Вместе с рынком должен перестраиваться ваш портфель торговых алгоритмов.
0
Я имел ввиду не одну случайную последовательность под которую оптимизируется система, а серию. К примеру, у нас есть стратегия с заданными параметрами мы пропускаем через нее 1000 случайных несвязанных последовательностей, если система прибыльна на всех последовательностях то такая система имеет полное право на жизнь.
0
Это безсмыслица) Как стратегия может быть прибыльной на случайных данных? Торговая стратегия зарабатывает на явных и не явных неэффективностях на рынке, которые присутствуют в исторических данных, а не на играх в теорию вероятности. Если ваш тестировщик показывает прибыль на случайных данных, то можете смело его выбросить.
0
Кто как только не торгует! Некоторые успешно торгуют и по фазам луны) Случайность штука хитрая, допускает, что можно всю жизнь успешно торговать и это все равно останется случайностью. Вспоминается опыт проводимый профессором Нолан в Беркли «Сила случайности».
0
А какие исторические данные вы используете? Я к тому что стратегия, прибыльная на тестовых данных, обычно убыточна в реальности, даже если потом ее же запустить на реальных данных, которые были во время реального запуска — и она вдруг останется прибыльной. тесты и реалии — сильно отличаются.
Если классические свечи (open,close,min,max,volume), обычно другие (я имею в виду level2 биржи конечно) не доступны либо очень дорогие, то во время торговли можете столкнуться с классикой форекс-бирж — проскальзывание и не полностью закрытые ордера, когда по графику рынок зашел ниже вашего стопа, но он почему то не сработал… а причина элементарна — графики bid/ask не обязательно параллельны, особенно в моменты резких движений (подавляющее количество стратегий добавляют фиксированную комиссию, равную ширине спреда), мало того, в зависимости от ваших объемов реальный спред может увеличиваться, как результат — не полностью закрытые позиции.
Стратегия должна торговать с учетом ликвидности рынка, с учетом объема, с которыми работает ваш брокер (еще одна закрытая информация), особенностей серверного и клиентского софта вашего брокера (например лаг между получением информации, отсылкой команды брокеру и реальным временем его исполнения) и конечно же наличием или отсутствием условия — 'получение прибыли клиентом расценивается как мошенничество'.
И это я еще молчу, какие алгоритмические ухищрения брокер может добавлять между вами и рынком.
Если классические свечи (open,close,min,max,volume), обычно другие (я имею в виду level2 биржи конечно) не доступны либо очень дорогие, то во время торговли можете столкнуться с классикой форекс-бирж — проскальзывание и не полностью закрытые ордера, когда по графику рынок зашел ниже вашего стопа, но он почему то не сработал… а причина элементарна — графики bid/ask не обязательно параллельны, особенно в моменты резких движений (подавляющее количество стратегий добавляют фиксированную комиссию, равную ширине спреда), мало того, в зависимости от ваших объемов реальный спред может увеличиваться, как результат — не полностью закрытые позиции.
Стратегия должна торговать с учетом ликвидности рынка, с учетом объема, с которыми работает ваш брокер (еще одна закрытая информация), особенностей серверного и клиентского софта вашего брокера (например лаг между получением информации, отсылкой команды брокеру и реальным временем его исполнения) и конечно же наличием или отсутствием условия — 'получение прибыли клиентом расценивается как мошенничество'.
И это я еще молчу, какие алгоритмические ухищрения брокер может добавлять между вами и рынком.
0
1) Данные использую от проверенных провайдеров, например, IQFeed.
Тесты от реальности могут отличаться по множеству причин. В основном это различия в моделях тестирования и исполнения. Например, большинство тестировщиков могу заглядывать в будущее, что в реальности исключено. Или различия в последовательности генерации событий, отсутствие задержек, комиссий и т.д. Даже самое мизерное расхождение может сильно отразиться на результатах. В SoftAlgoTrade код торговой стратегии единый для всех режимов торговли и в принципе отсутствует возможность заглядывания в будущее, так как модель полностью событийная.
2) Для тестов использую тики, они дают более точные результаты. Тестирую обязательно с задержками, частичным исполнением, комиссией и проскальзыванием. См. Режимы исполнения заявок.
3) Если вы торгуете на форекс кухне, то чего вы от них ждете? Конечно, вас прокинут при первой удачной возможности. Если хотите торговать валютой используйте проверенных брокеров — IB, LMAX и т.д. А еще лучше торгуйте на фондовых и срочных рынках.
Тесты от реальности могут отличаться по множеству причин. В основном это различия в моделях тестирования и исполнения. Например, большинство тестировщиков могу заглядывать в будущее, что в реальности исключено. Или различия в последовательности генерации событий, отсутствие задержек, комиссий и т.д. Даже самое мизерное расхождение может сильно отразиться на результатах. В SoftAlgoTrade код торговой стратегии единый для всех режимов торговли и в принципе отсутствует возможность заглядывания в будущее, так как модель полностью событийная.
2) Для тестов использую тики, они дают более точные результаты. Тестирую обязательно с задержками, частичным исполнением, комиссией и проскальзыванием. См. Режимы исполнения заявок.
3) Если вы торгуете на форекс кухне, то чего вы от них ждете? Конечно, вас прокинут при первой удачной возможности. Если хотите торговать валютой используйте проверенных брокеров — IB, LMAX и т.д. А еще лучше торгуйте на фондовых и срочных рынках.
+1
3)…
Заинтересовался LMAX — почитал сайт, которому доверяю (forexfactory), отзывы весьма смешанные про эту компанию как брокера: https://www.forexfactory.com/showthread.php?t=266866&page=92
Просто для инфы…
А можете порекомендовать FOREX Spot, чтобы не «кухня» была, но не LMAX? )
Заинтересовался LMAX — почитал сайт, которому доверяю (forexfactory), отзывы весьма смешанные про эту компанию как брокера: https://www.forexfactory.com/showthread.php?t=266866&page=92
Просто для инфы…
А еще лучше торгуйте на фондовых и срочных рынках.
А можете порекомендовать FOREX Spot, чтобы не «кухня» была, но не LMAX? )
0
Вряд ли я смогу вам дать толковый совет, так как сам форекс не торгую.
В основном работаю с фьючерсами на срочном рынке, там регулирование получше будет.
В основном работаю с фьючерсами на срочном рынке, там регулирование получше будет.
0
Ок.
Кухни наше все. Без нескольких десятков тысяч зеленых выйти на прямой доступ (с учетом стоимости и комиссий), либо на валютные фьючерсы в США затруднительно.
Забыли…
По поводы ваших статей хотел сказать, хорошо, мне нравится! Идея стохастического поиска с вырезанием подпространства кажется разумной. Walking Forward тоже вещь правильная.
Хотел подбросить идею, хотя продукт и так навороченный, как я понял, но идея стоит того. Как кто-то писал, несколько последовательностей надо подать стратегии. Я разовью эту идею. Это один из milestones, или говоря по-нашему, важных шагов построения стратегии. Монте-Карло симуляция исходов. Нужна для анализа исхода торговли при смещенных туда-сюда точках входа в рынок. Очень нужна, если сигналов генериться больше, чем сделок. И пока одна сделка в рынке открыта, другие сигналы не реализованы. Таким образом, вместо одной реализации последовательности сделок, мы смотрим на несколько (десятки-сотни).
У меня получались примерно такие картинки: https://drive.google.com/open?id=0B_Au3ANgcG7COFg5a3A5dXJRZ1E
И справа я моделирую плотность фактора восстановления. Получают медиану, квантили нужные. Делаю статистические выводы о состоятельности стратегии.
Это можно делать на валидационном отрезке, в моем случае он один и расположен в будущем.
Кухни наше все. Без нескольких десятков тысяч зеленых выйти на прямой доступ (с учетом стоимости и комиссий), либо на валютные фьючерсы в США затруднительно.
Забыли…
По поводы ваших статей хотел сказать, хорошо, мне нравится! Идея стохастического поиска с вырезанием подпространства кажется разумной. Walking Forward тоже вещь правильная.
Хотел подбросить идею, хотя продукт и так навороченный, как я понял, но идея стоит того. Как кто-то писал, несколько последовательностей надо подать стратегии. Я разовью эту идею. Это один из milestones, или говоря по-нашему, важных шагов построения стратегии. Монте-Карло симуляция исходов. Нужна для анализа исхода торговли при смещенных туда-сюда точках входа в рынок. Очень нужна, если сигналов генериться больше, чем сделок. И пока одна сделка в рынке открыта, другие сигналы не реализованы. Таким образом, вместо одной реализации последовательности сделок, мы смотрим на несколько (десятки-сотни).
У меня получались примерно такие картинки: https://drive.google.com/open?id=0B_Au3ANgcG7COFg5a3A5dXJRZ1E
И справа я моделирую плотность фактора восстановления. Получают медиану, квантили нужные. Делаю статистические выводы о состоятельности стратегии.
Это можно делать на валидационном отрезке, в моем случае он один и расположен в будущем.
+1
Отличная идея!
Подобный подход должен дополнительно повысить качество разрабатываемых торговых стратегий. Нужно будет как-нибудь проверить.
Подобный подход должен дополнительно повысить качество разрабатываемых торговых стратегий. Нужно будет как-нибудь проверить.
0
Монте-Карло симуляция исходов помогает сделать выводы об ожидаемых показателях на реале.
Вывод может звучать примерно так:
с вероятностью 0.99 через 2 года система будет с прибылью > 0%;
с вероятностью 0.5 через 3 года система будет с прибылью > 50%, с профит-фактором >= 2.
Тезис таков, что одна реализация последовательности сделок — в присутствии массы не реализованных сигналов — это одна возможная реализация из бесконечно многих других. И как правило подгонка стратегии — это подгонка под один уникальный ряд сделок. При этом, если сдвинуть хотя бы первую сделку на несколько минут/часов, то вся последовательность может измениться.
Если не «монтекарлить» — я сам обычно не монтекарлю, когда подбираю параметры — то можно просто поделить на 2 прибыль и умножить на 2 просадку. Это будет нижняя оценка. И реал будет где-то между тестером и нижней оценкой. ИМХО…
Вывод может звучать примерно так:
с вероятностью 0.99 через 2 года система будет с прибылью > 0%;
с вероятностью 0.5 через 3 года система будет с прибылью > 50%, с профит-фактором >= 2.
Тезис таков, что одна реализация последовательности сделок — в присутствии массы не реализованных сигналов — это одна возможная реализация из бесконечно многих других. И как правило подгонка стратегии — это подгонка под один уникальный ряд сделок. При этом, если сдвинуть хотя бы первую сделку на несколько минут/часов, то вся последовательность может измениться.
Если не «монтекарлить» — я сам обычно не монтекарлю, когда подбираю параметры — то можно просто поделить на 2 прибыль и умножить на 2 просадку. Это будет нижняя оценка. И реал будет где-то между тестером и нижней оценкой. ИМХО…
0
хм, тики с объемами? учитываете проскальзывания и задержки… интересно, тестер часть торговой платформы или ваш собственный? учитывая необходимость проведения многомерной оптимизации, есть возможность его распараллеливания? или даже запуска на GPU?
p.s. стратегии, заглядывающие в будущее, это даже не смешно :)
p.s. стратегии, заглядывающие в будущее, это даже не смешно :)
0
Все программы платформы моя разработка) Особенность комплекса в единой архитектуре. После тестов код торговой стратегии не нужно дорабатывать под конкретный коннектор, можно сразу отправлять в торговлю. Сейчас присутствует коннектор к Московской бирже, скоро будет доступен коннектор к IB. В рамках одной стратегии можно одновременно торговать через несколько коннекторов и т.д.
Без многопоточности никак, все и так распараллено по максимуму. GPU не заточен под итеративные задачи, к сожалению, здесь традиционные CPU лучше справляются.
Без многопоточности никак, все и так распараллено по максимуму. GPU не заточен под итеративные задачи, к сожалению, здесь традиционные CPU лучше справляются.
0
по моему мнению GPU тут более чем идеален, стратегия в виде opencl main метода, параметры которого — оптимизируемые параметры стратегии, для оптимизации просчитываем все возможные значения алгоритма стратегии, организуя последовательно во времени, полученные данные загружаем в видеокарту — и запускаем вычисление сотен или даже тысяч комбинаций параметров. Так как данные из памяти читаются последовательно (эмуляция торгов проходит почти наверняка линейно во времени) — то пока внутренние переменные и входные параметры стратеги помещаются в кешпамять карты (толи 16кб толи еще сколько, надо изучать подробнее) — вычисления будут утилизировать мощности видеокарты почти по максимумую.
Какой бы вы алгоритм не взяли, всегда можно считать не по 1 точке в пространстве параметров, а сразу их серию, без заметного ущерба для алгоритма.
Какой бы вы алгоритм не взяли, всегда можно считать не по 1 точке в пространстве параметров, а сразу их серию, без заметного ущерба для алгоритма.
0
Все отлично, но не прозвучал ответ на главный вопрос — что же автор использует в качестве целевой функции в задаче оптимизации?
0
И да, «25-50% от общего объема пространства вариантов» это, мягко говоря, очень много
0
Sign up to leave a comment.
Как я сделал тестер-оптимизатор для нахождения прибыльных стратегий на Бирже — 2