[опрос] Платформа для алготрейдинга
Интересно, кто что использует.
Понятно, что варианты ответов могут не совсем правильно передавать суть. Т.к., например, StockSharp может использовать коннектор для QUIK.
Поэтому, если решите принять участие в опросе, по возможности указывайте ту платформу, API которой служит основой для разработки роботов.
В вариантах ответов не указал SmartCom (возможно, зря), поскольку, по-моему мнению, использование этой библиотеки ближе к варианту самописной платформы.
1. Программа простая для понимания
2. Внутренний язык простой. Тысячи примеров программ на официльном сайте. Я как не программист смог достаточно бысто изучить его и написать первого робота.
3. Хорошее русское сообщество на Amisite, где всегда помогут советом. Так, например, мне там помогли найти коннектор к R, чтобы в Amibroker использовать весь функционал R.
4. С помощью AmiSharp коннектится к Quik и работает стабильно. Из Quik можно получать тики. Пробовал запускать типа hft: если три последовательных тика увеличиваются, то покупаем на 4-м по рынку. Продаем также. В целом работает, но из-за скорости Quik имеется большое проскальзование. Так, что лучше реализовывать идеи на минутках и выше.
В целом. При использовании Amibroker проблема не в программировании, а в поиске идеи для системы.
Сейчас смотрю в сторону C# и S#.
Нет никаких споров.
Дело не в этом. Как уже написал, я использую С#, но не поручусь, что это лучше, чем самописная, например на R.
Лучшая платформа для алготрейдинга та, с которой трейдер умеет эффективно работать.
Сам пока пишу на QLua, но активно изучаю C# (опять же в связке с квиком). Что будет через 5-10 лет? Доживем — увидим…
Но универсальность иногда урезает необходмый функционал и скорость работы. Писать что-то свое нужно на этапе, когда есть четкое понимание что писать, как и для чего.
Можно ведь коннектор написать. Тогда сразу после тестирования стратегии можно будет запускать python-робота на реальной торговле.
Ну это скорее не проблема, а задача. Решается она без особых сложностей. Вариантов много. Один из самых простых — это использовать redis (in-memory key-value database). Если конкретнее, то: redis.io/topics/pubsub
Суть в том, что из python можно подписаться на сообщения в БД по определённому адресу. И когда C# будет отправлять туда данные, то на стороне python'а они будут автоматически появляться. Нужно лишь поверх этого спроектировать простенький протокол (например, на основе json'а).
Есть и другие варианты: zeromq, grpc (точно не уверен), rest-сервер с вебсокетами.
Затем, чтобы робота надо было только один раз писать и с тестов можно было сразу запускать на реальной торговле. Без переписывания с python на другой язык и привязывания к api терминала/брокера.