Алготрейдинг – это стиль торговли на финансовых рынках, при котором используется торговый алгоритм, который включает в себя правила открытия, закрытия и сопровождения позиции, расчета объема позиции и прочих параметров.
Торговый алгоритм или по-другому алгоритмическая торговая система – это основа любого советника. Поэтому для создания робота в первую очередь нужно разработать эффективную алгоритмическую торговую систему.
Над разработкой торговых систем работают целые группы программистов и ученых. Какие шансы у обычного человека преуспеть в этом бизнесе? О том, что шансы есть, говорят живые на протяжении долгого периода времени мониторинги автоматических торговых систем, например:
Конечно, создать долгосрочную прибыльную торговую систему очень нелегко. Фонды тратят на разработку таких систем миллионы долларов в год. Это требует много сил и времени, понимания и знания, бесконечных поисков новых алгоритмов и совершенствования старых. Но у обычного алготрейдера есть определенные преимущества перед такими структурами как фонды.
Например, розничные трейдеры обладают большей свободой для торговли на небольших рынках. Они могут получать значительную доходность в этом пространстве, даже когда институциональные фонды не могут.
Фонды страдают от «обмена технологиями», поскольку текучесть кадров может быть высокой. Соглашения о неразглашении информации и об отказе от конкуренции уменьшают проблему, но она по-прежнему приводит к тому, что многие количественные фонды «охотятся за одной и той же сделкой». Ввиду низких капиталов розничных трейдеров их сделки практически не оказывают никакого влияния на рынок.
Итак, как же разработать эффективную алгоритмическую торговую систему?
- Сперва нужно четко сформулировать торговую идею. Есть два минимальных требования, которые должны быть рассмотрены в идее – точка входа в рынок (правило или несколько правил) и точка выхода из него (так же). Стратегия может состоять даже из совершенно разных условий на покупку и на продажу, в ней может быть несколько вариантов правил входа или выхода. Единственное правило – должны быть рассмотрены и входы, и выходы. Также торговая стратегия содержит правила управления капиталом, прибылью и убытком. Управление капиталом можно разработать позже, а управление прибылью и убытками относятся к правилам входа.
- Подберите наилучшие для ее реализации инструменты. Решите, какие – индикаторы, ценовые модели, какие-то данные с сайтов в сети или что-то еще. Правила должны быть четкими и не подразумевать вариантов. Пример четких правил – выставить селл-стоп ордер на открытии новой свечи ниже нижней тени предыдущей свечи на 5 пунктов, если предыдущая свеча пробивала скользящую среднюю EMA55, но закрылась ниже нее, при этом цена не закрывалась выше EMA55 последние 10 свечей, а EMA55 на предыдущей свече ниже, чем 20 свечей назад. Пример нечетких правил – входим в продажи, если стохастик в перекупленности, а EMA55 падает.
- Напишите ее правила в виде алгоритма. Алгоритм будущего советника поможет вам не запутаться во всех логических завихрениях его работы и поможет вам создать стройный и логичный код.
После того как будет проделана эта работа, можно переходить к следующему этапу – написанию, тестированию и оптимизации советника на базе разработанной алгоритмической торговой системы:
- Напишите по алгоритму своего советника. По возможности постарайтесь оптимизировать ваш код, чтобы тестирование и оптимизация проходили как можно быстрее.
- Протестируйте и оптимизируйте ваш советник. Проверьте журнал на наличие ошибок.
- Подберите оптимальный таймфрейм для работы советника и оптимизируйте на максимально большом количестве инструментов.
- Поставьте ваш новый советник на демо-счет. Ежедневно просматривайте журнал терминала на наличие ошибок. Некоторые из них могли не проявиться на стадии тестирования. Также вы увидите реальную работу вашего советника и сможете примерно оценить его эффективность без потери реальных денег.
- Установите советник на небольшой реальный счет. После получения достаточного количества для анализа данных, проведите анализ эффективности работы советника, сравните с результатами, полученными при тестировании и тестах на демо-счете. Обращать внимание при оценке стоит на такие параметры, как частота и продолжительность сделок, максимальная просадка по счету, максимальные прибыли на одну сделку, размер и длительность средней проигрышной и выигрышной сделки, общее число сделок, отношение убыточных к прибыльным, количество выигрышных и проигрышных сделок подряд и их величина.
Периодически отслеживайте и координируйте работу советника, вносите изменения в код, если это необходимо или у вас появились идеи по улучшению его работы.