Блог им. engineman

Какую платформу для торговых роботов выбрать: TSLab,WealthLab,StockSharp?

Существует большое количество платформ для торговых роботов, наиболее популярные: TSLab, WealthLab, StockSharp.
Почему именно эти три платформы?
Язык программирования C# 

   Какую платформу для торговых роботов выбрать: TSLab,WealthLab,StockSharp?Освоение языка программирования – это один из самых сложных и трудоемких этапов создания торгового робота. Возникает естественное желание найти такой язык, освоив который мы раз и навсегда закрыли бы для себя вопрос изучения других языков и сконцентрировались непосредственно на написании торговых роботов. Выбранный язык должен позволить нам реализовать робота любой сложности и при этом быть актуальным для различных платформ. C# как раз является таким языком.

   WealthLab, StockSharp, TSLab позволяют совершить весь перечень работ, начиная тестированием и заканчивая реализацией.

Основные различия платформ WealthLab, StockSharp и TSLab

TSLab — Торговые Роботы без программирования

Какую платформу для торговых роботов выбрать: TSLab,WealthLab,StockSharp?Эта платформа является основателем визуального редактора для программирования роботов. Программа TSLab позволяет создавать роботов с помощью “кубиков”, каждый из которых выполняет определенные функции. Чтобы написать стратегию, нам нужно соединить кубики между собой. Такой подход к созданию роботов удобен тем, что помогает представить сложные вещи в простом и привычном нам виде.
Какую платформу для торговых роботов выбрать: TSLab,WealthLab,StockSharp?













Как было сказано выше, платформа TSLab поддерживает язык C#. Те же самые кубики, в конечном счете, и есть программный код, написанный на C#. Есть возможность писать непосредственно на C# с использованием TSLab API, что существенно расширяет возможности. Можно комбинировать код на C# и кубики, самостоятельно программируя недостающие элементы.

Торговые роботы StockSharp — 100% программирования

Какую платформу для торговых роботов выбрать: TSLab,WealthLab,StockSharp?StockSharp – это библиотека для торговых роботов, написанная на C#. Написание роботов с помощью библиотеки StockSharp идет непосредственно в среде для программирования Visual Studio. Довольно сложно доступно и коротко описать принцип работы с библиотекой в словах. 
Из опыта проведения курсов по программированию на плаформе StockSharp, можно привести такую статистику: среднее время, которое уходит на освоение библиотеки у человека не являющегося профессиональным программистом – в лучшем случае около 6 месяцев. Из этих 6 месяцев, 2 – это изучение основ программирования, еще 2 – изучение библиотеки, последние 2 месяца – это самостоятельная работа с библиотекой в попытках написать робота. Этот срок с учетом того, что вы будете регулярно заниматься программированием.

TSLab или StockSharp?

TSLab и StockSharp являются противоположностями, и конечный выбор стоит за вами. Нельзя сказать, что одна платформа хуже или лучше другой, все зависит только от ваших целей и ваших возможностей. Еще один интересный факт, говорящий о том, что ни один из подходов не является универсальным и идеальным – TSLab развивает свой API, т.е. подход создания роботов с помощью программирования, а StockSharp разрабатывает S#.Studio – платформу, представляющую собой графическую часть для программной библиотеки, призванную облегчить работу трейдера. Судя по всему, обе компании осознают свои слабые места и стараются устранять их. Идеальным вариантом платформы для создания торгового робота представляется решение, когда трейдер может начать с визуального конструктора и дорасти до роботов, полностью написанных на языке программирования. Наиболее близким к той цели выглядит платформа TSLab, визуальный редактор уже готов, TSLab.API развивается очень быстро более прост в освоении, нежели S#.API.

Торговые роботы WealthLab

WealthLab представляет собой некоторую промежуточную стадию между StockSharp и TSLab. Визуальный редактор в WLD есть, но он плохо развит. Стратегии пишутся на языке программирования, но первые простые стратегии можно начать писать уже через месяц или даже через несколько недель после активного изучения программирования. Сравнивая с другими рассматриваемыми нами платформами, сильной стороной WealthLab является хорошо развитый и продуманный тестер стратегий. Если мы говорим о тестировании внутридневных и среднесрочных стратегий, WealthLab, пожалуй – наиболее удобное решение. Графическое представление результатов тестирования и некоторые другие дополнительные возможности, делают работу очень комфортной. Есть и недостаток – WLD использует только одно ядро процессора для вычислений, в результате чего скорость тестирования довольно низкая, если сравнивать со скоростью тестирования на TSLab. 

WLD разрабатывался для европейского и американского рынка. Несмотря на большую популярность этой платформы на российском рынке, до сих пор не разработан ни один официальный коннектор от WLD к российским терминалам. Это является существенным недостатком WLD. На момент написания статьи, существует несколько решений от сторонних российских разработчиков, позволяющих подсоединять WLD к российским торговым платформам.

★17
44 комментария
в заголовке вопрос, а в содержании что-то описываете(очень субъективно и в целом не о чем)… Статья от нечего делать или чтобы рейтинг поднять?
avatar
Александр, нужно было наверное подытожить, но мне кажется вывод очевиден, тслаб — оптимальный вариант.
avatar
из бесплатных
avatar
Lightest, «За использование программы TSLab взимается абонентская плата в размере 2600 руб./мес. (Оплата за первый месяц использования программы производится в полном размере не зависимо от дня подключения данной услуги.)

Тестовый доступ предоставляется бесплатно на 7 календарных дней. ФОРТС доступен только в просмотровом режиме.» Не бесплатно кажется

avatar
Александр, 
С 1 мая 2016 года ежемесячная стоимость TSLab у брокеров будет составлять:
— Финам: 2600 руб, Plaza — 4000 руб, HFT — 3500 руб
— ITInvest: 3500 руб, Plaza — 4500 руб
— Алор: 2400 руб, Plaza — 4000 руб
— Риком: 2400 руб, Plaza — 4000 руб
— Открытие: 2400 руб, Plaza — 4000 руб
— Солид: 2400 руб, Plaza — 4000 руб
— Церих: 2400 руб, Plaza — 4000 руб, IB = 3500 руб
— БКС: 2400 руб, Plaza — 4000 руб
avatar
Lightest, что такое TSLab HFT?
Александр, использование тслаба платно только для торговли… а тестить тслабом все бесплатно… т.е очень низкий порог входа
avatar
Александр, платно только если торговать,  а для тестирования и построения роботов тслаб бесплатен. 
avatar
Lightest, Самый главный вопрос вы так и не озвучили? Цель какая?
kbrobot.ru, 
тестирование — тслаб дает возможность выразить стратегию в виде алгоритма\блок-схемы без знаний языка С# (хотя приветствуется) и анализировать ее на истории.
Достаточно много алгоритмических фондов (в том числе и крупных) используют тслаб+плаза2 и т.п.
avatar
Lightest, Я бы остановился на TC лабе. Но если нужно что то сложное- выбирайте сразу луа
C# и S#. Если научится кодить, потом можно будет с использованием .net коннектится к брокерам и биржам по FIX и другим протоколам… но это для трейдинга, для тестов советую питон.
avatar
I am, а как питон в тестах использовать?
avatar
Андрей К, подгружаешь котировки, пишешь стратегию, открываешь на графике эквити… http://tradingwithpython.blogspot.jp
avatar
I am, там для этого есть какие то средства и инструменты или просто полностью самописный тестер с нуля?
avatar
обзор был актуальный три года назад, и очень поверхностый. Многие участники смарт-лаба уже бочку говна съели с TSlab, и сквозь зубы процедили в поисках грааля, не говоря уже про S#. Достаточно попробовать воспльзоваться поиском по сайту, чтобы узнать сколько сюрпризов ожидает в этих платформах.
avatar
Этих роботов на любой помойке целые кучи ))) вы так уверены, что ваш будет чем то лучше и ему необходима ваша платформа с языком С+
?

)))
avatar
Выбранный язык должен позволить нам реализовать робота любой сложности и при этом быть актуальным для различных платформ. C# как раз является таким языком.

Он является, как раз, таким языком, на котором них*я сложного вообще написать невозможно, статическая типизация будет бить по рукам при каждом поползновении к чему то сложному:)
sortarray sortarray, вот именно, для кого эта статья написано не понятно. Для новичка, который решил робота написать, так таких обзоров полно. Если бы какие- нибудь свежие тенденции осветили, а то ещё WLD из нафталина достали
avatar
sortarray sortarray, можете привести пример тех сложных случаев, которые не возможно реализовать?
avatar
Андрей К, 

почитайте вот тут об этом

norvig.com/design-patterns/design-patterns.pdf
sortarray sortarray, а актуально читать статью про паттерны проектирования 96 года — она еще вышла до выхода c#?
То есть там по умолчанию не написано про минусы c# и не возможность создания сложного кода.
avatar
Андрей К, там разговор идет о семантике языков, это не зависит от времени. Элементарный пример — первоклассные типы, которые живут в рантайме, которыми другие объекты могут манипулировать в рантайме, в динамических языках любой тип по дефолту — первоклассный тип.
sortarray sortarray, статическая типизация возможно спасет от факапов, а возможно и эпик фейлов. ;)
avatar
Изя Квикович, ну если уже зацикливаться на типизации, то c#  поддерживает и динамическую через dynamic, да и вообще если лень типы писать, можно навтыкать var для простого кода. Только не могу привести примеры, зачем она вообще нужна в сложных задачах.
Хотел развить диалог, но как то не очень выходит.
avatar
Андрей К, 
если лень типы писать

Вы путаете статическую типизацию с явной. Я про статическую говорил
Андрей К, 
Хотел развить диалог, но как то не очень выходит.

хз, может я плохо объясняю. Вот есть у Вас класс A, от него наследует другой класс B. Есть экземпляр этого другого класса, например foo, который на сообщение bar отвечает 1.  Этот bar он наследует от A — от суперкласса. Пусть есть некая функция, которая принимает класс в качестве аргумента, и меняет в нем слот: fu = function(theClass, slotName, newSlotValue){theClass[slotName] = newSlotValue}, после того как Ваш класс A прошел через эту ф-цию, вышеупомянутый объект foo будет отвечать на сообщение bar по другому. Вы не сможете это сделать в языке со статической типизацией тривиально. А в динамически типизированном языке Вы сможете это сделать всегда, с любым классом/типом — изменить, удалить, добавить слот, все что угодно, как угодно менять поведение. То есть, эта функция подойдет для любого типа, ничего не будет проверяться, если нет такого слота — он будет добавлен, если есть — изменен.

В статически типизированных языках и сама концепция наследования отличается. Там используется копирование, а в динамике — делегирование. Поэтому, изменив или добавив в рантайме какой-то слот, это все тут же унаследуется всеми детьми, внуками и тд.
sortarray sortarray, а в чем проблема статической типизация? Вы встречали какую нибудь задачу, которую можно было бы решить только динамической типизацией? 
avatar
Ivor, в теории, можно решить любую задачу на любом языке, на крайняк можно написать компилятор, цена вопроса только другая.
Ivor, задачи такие встречаются довольно часто, но они довольно сложны для объяснения, для человека, который считает, что языки типа решетки имеют какое то отношение к объектно ориентированному программированию.

Упрощенный пример: представьте себе реализацию паттерна Observer, где будет в качестве слушателя добавляться произвольный объект, объект любого типа,  и при добавлении сразу навешиваться реакция на событие, а при удалении — удаляться. Вы этого не сможете сделать в статически-типизированном языке.
я бы сравнил количество пользователей… тслаб и сток шарп...
велс лаб увы не для российского рынка
avatar
вся деятельность платных платформ если и имеет какую то ценность то только из-за возможности тестирования. Кто бы подсказал как бесплатно потестить робота на клуа? размеры моей благодарности не будут иметь границ…
avatar
Nemo_2000, в реал тайм торговле в режиме логирования =)
avatar
Nemo_2000, пусть вместо реальных сделок просто отмечает на графике
Сезон дипломов начался? Попер студенческий креатив. )
avatar
плин… а нет робота что бы на всех телок стоял? очень нужен… пожалуйста…
avatar
OPEL70, бухло и развлечение тебе в помощь.
avatar
любой счет управление капиталом… ну да с лохов на смарте зарабатываем))) особенно против маркидоновны ставить нравится.
avatar
«Освоение языка программирования – это один из самых сложных и трудоемких этапов создания торгового робота» — это всего-лишь дело техники.
Самое сложное, это стратегия и её формализация в коде, даже элементарные вещи, бывает очень сложно описать в алгоритме.
А вторая сложность, это сами платформы и их код с глюками (про WealthLab не знаю).
avatar
Чем WealthLab не угодил? Геморрой с коннектором окупается отсутствием проблем с написанием робота и тестирования.  Два других приложения словно огрызки от одного яблока. Не понимаю, что можно написать при помощи визуального редактора? МАКДи проверить на котировки и тому подобное. Слово робот — от программирования. У StockSharp не дружественный интерфейс, рассчитанный на профессионального программиста.
avatar
c++ не иначе
StockSharp — полное сырье ручного допила с отмороженными разработчиками, которые в конце концов удалили форум где пользователи помогали друг другу, хоть как-то запускать простые вещи. 
avatar

теги блога Lightest

....все тэги



UPDONW
Новый дизайн