Совсем недавно мы рассмотрели такую программу как Shell и библиотеку API. Безусловно, овладение навыками программирования торговых стратегий, открывает для пользователя огромные горизонтов не только как трейдера, но и как создателя торговых роботов на продажу. Однако, не для каждого пользователя интересно программирование, и не каждый пользователь готов потратить время на изучение библиотек. Не каждый трейдер хочет научиться писать торговых роботов на заказ и, зачастую, хочет создавать торговые стратегии для себя. Согласитесь, было бы круто иметь программу, которая может с помощью уже готовых компонентов создавать торговые стратегии. В S# понимают это, и создали конструктор торговых роботов, который позволяет создавать торговых роботов при помощи кубиков – Designer. trade-system.png Сейчас многие начнут думать: «Зачем? Есть же TSlab.» На самом деле - «Есть за чем». Во первых, он более интуитивно понятный, то есть пользователю проще сориентировать в интерфейсе программы. Во вторых, программа совершенно бесплатна, что позволяет пользователю, начать работать с ней не вкладывая ни копейки! В третьих, программа интегрируется со всеми нашими продуктами, например с Hydra, и более того, сама способна скачивать маркет данные. market-data-download.png Вообще умение скачивать маркет данные самостоятельно – огромное преимущество.. Пользователь имеет возможность использовать не несколько программ, а одну, для проведения тестирования созданных торговых стратегий. Интерфейс интуитивно понятный, и позволяет легко адаптировать в среде пользователя. trading-strategy-market-data.png Что же такое Designer? Designer – совершенно уникальная программа. Она дифференцирует элементы стратегии на простейшие элементы, как в конструкторе, и позволяет из этих элементов собирать торговую стратегию. Большой функционал кубиков позволяет создавать самые простые и самые сложные торговые стратегии. Все что нужно от пользователя выбрать функционал стратегии. Кубики подразделяются на разделы, которые для удобства пользователя включают группы кубиков. Это позволяет улучшить понимание и интерфейс программы. При этом программа препятствует возникновению ошибок, на стадии проектирования стратегий, то есть если кубик содержит данные одного типа, он не будет передавать данные на кубик с данными другого типа, что позволяет избежать ошибок. trading-systems.png Это приводит к тому, что пользователь не теряет время на выявление причин ошибки на стадии отработки программ. Вообще стадия отработки это отдельная глава. На данном этапе пользователю предоставляются все инструменты для отработки своей стратегии, от функционала кубиков, до возможности интегрировать свои элементы и пошагово разбирать ход отработки стратегии. Бэк тест – удобная функция, реализованная в программе. Пошаговое рассмотрение исполнения стратегии, при помощи кнопки останова, позволяет на любом этапе обнаружить ошибку. Безусловно - это экономит время, что в сою очередь снижает расходы пользователя. trading-robot.png Более опытные пользователи могут создавать свои собственные элементы на языке C#. Все что нужно будет это создать свой элемент, в который пользователь сохраняет свой код. Таки элементы и стратегии в целом работают значительно быстрее стратегий, написанных в визуальном дизайнере, что дает пользователю стимул развиваться при этом, не меняя удобной среды разработки. Так же прtимущество стратегий на C# - не ограниченные возможности при создании, можно описать любой алгоритм, дополнив его при желании стандартными кубиками операций. Процесс создания стратегии проходит напрямую в S#.Designer или среде разработки на языке C# (наиболее популярной из сред разработок является Microsoft Visual Studio), используя библиотеку для профессиональной разработки торговых роботов на языке C# и S#.API. prigramming-code-trading-strategy.png Говоря о Designer, можно сказать, что это прогрессивный продукт. Наличие возможности включать свои коды в программные решения, позволяет расширить диапазон применения Designer. Возможность тестирования – снижает потенциальные риск. Возможность бесплатно скачать и использовать его – делает продукт доступным для любого. Остается просто начать работать
В нашей сегодняшней статье мы расскажем о том где можно бесплатно или за относительно небольшие деньги скачать исторические данные по американскому рынку, а также об универсальном способе скачивать, сохранять, анализировать и использовать в собственных алгоритмах любые типы рыночных данных. Прежде всего давайте коснемся основных источников маркет-даты по американским ценным бумагам с кратким их описанием. В целом можно выделить три типа источников: 1. Источники исторических данных, например биржи, которые поставляют историю торгов на собственной площадке (конечно оставляем за гранью прямые подключения которые относятся к типу 2). 2. Источники рыночных данных, например брокерские терминалы, через который конечно можно загрузить в том числе и определенную историю, но основной интерес представляет то, что происходит прямо сейчас. 3. Универсальные источники, которые объединяют в себе тип 1 и тип 2, и как правило представлены специализированными сервисами. К первому типу источников можно смело отнести такие сайты как Google и Yahoo Finance: Несомненным достоинством этих сервисов является их полная бесплатность, однако, с другой стороны, интрадей маркет-данные скачать будет невозможно, также как невозможно получить, что либо кроме свечей. Под что-либо мы конечно подразумеваем такие данные как Level1, Order Log, Market Depth и т.д. Это практически исключает возможность использования полученных данных для тестирования стратегий, предполагающих торговлю внутри дня. С другой стороны, если ваша стратегия предполагает среднесрочную торговлю, например, основана на подходе “Черепах”, либо вы практикуете портфельное инвестирование без слишком частого перетряхивания портфеля, то использование данных с этих источников будет очень обоснованно и целесообразно. К источникам рыночных данных как уже написано выше, относятся, прежде всего, брокерские терминалы или другие подключения к брокеру, которые есть у каждого практикующего трейдера. Например: Fusion/Blackwood, Rithmic, Gain Capital, OEC Trader, Sterling и т.д. Плюсы от использования данного источника видны практически сразу. Во-первых, это бесплатно (конечно без учета тех комиссий, которые вы платите брокеру). Во-вторых, это множество данных которые можно получить: некоторые типы свечей, тики, Level1, DOM и т.д. К минусам можно причислить отсутствие глубокой истории и необходимость хитрого сбора нужных данных, когда без специализированного ПО не обойтись. При таком подходе, ваши возможности для тестирования значительно расширяются. Появляется возможность создавать не только внутридневные стратегии, но и высокочастотные алгоритмы, основанные на найденных исторических закономерностях. Универсальные источники - это в большинстве своем специализированные сервисы, которые поставляют как реал-тайм маркет-дату, так и любую запрошенную историю, например IQFeed. Главным плюсом подобного источника является его универсальность и наполненность данными, т.е. в любой момент по запросу пользователя можно получить любые нужные данные, тиковые, свечи, стаканы и т.п. Минусом такого подхода является платность данного сервиса, цена на который начинается от 50$ в месяц в базовой версии. Если возникает желание получить несколько больше, то потребуется подключить дополнительные функции, которые как вы уже поняли тоже будут стоить денег. Но, как и предыдущий вариант, вам потребуется специальная программа для сбора и хранения данных. Ведь по окончанию действия подписки вы потеряете все данные. Плюс глубина истории, хоть и больше, чем у предыдущего способа, но все равно она ограничена. Особенно для тиковых данных. Теперь мы можем перейти к самому интересному, а как же нам оптимально получать историю и при этом не тратить много денег. На наш взгляд, здраво выглядит следующий подход: - скачать дневные свечи с бесплатного источника, и протестировать свою стратегию предварительно на этих данных; - скачать интрадей данные через своего брокера, и протестировать уже более детально стратегию - покупка подписки на платный сервис и выкачивание всего интересующего массива данных, Для того, чтобы реализовать подобное, потребуется специализированное ПО, которое будет за вас вначале загружать нужные данные с нужного сервиса, а затем в едином формате продолжит сбор их от вашего брокера. Таким образом, единство данных не будет утрачено и их можно будет легко использовать в дальнейшем анализе. Для таких задач мы создали программу S#.Data (Hydra) (ознакомиться с инструкцией и примерами по работе с программой можно здесь). Это бесплатная программа, доступная для скачивания. Hydra предоставляет множество различных функций, но основной ее задачей является скачивание и накопление данных. Hydra поддерживает загрузку не только свечей любого таймфрейма, но и тиков, ордер лога, level 1, стаканов по множеству инструментов. При этом программа умеет не только скачивать, но и накапливать данные, идущие от брокера, например из OEC Trader, Sterling и т.д. Hydra хранит данные в форматах CSV или BIN (сверх компактный формат хранения данных - 7 байт на 1 снимок стакана или 2 байта на тик). Данные располагаются локально, как файлы, и к ним есть доступ из любых программных языков , а также позволяет в конечном итоге пользователю хранить и использовать огромный массив рыночных данных на домашнем компьютере, сервере или в облаке (поддерживается AWS). Подводя итоги настоящей статьи, надеемся, что методы изложенные в ней позволят вам, получить маркет-дата за адекватные средства и немного приблизиться к профессиональным участникам. Они давно так делают! Желаем удачи на рынке!