Вы читаете журнал [info]finlab

Финансовая лабортория

Добрый день, вчера прошел вебинар, посвященный скальпингу с использованием привода FinLab.Scalp. На нем присутствовало много людей, но думаю, не все, кто хотел. По этой причине выкладываем краткое видео вебинара здесь, чтобы Вы могли увидеть основные моменты вчерашнего мероприятия.

Чтобы получить полную версию вебинара отправьте Ваши данные (ФИО и e-mail) на нашу почту (vdv@finlabportal.ru).

На вебинаре речь шла о том, как сделать работу скальпера более эффективной и удобной с помощью FinLab.Scalp, также демонстрировалась работа привода и производилась его настройка.

Конечно, было бы более интересно увидеть всех желающих непосредственно на вебинаре, чтобы пообщаться и с ними, поэтому, если Вас заинтересует какой-либо из последующих вебинаров – обязательно регистрируйтесь и заходите на него, будем Вам рады!

Чтобы не пропустить последующие вебинары – подписывайтесь на RSS !

Финансовая лаборатория, http://finlabportal.ru, http://finlabportal.ru/2011/05/itogi-vebinara-po-skalpingu/#comments

Новые фьючерсы на FORTS

  • 19 Май, 2011 at 5:50 PM
Финансовая лабортория

Здравствуйте, сегодня хотел бы поделиться приятной новостью по поводу появления 3-х новых фьючерсов на FORTS. Это означает расширение арсенала трейдеров, работающих на лидирующей по торгам фьючерсами и опционами площадке. В итоге количество фьючерсов достигло 17.
Решение о введении новых фьючерсов на FORTS директор Департамента срочного рынка ОАО “РТС” Евгений Сердюков аргументирует тем, что на рынке акций такие ценные бумаги, как обыкновенные акции ОАО “ФСК ЕЭС”, обыкновенные акции ОАО “Уралкалий” и привилегированные акции ОАО “Сургутнефтегаз” пользуются спросом. Новые инструменты станут хорошим дополнением для создания различных торговых стратегий.
В результате что мы имеем: с вчерашнего дня (18 мая) началось  обращение 3-х новых поставочных фьючерсных контрактов.
Чтобы всегда получать последние новости о российском фондовом рынке подписывайтесь на RSS !

Финансовая лаборатория, http://finlabportal.ru, http://finlabportal.ru/2011/05/novye-fyuchersy-na-forts/#comments
Финансовая лабортория

Доброго времени суток, это  пост посвящен такому мероприятию как бесплатный вебинар.  Тема этого бесплатного вебинара – скальпинг c FinLab.SCALP .

бесплатный вебинар

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

На счет первого некоторые будут спорить, а вот второе – факт. Именно скальпируя можно хорошо заработать даже на минимальной сумме, что нам не раз демонстрировалось на конкурсе Лучший частный инвестор, неоднократно проводимый биржей РТС.

Чтобы начать скальпировать необходим минимальный депозит, хорошая реакция и “железо”.

По-моему, что-то забыл…Конечно – и хорошее ПО (FinLab.Scalp)!

Наш бесплатный вебинар расскажет, как начать работу на фондовой бирже в качестве скальпера с помощью FinLab.Scalp.

Обращаю Ваше внимание, что на вебинаре может присутствовать не более 50 человек, поэтому советую пройти предварительную регистрацию, заполнив форму ниже.

Вебинар пройдет 24 мая в 12-00 по Москве.



Предварительная запись на мероприятие

 
Оставьте Ваши контакты и мы пригласим Вас на мероприятие.
 
Город:

Другой город:
Фамилия: *
Номер Skype:
Имя:
Номер ICQ:
E-mail:
   
Тел. (моб.) :
   
Описание:
   
 
 
Ждем Вас!

Для участия в вебинаре Вам может потребоваться регистрация в COMDI. Наш бесплатный вебинар – отличная возможность узнать о том, как скальпировать с помощью удобного привода на фондовом рынке. Не забывайте подписываться на RSS , тогда Вы будете знать о всех запланированных вебинарах и не пропустите ничего интересного.

Финансовая лаборатория, http://finlabportal.ru, http://finlabportal.ru/2011/05/besplatnyj-vebinar-skalping-c-finlab-scalp/#comments
Финансовая лабортория

В продолжение прошлого поста, где рассказывалось про теоретическую часть вебинара Михаила Сухова про программирование торговых роботов с помощью C# и библиотеки S# сегодняшний пост.
Сегодня расскажу про все вопросы, которые были заданы в процессе вебинара и ответы, которые дал создатель популярной библиотеки Stock#.


Для удобства восприятия выкладываю в текстовой форме и в виде аудиофайла.

Интервью Михаила Сухова

Вопрос №1:

Когда будет озвучена цена за учебу.

Ответ №1:

Хороший вопрос. Скажу так – если речь идет про дистанционное обучение, то  пока я не готов. Сегодняшнее мероприятие – это мое первое онлайн мероприятие.  И я пока не готов проводить платную учебу через интернет.

Что касается офлайн курсов, то группа уже начинается. Правда речь идет о «продвинутых» программистах, т.е. о тех, кто хотя бы чуть-чуть соображает в программировании.

Стоимость участия составляет 20 тыс.  рублей. Продолжительность занятий 6 выходных дней.

Есть еще и группы, которые проводятся по будням в вечернее время.

Ближайшие группы – старт в июне 2011года. Это будут группы «Выходного дня».

Вопрос №2:

Когда планируете начинать группы для новичков?

Ответ №2:

Как только наберутся желающие посещать данную группу.

Сейчас уже набрано уже 7 человек. Соответственно, осталось ещё 3 места. Если желающие будут – проведем в июле или в августе.

Сразу скажу, почему-то популярностью пользуются группы выходного дня.

Вопрос №3:

Мы рады за группы в Москве. А что делать тем, кто находится в регионах?  Будут проводится подобные курсы для регионов?

Ответ №3:

Смотря какой регион!

Я думаю, до Москвы как-то можно доехать. Тем более, если идет речь о группах выходного дня. Можно подыскать бюджетные варианты – где переночевать. Думаю, это не проблема.

Можно рассмотреть варианты проведения платного обучения и в виде вебинаров. Но скорее всего это будет не в ближайшее время.

Вопрос№4:

Кто полный ноль, что делать?

Ответ №4:

Вы можете посмотреть на сайте – есть две группы.

Первая –  для начинающих.  Здесь будет упор на простые конструкции и на основы программирования.

Вторая – для продвинутых.

Вопрос №5:

Когда Ваша программа будет состыкована с терминалом АЛОР Трейд?

Ответ №5:

Хороший вопрос. Этот вопрос сейчас обсуждается с Алором. Как только дообсудим – сразу состыкуемся. Но честно скажу – для меня сейчас приоритетнее Плаза.

Так как Stock# создается для себя – у нас сейчас есть огромное желание «помучить плазу» до тех пор, пока ФСФР её не прикрыл…

Вопрос №6:

Через СОМ объект Alor-Trade будет работать S# ?

Ответ №6:

Конечно будет! Уже сейчас  на codeplex выложен код коннектора (частично сделанный) для АЛОРа.   Некоторые материалы есть вот здесь: http://stocksharp.com/forum/yaf_topics3_Alor.aspx

Экспорт я уже сделал. Недоделан экспорт стакана. Зато уже есть отправка транзакций (снятие и регистрация заявок).

Правда, это было давно и реально я Алором занимался год назад. Если у кого есть желание доделать коннектор – этим можно заняться.

Вопрос №7:

Планируете ли сделать Stock# платным?

Ответ №7:

Уже много раз повторял – нет не планирую.

Почему не планирую?

Идея – в развитии сервисов. Я всегда ищу тех людей, которые привнесут что-то интересное проекту.

Ну, к примеру, есть программа OpenQuant и есть адаптер к OpenQuant, сделанный с применением библиотеки S#.

Если будет что-то еще новое – классно. Неважно будет ли это бесплатным или платным. Для меня главное привлечение интересных идей для алготрейдерского комьюнити. Можно, конечно и просто трейдерское комьюнити охватить.

Естественно, у меня нет никакого резона делать Stock# платным. Если я это сделаю, то те люди, которые хотят высказать свои идеи – они просто не будут их высказывать, а развернутся и уйдут. Зачем мне это нужно? Тем более сейчас уже образовалась команда из 6-ти человек.

Платные вещи команде не всегда идут на благо. Особенно, когда начинается дележка – я сделал больше, а я сделал меньше…

Пусть будет так, как есть!

Вопрос №8:

Когда планируете сделать оптимизатор на истории?

Ответ №8:

Дело в том, что при тестировании  на  Stock# нет такого понятия как «оптимизатор на истории». Там пишется код и в коде делается оптимизация. Пишется алгоритм, по которому идет оптимизация. Линейный алгоритм, если идет перебор параметров от и до с таким то шагом.

Со стороны Stock# – развивается именно скорость. Она с каждой версией становится всё быстрее и быстрее. Сейчас мы уже самые быстрые тиковые тестеры. Мы уже быстрее тестируем стратегии на тиках, чем это делает Open Quant. А Open Quant уже был не таким уж и медленным.

Вопрос №9:

Работаете с рыночными заявками или лимитированными?

Ответ №9:

Это довольно странный вопрос. Stock# это просто framework – он позволяет работать и с рыночными, и с лимитированными и с какими угодно другими заявками.

Вопрос №10:

Какую литературу следует почитать по С# , наиболее доступную для новичков.

Ответ №10:

К сожалению, вся литература пишется программистами для программистов.

Но пара слушателей, которая уже прошли мои курсы – они сказали мне, что им понравилась книжка С# для школьников. Я тоже прочитал эту книжку. Минус в ней точно такой же, как и у взрослых книжек. Там приводятся абстрактные примеры: «Яблоки в корзине», «бананы на полке» и т.д.

Если человек пришел с намерением – как программировать торговых роботов, то параллельно с изучением языка C# ему всё таки интересно предметно говорить по делу теми терминами, к которым он привык.

Еще минус данной книги в том, что там даны только самые общие моменты и она не охватывает полностью все вопросы программирования на C#.

Вопрос №11:

Как можно записаться на Ваши курсы?

Ответ №11:

Заходите на сайт, и нажимаете записаться. Указываете свой логин, почту, телефон.

Вопрос №12:

Вопрос с историей  с Квиком решается только через гидру? Ведь у Квика нету истории.

Ответ №12:

Да верно этот вопрос можно решить применяя гидру. Гидра построена на базе Stock#. Можно сделать свой собственный аналог Гидры, используя API Stock#.

Но зачем что-то делать, если есть уже готовое решение (тем более с исходниками). Гидра ведь выкладывается с исходниками и её можно кастомизировать как душе угодно.

Вопрос №13:

По какому принципу будет в дальнейшем открытость/закрытость исходного кода? Очень хотелось бы чтобы бизнес-логика стратегии (стоп-лосс, тейкпрофит, индикаторы, свечи) были  все же открытыми чтобы использовать их как примеры или модифицировать под себя. Да и отлаживаться было бы проще.

Ответ №13:

Все будет оставаться точно также, как сейчас реализовано. Все что закрыто, будет оставаться закрытым. Все, что открыто, будет оставаться открытым. При появлении новых возможностей – если люди приходят и говорят – мы хотим это сделать – как они пожелают, так и будет (открыто или закрыто).

Вопрос №14:

Очень хотелось бы чтобы бизнес-логика стратегии (стоп-лосс, тейкпрофит, индикаторы, свечи) были  все же открытыми чтобы использовать их как примеры или модифицировать под себя. Да и отлаживаться было бы проще.

Ответ №14:

Во-первых, у меня нет индикаторов.

Что касается свечек – пишите на форуме. Мы обсудим, зачем Вам это нужно. Если для кастомизации, то эта задача очень легко решается через API Stock#. Можно делать вообще любые свечки.

Я в последней версии вообще сделал крестики – нолики. А до этого были такие популярные методы отображения, как range, Tick, Volume и т.д. Можно сделать как угодно.

Поверьте, если Вы не профессионал в программировании – наличие исходников Вам только помещает. Поверьте, если Вы задаете вопрос на форуме – ни разу не было, чтобы я что-либо не ответил.

Вопрос №15:

Логично ли сначала обучиться базовым основам С# , а потом только записываться к Вам на курсы?

Ответ №15:

Я как раз обучаю основам С#. Поэтому получается, что немного не логично.

Вопрос №16:

Расскажите несколько слов про применение S# для арбитража.

Ответ №16:

Это отдельная большая тема. Напишите на форуме. Два члена нашей команды применяют арбитраж на практике. Они  там Вам расскажут что угодно.

Вопрос №17:

Как можно получить решение под плазу? Я так понимаю оно будет не в общем доступе?

Ответ №17:

Оно будет в общем доступе. Оно будет с исходниками. Под Плазу будет коннектор.

Ядро S# будет оставаться закрытым, а коннектор будет открытым и исходники будут сделаны. Сейчас уже идет чистка  кода. Как только закончим – все будет доступным. К сожалению, рук всего две. Как будет готово – сразу выложим.

Вопрос №18:

Как на S# сделана развязка потоков данных и алго? Т.е. хотим реагировать на каждый тик стакана, как развязан прием и сборка стакана и обсчет алгоритма?

Ответ №18:

Там разные потоки у стаканов и у тиков. Естественно надо алгоритм на это затачивать, чтобы синхронизировать. По техническим вопросам и более детальным ответам можно общаться на форуме.

Вопрос №19:

Может S# работать  с  АPI западных платформ(например Ninja Trader, CQG, OpenECry)?

Ответ №19:

Мы планируем после АPI Плазы делать западные АPI. Скорее всего, это будет OpenECry. А Ninja Trader и CQG это терминал и навряд ли он кому-то будет нужен и он не даст преимуществ.

Вопрос №20:

Реализуйте Fast Fix!

Ответ №20:

А кому он нужен этот Fast Fix? В чем его преимущество?

Вопрос №21:

Visual c# Express (беслатный) будет по вашему мнению достаточен для разработки или нужно купить полную версию?

Ответ №21:

Абсолютно  достаточен. Я на нем прекрасно писал почти 3 года.

Вопрос №22:

OpenQuant  с его готовыми адаптерами это ваш конкурент или есть какие то существенные преимущества у S#?

Ответ №22:

Может и конкурент. Мы в хороших отношениях с создателями OpenQuant и не занимаемся конкуренцией. Тем более, они уходят немного в другую область.

Вопрос №23:

Какое количество часов в курсе? На сайте не указано. Много ли будет практики именно алгоритмирования и программирования? Как можно ознакомиться с учебным планом (хотя бы оглавлением)?

Ответ №23:

Все есть на сайте. По будням курсы  по 1.5 часа в день 2 раза в неделю.

По выходным(курс Выходного дня) по 6 часов в день с перерывом на обед.

Всего полных 36 часов.

Вопрос №24:

В каком формате S# хранит собственную базу данных?

Ответ №24:

В бинарном формате. Формат не закрыт. В своем внутреннем формате, специально оптимизированным для тиков – чтобы мало занимало места.

То, что занимает на РТС 20 Мб, на C# занимает всего 1,7 Мб. Разница, как видите, приличная. Тем более, что это не влияет на скорость бэктестинга.

Вопрос №25:

Для новичков – Visual C# 2008: Базовый курс. К. Уотсон

Ответ №25:

Все книги написаны программистами для программистов и в этой так же. Там уже нужно обладать какими-то навыками программирования.

Вопрос №26:

Что-то с SQL – сервером не разобрался, добавьте  в инструкцию как настроить для Гидры, а то не качает историю

Ответ №26:

Пишите на форум будем разбираться. Вы же ведь не единственный, кто пользуется Гидрой.

Вопрос №27:

Не планируете ли подключить API Interactiv Brokers?

Ответ №27:

После плазы будем думать о подключении «запада»

Вопрос №28:

Можно ли подключить таблицу новости в квике?

Ответ №28:

Они не экспортируются через DDE. Так что увы, нельзя.

Вопрос №29:

Курсы с теоретическим уклоном? Сколько уделяется времени именно практике? Достаточно ли готово для этого учебное помещение?

Ответ №29:

Это чистая практика, через 10 мин. Знакомства мы открываем Visual Studio и я по ходу объясняю структуру языка С#.

По поводу помещения – можете зайти в Алор, постучаться, попросить показать. Все нормально – столы, стулья, интернет, проектор. Все видно.

Вопрос №30:

Из Самары не айс ехать на такой длительный срок на курсы(((он лайн необходим!

Ответ №30:

Я вообще не знаю, где находится Самара. Наберите 10 человек из Самары оплачивайте курсы я и приеду к Вам Сам. Приеду забесплатно (в смысле проезда).

Вопрос  №31:

какие опционные стретегии используете? Своё решение по опционам которое используете  -автоматически открывает какие то опционные  конструкции одновременно?

Ответ №31:

Я не могу это сказать так как работаю в паре с трейдером. Это конфиденциальная информация – чужая интеллектуальная собственность.

Буду рад Вас видеть на форуме, пишите давайте встречаться. Мне понравилось и готов продолжать такие встречи.

Чтобы не пропустить отчет о практической части вебинара и отчеты о прочих вебинарах, посвященных фондовому рынку – не забудьте подписаться на новые записи нашего блога по RSS.

Финансовая лаборатория, http://finlabportal.ru, http://finlabportal.ru/2011/05/otvety-na-voprosy-po-stock-zaklyuchitelnaya-chast-vebinara-mixaila-suxova/#comments
Финансовая лабортория

Данный вебинар состоялся 3-го мая 2011 года при содействии компании АЛОР.

В  процессе вебинара создатель известной библиотеки Stock# (S#) Михаил Сухов рассказал о создании торговых  роботов и о том, какую роль играет  С# в создании этих торговых роботов.

Сегодня выкладываю краткий обзор первой теоретической части данного вебинара. Чтобы не пропустиить продолжение – подписывайтесь по RSS на обновление нашего блога и ждите продолжения.

Существуют два основных метода разработки торговых роботов:

Самый популярный метод создания торговых роботов – использование среды, которую предоставляют программы технического анализа (ТА). Речь идет о таких программах, как: Wealth Lab, TSLab, AmiBroker, Ninja Trader, OpenQuant и другие.

Второй, не менее популярный метод разработки торговых роботов – это когда робот программируются в среде программирования. При этом используется API предоставляемый брокером или биржей (например Plaza 2 у РТС или Micex Gateway у ММВБ). Речь идет о таких средах программирования, как Visual Studio, Delphi,  Java.

Во всех этих двух подходах используется C#.

Этот язык программирования стал стандартом для разработки приложений для трейдинга. C# можно использовать и при работе с программами технического анализа и писать на нем автономных торговых роботов с использованием API.

Используют язык С#  такие программы как ВелсЛаб, ТСЛаб, Ninja Trader, Open Quant, RightEdge (http://www.rightedgesystems.com). Возможное еще есть что-нибудь интересное, но мы пока этого, к сожалению, не знаем.

Давайте теперь посмотрим основные плюсы и минусы двух методов разработки торговых роботов:

Плюсы разработки торговых роботов в среде программ для технического анализа:

Во-первых, уже проделана работа с подключением. Нам не нужно заботиться о том, как соединиться с Квиком, как получить сделки, как работать со стаканом и т.д. Это всё входит в стандартную поставку.

Во-вторых, во всех таких программах есть графика (свечи, таблицы, отчеты по тестированию). Все эти программы “user friendly”. Когда пользователь открывает окно, то сразу видит среду, в которой он привык работать. Там есть инструменты, заявки, лента сделок. То есть присутствует всё, что пользователю знакомо «с пеленок», т.е. с тех пор, как трейдер начал торговать на рынке.

В-третьих, помимо привычной графики (свечки, бары, линии…) есть отчеты по тестированию.

В четвертых –  есть наработанная база стандартных решений в виде индикаторов. Есть стандартные решения, которые не нужно выдумывать, пытаться найти – как они реализуются.

Минусы разработки торговых роботов в среде программ для технического анализа:

Во-первых, минус в том, что в основном это западные программы и они не работают стандартно с российским рынком, с российскими терминалами.

Во-вторых, среда для программирования – чуждая для трейдеров среда. Здесь в своей тарелке себя чувствуют только профессионалы программисты. Здесь нет стандартных терминов, которыми оперируют трейдеры.

В-третьих, существующие решения поставляются без исходников.

В-четвертых,  все решения в таких программах носят массовый характер (нет уникальности). Создать что-то на базе стандартных вещей и чтобы это хотя бы не торговало в минус – для этого надо проделать немалую работу. А чтобы это работало даже в плюс – нужно очень сильно постараться. Со стандартными вещами это проблематично. Нужно создавать все-таки что-то уникальное. А как уже упоминалось – без исходников это сделать проблематично.

Плюсы и минусы можно представить в виде обоюдоострого меча. С одной стороны плюс, но применительно к другой области этот плюс может оказаться минусом.

Рассмотрим Плюсы и минусы роботов под API:

Первый плюс создания роботов под API – возможность создания HFT роботов.

Аббревиатура HFT (High Frequency Trading) обозначает высокочастотный робот. Критерием здесь является скорость работы робота с биржей. Другими словами, все что работает с биржей выше определенной частоты  это HFT робот. Стратегиями для HFT робота может быть скальпинг, арбитраж, парный трейдинг и т.п.

В то же время, если арбитражная стратегия не предполагает часто выставлять заявки, то это арбитражная стратегия, но не HFT робот.

Второй плюс – возможность создания собственного интерфейса. В самописных роботах всегда можно сделать свой собственный график.

Наличие графика в стандартных программах технического анализа для HFT робота – это не плюс, а минус. Ведь из-за большого количества заявок и сделок на графике будет «мешанина». Графики будут непонятными и только бесполезно отнимать память. Ведь даже в пределах минуты будет очень много сигналов.

Сейчас я работаю с роботом под опционы. В этом роботе графики совсем не такие, к каким привыкли обычные трейдеры. На моем графике нет не свечек нет линий. Этот график отображает профиль позиции. У меня всего три кнопочки: подключиться, торговля и пересчет позиции. В целях оптимизации работы он не постоянно обновляется.

Создавать такие интерфейсы в принципе невозможно в программе технического анализа. Здесь как в анекдоте – это вначале у всех головы разные, а потом они у всех одинаковые. Программы технического анализа по-сути диктуют нам условия, т.е. мы должны следовать её правилам. Наш робот должен быть стандартным, код должен быть стандартным, графический интерфейс должен быть стандартным. Параметры должны быть заданы по заранее определенным правилам. Естественно, это не всегда удобно.

Поэтому еще раз подчеркну, что наличие графики в программах технического анализа иногда полезно, а иногда и нет.

В-третьих, еще один существенный плюс,  который я выделил при создании собственного робота – это работа с источниками данных.

Как я уже говорил, робот, написанный в среде программ для технического анализа, не работает с разными источниками данных. Ему это не нужно.

Роботу же, который работает с API  доступны все возможности того API, с которыми он работает. Например, квик не предоставляет никакой работы с историческими  данными, а вот Алор Аттентис и Смартком – предоставляют.

Также и при работе с Plaza2 там предоставление данных не такое, как мы привыкли при работе с терминалами. Там очень много информации, которая нам просто не транслируется. Эти справочники данных  мы не можем получить из программ технического анализа

В четвертых, построение торгового робота с использованием API позволяет работать с такими специфичными транзакциями, как Move Orders, адресные заявки, маркетмейкерские операции.

В программах ТА есть 4 основные транзакции – Buy At Market, Sell At Market, Buy At Close, Sell At Close. Естественно, стандартные программы технического анализа не позволяют работать с такими транзакциями.

Нужно понимать, что создание программ технического анализа – это бизнес тех людей, которые делают бизнес на трейдерах.  Так устроен мир, что все зарабатывают на ком-то. Трейдеры зарабатывают тоже на ком-то, откровенно говоря.

В-пятых, построение робота позволяет творить уникальные возможности.

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

Программы технического анализа всегда опираются на популярные известные алгоритмы, на те алгоритмы, которые являются «попсовыми». Никто не будет делать для Вас уникальные решения Только Вы сами можете это реализовать.  Либо же можете приобрести робот, сделанный под API.

Такой робот сделанный под АPI, имеет больше шансов принести прибыль, чем робот построенный на стандартных индикаторах. Конечно главное – идея, но и техническая реализация идеи тоже очень важна. Я бы сказал, что это даже равноценные вещи.

Теперь о самой библиотеке Stock#.  Что такое библиотека Stock#. Библиотека S# – это наработка для тех, кто собирается делать роботов под API.

Я всегда торговал на рынке только с помощью роботов. Мой первоначальный опыт торговли связан именно с алготрейдингом. Именно так я понимаю рынок. Оглядев возможности различных программ, я понял, чтобы зарабатывать, эксплуатирую одинаковые торговые идеи – остальных нужно хоть в чем-то превосходить.

В чем я мог остальных превосходить? В технике. Именно поэтому я создал техническое решение в виде библиотеки Stock#. Это решение, конечно, сложнее, чем использование программ технического анализа. Оно рассчитано на профессионалов  и использует напрямую API.

Разработка робота на Stock# – это тоже самое, что создание робота под API. Естественно, здесь есть свои «плюшки», которые упрощают работу по созданию робота.

Библиотека Stock# писалась под себя. Это жирный плюс, т.к. когда сам торгуешь с помощью робота и  пишешь робота под себя, ты реально понимаешь, что нужно, а что бесполезно. А когда заказываешь робота на основе технического анализа то многие вещи могут оказаться бесполезными.

Не забудьте подписываться на RSS. Продолжение следует…

В следующей части:

- примеры торгового кода на C# с использованием библиотеки S# и без неё.

- демонстрация простейшего торгового робота;

- рассказ о том, как можно научиться делать торговых роботов самостоятельно.

- ответы на самые популярные вопросы по Stock#;

Финансовая лаборатория, http://finlabportal.ru, http://finlabportal.ru/2011/05/s-roboty-protiv-vsex-pervaya-chast-vebinara-mixaila-suxova/#comments

Мастер-класс по C# (online)

  • 26 Апр, 2011 at 6:00 PM
Финансовая лабортория

Мастер-класс по C#Чтобы успешно работать на фондовом рынке необходимо пользоваться всеми доступными инструментами. Среди них торговые роботы занимают одно из самых почетных мест, так как позволяют значительно увеличить эффективность работы. Часто камнем преткновения становится тот факт, что большинство трейдеров не являются профессиональными программистами, а большинство профессиональных программистов не в курсе, что такое фондовый рынок. Вот и получается, что один знает как нужно торговать, а другой умеет делать роботов, но найти общий язык не всегда получается.

По этой причине у трейдера есть только один путь – научиться писать роботов самостоятельно, и хотя звучит это очень амбициозно, ничего непреодолимого в этом нет. Получение трейдером навыков программирования – очень неплохие инвестиции, так как это значительно расширяет возможности.

Именно о программировании пойдет речь 3 мая на вебинаре Сухова Михаила, создателя популярнейшей библиотеки S# (Stock#). На мастер-классе Михаил расскажет о языке C#, его особенностях, использовании при создании роботов и т.д.

Чтобы попасть на мастер-класс по C# достаточно пройти по ссылке “зарегистрироваться на мероприятии” и 3 мая в 20:00 пройти по этой ссылке.

Чтобы всегда быть в курсе самых интересных событий российского фондового рынка подписывайтесь на RSS !

Финансовая лаборатория, http://finlabportal.ru, http://finlabportal.ru/2011/04/master-klass-po-c-online/#comments
Финансовая лабортория

Сегодня пришло время создать первый код торговой системы.

Для того, чтобы сильно не усложнять восприятие – возьмем самую простую систему и сделаем для этой системы код для тестирования её в wealth lab.

Сделаем это поэтапно:

Этап 1: Описание стратегии:

  1. Строим максимумы и минимумы за определенный период (величина периода будет определена в процессе оптимизации).
  2. Будем открывать длинные позиции тогда, когда цена пробивает максимум, определенный на предыдущем баре.
  3. Выставляем первоначальный Стоп лосс на уровне максимума предыдущего бара  минус процент от цены (величина процента будет определена в процессе оптимизации).
  4. Создаем трейлинг Стоп, который будет находится на уровне минимумов за определенный период.

Этап 2: Прорисовка блок схемы…

После того, как идея торговой системы определена, необходимо нарисовать блок схему того, как мы будем действовать.

Рисовать можно используя для этого специальные программы.

Краткий обзор программ, которые позволяют рисовать блок-схемы можно уведить по этой ссылке: http://www.analogs.ru/group/165

Можно использовать платную программу Microsoft Visio, которая входит в состав Microsoft Office.

Но мне больше нравится программа diaw – скачать её можно здесь. Она полностью бесплатна, поддерживает русский язык, позволяет делать очень многие удобные вещи. Вкратце почитать про программу можно, к примеру, вот тут…

Начертим блок – схему…

 

Этап 3: написание кода для Wealth Lab.

Далее, используя среду разработки, о которой я уже писал в предыдущем посте – пишем код для Wealth Lab…

Схематично программа будет выглядеть следующим образом:

Рассмотрим поподробнее каждый из блоков нашей программы:

Для того, чтобы определить параметры оптимизации – нужно написать следующий код:

Теперь нужно задать те переменные, с которыми будем в дальнейшем работать:

Надеюсь, здесь всё более-менее понятно. Если есть вопросы – спрашивайте в комментах.

Дальше тем переменным, которые мы задали – нужно присвоить необходимые значения:

Следующий этап – основной. Здесь задается сама логика торговой системы…

Выглядит этот этап следующим образом:

Если будет интерес – в следующих постах более подробно остановлюсь именно на этом блоке. Чтобы не пропустить новые посты – подписывайтесь по RSS на новые посты нашего блога.

И на последнем этапе отрисовываем графики.

Делать это совсем не сложно. Код будет выглядеть так:

Этап 4: Оптимизация кода торговой системы и нахождение оптимальных параметров.

На этом этапе полученный код мы заносим в программу wealth lab и уже здесь определяем те параметры, которые дают нашей торговой системе наилучшие результаты.

Об этом нужно тоже говорить более подробно.

Поэтому сегодня покажу, что даже такая простая система может дать следующие результаты для акции, к примеру, северсталь:

Понятно, чтобы начинать торговать такую систему нужно учесть еще целую кучу нюансов, но общее представление о том, как создавать торговую систему и тестировать её в wealth lab, я думаю, по этой информации можно составить…

Если Вам интересна данная тема – подписывайтесь на обновление нашего блога по RSS.

Финансовая лаборатория, http://finlabportal.ru, http://finlabportal.ru/2011/04/kod-torgovoj-sistemy-highlowlong-dlya-wealth-lab/#comments

Tags:

Финансовая лабортория

Ничего сложного в написании кода для тестирования торговой системы нет…

Скажу сразу, я программистом не являюсь. Мои знания ограничиваются изучением языка БЕЙСИК ещё в школе. Но я буквально за 2 недели научился писать код, который позволяет описать логику торговых систем и со всех сторон анализировать такие торговые системы.

Конечно, мне повезло, я могу постоянно, при возникновении вопросов, получать консультацию у ребят, которые очень хорошо «шарят» в программировании и знают практически все нюансы языка C#.

Немного советов, которые позволят Вам, даже если Вы не являетесь программистами, легко освоить некоторые особенности того языка программирования, который используется в Wealth-Lab pro (5.4).

Во-первых:   где взять саму программу Wealth-Lab pro?

Вот по этой ссылке Вы можете скачать и установить себе программу совершенно легально и бесплатно (на целый месяц). Это Wealth-Lab Pro 5 (30 дневный триал от брокера Fidelity). Также вот здесь можно получить версию 6.1

Месяца, я думаю, вполне хватит для того чтобы оценить, насколько Вам удобно работать с такой программой. Если удобно, то дальше, как в сказке, перед Вами 3 пути:

  • Отказаться от программы;
  • Купить лицензию для работы с программой;
  • Третий путь пусть каждый определяет для себя самостоятельно

Во-вторых:  На каком языке мы будем описывать торговую систему?

Язык, который используется для написания кода, описывающего Вашу торговую систему называется C#.  В программе Wealth-Lab есть собственный редактор, который поможет создавать и редактировать код.

Добраться до него можно следующим образом:

File >>  New >> New Strategy from Code (можно нажать на сочетание клавиш ( Ctrl + Shift + S).

Выглядит это примерно так:

После того, Как Вы проделаете эту операцию – откроется окно редактора, в котором Вы сразу можете начинать творить…

Однако, писать код в таком редакторе – не очень удобно, именно поэтому я советую Вам скачать и установить (заметьте, опять совершенно бесплатно) программу, которая позволит Вам с комфортом описывать на языке C# любые торговые стратегии..

Если Вы хотите именно бесплатные программы, то здесь тоже возможны варианты:

Вариант №1: Microsoft Visual C# 2010, экспресс выпуск.

Что приятно, она полностью на русском языке (даже справка).

Скачать эту программу можно здесь: (версия 2010).

После того, как Вы установите данную программу – писать, править и проверять на отсутствие ошибок код программы становится так же удобно, как писать текст в хорошем текстовом редакторе.

Т.е. если проводить аналогию, те, кто пишет программу во встроенном редакторе Велс Лаба – это писатель, редактирующий свой текст например в Блокноте. Писать небольшие вещи можно и даже удобно.

А те, кто работает в Microsoft Visual C# 2010 – использует уже более продвинутый редактор (например, Microsoft Word).

Вот Вам ещё пара интересных ссылочек:

1)    Учебник, помогающий разобраться новичкам в программировании на C#

2)    Visual Studio Learning Pack 2.0 (ранее известный, как Visual Studio Middle School Power Toy) это программный пакет, созданный компанией Microsoft для помощи студентам в изучении компьютерного программирования. Скачать можно здесь!!!

3)    Центр начинающего разработчика

А вообще не заморачивайтесь – просто подписывайтесь на новые посты нашего БЛОГа по RSS .Дальше будут статьи, показывающие, как конкретно применять C# для построения торговых систем…

Вариант №2: Среда разработки SharpDevelop

Процесс установки будет выглядеть следующим образом:

  1. Выбираем последнюю версию по ссылке:  http://www.sharpdevelop.com/OpenSource/SD/Download/ На текущий момент это  Downloads for SharpDevelop 4.0 (Frameworks 2.0, 3.0, 3.5 and 4.0)
  2. Скачиваем архив .msi
  3. Запускаем процесс Установки и устанавливаем приложение.

Далее процесс протекает следующим образом: В Visual C#  (или в SharpDevelop) пишется и отлаживается рабочий код торговой системы.  После чего, с помощью копипаста весь код переносится в редактор Велс Лаба. И уже оттуда запускается на выполнение….

Следующий раз опишем простейшую торговую систему для ликвидных российских акций, торгующихся на ММВБ. Не забывайте подписываться по RSS на новые статьи нашего блога.

Финансовая лаборатория, http://finlabportal.ru, http://finlabportal.ru/2011/04/sozdanie-koda-strategii-dlya-wealth-lab-sreda-razrabotki/#comments

Tags:

Финансовая лабортория

Ну чтож, вот и пришло время создать первую механическую торговую систему (МТС) и протестировать её в Wealth Lab…

Процесс создания механической торговой системы достаточно прост. Но это простота - кажущаяся.

Этап 1: Проектирование торговой системы на бумаге

торговая система (МТС)

Проектирование МТС

На первом этапе необходимо продумать и решить - как будет функционировать механическая торговая система (МТС). Для этого нужно поставить перед собой вопросы:

  • Какие принципы будут заложены в основе торговли.
  • Когда нужно входить в позицию,  и когда выходить из позиции.
  • Какие бумаги будем торговать,
  • на каком таймфрейме.
  • Будем ли шортить...

Допустим, мы собираемся торговать тренды.

Основной принцип нашей МТС - это следование тренду. Соответственно девиз этой МТС - растет - покупай.

Торговать собираемся только ликвидные бумаги, торгующиеся на ММВБ.

У нас нет цели постоянно сидеть перед компьютером и отслеживать каждое малое движение рынка. Поэтому таймфрейм нашей МТС составит не менее 30-ти минут. Наличие коротких позиций на первом этапе - не предполагается. Будем торговать только при растущем тренде.

Этап 2: Написание кода торговой системы

код торговой системы

Код торговой системы (C#)

На этом этапе у большинства трейдеров возникают сложности. Дело в том, что многие трейдеры готовы только генерировать торговые идеи, а вот для того, чтобы алгоритмизировать эти идеи  - нужны также навыки.

Здесь можно услышать такие высказывания: - "Я трейдер, а не программист!!!"

Но без навыков программирования далеко не уедешь. Поэтому советую каждому - даже если Вы не собираетесь становиться профессиональным программистом - освойте хотя бы основы программирования.

Наилучшим выбором здесь, на мой взгляд - является освоения языка программирования C#

Я, например, основы языка С# освоил просмотрев следующий бесплатный видеокурс: http://www.intuit.ru/department/pl/incsharp3/

Кроме того, очень рекомендую прочитать книгу Автор: М. Дрейер с названием "C# для школьников" и пройти курс, основанный на этой книге http://www.intuit.ru/department/school/cs4kids/ - это тоже бесплатно.

При желании, Вы можете посещать и платные курсы, которые обучают прогарммированию на C# в связке с трейдингом.  Вот примеры таких курсов:

  • Проводит Церих: http://education.zerich.ru/event/141807/ - стоимость записи порядка 5000 рублей
  • Если знаете ещё курсы этой тематики - пишите в комментах.

Разобравшись с основными понятиями языка программирования C# - Вы без труда сможете написать код любой торговой системы в wealth lab.

Как это сделать - обязательно посвящу этому отдельный пост. Чтобы не пропустить - не забывайте подписываться по RSS.

Этап 3: тестирование созданного кода торговой системы и оптимизация параметров.

Понятно, что человек может только предполагать - какие параметры (длина скользящей средней, стоп лосс, тейк профит) являются оптимальными.

Точно определить это сможет только бездушный алгоритм, перебирая огромное количество всевозможных вариантов и оставляя лишь те из них, которые ведут к наилучшему результату.

Конечно тут сразу же возникает вопрос - "Может ли поведение цены в прошлом определять поведение цены в будущем?".

Это вопрос философский.  Можно много рассуждать на эту тему, но к сожалению, как говориться, при всём богатстве выбора - другой альтернативы нет.

Мне очень нравится как подходит к этому вопросу екатеринбургский трейдер Игорь Чечет - он говорит о том, что точно знает, что подобранные параметры торговой системы не будут работать в будущем. Однако он ставит торговую систему в торговлю, зная, что в любой момент может её заменить.

Этап 4: Создание торгового робота

автоматизация торговой системы

автоматизация МТС

После того, как код торговой системы написан и найдены оптимальные параметры - нужно задуматься о том, как автоматизировать сам процесс торговли. Ведь Вы же не собираетесь постоянно сами отслеживать все торговые сигналы и руками их исполнять.  Не зря ведь говорят - лень - двигатель прогресса.

На текущий момент существует достаточно много вариантов автоматизации торговли. Перечислю некоторые из ник:

Создание собственного торгового робота с нуля, напрямую подключаясь к торговым серверам (или торговым терминалам).  К примеру, Алор представляет сервис Alorr Attentis - это возможность подключиться напрямую к серверу Алор Трейд, минуя посредника в виде торгового терминала. Также есть возможность работать с АйТи Инвестом (SmartCom 2), напрямую с Plaza 2 - в общем, варианты имеются.

  • Создание торгового робота, используя уже готовые библиотеки. Здесь стоить отметить динамично развивающийся проект Stock# - программная библиотека для создания на платформе .NET торговых роботов, аналитических программ и МТС.  Также можно использовать библиотеку от компании Финансовая лаборатория -  FinLab.MTS
  • Создание торгового робота, используя программу wealth lab и создавая адаптеры для непосредственной передаче  заявок брокеру. Насколько я знаю на текущий момент существуют адаптеры для работы с Квиком, терминалом Альфы, СмартТрейдом и т.п. Если поискать - можно найти любые варианты.
  • Создание торгового робота, используя программу OpenQuant - аналог WealthLab - в котором нет проблем с построением брокер-адаптера...
  • Создание торгового робота, используя программу TradeMatic - по сути, это аналог WealthLab, который можно сразу подключать к Квику и начинать торговлю…
  • Ну и конечно же, используя  полностью российскую наработку для создания торговых роботов - программу TSLab. Именно эту программу я использую для того, чтобы создавать полностью автоматически торгующие торговые системы. Об этом уже был отдельный пост.

В общем, вариантов достаточно много нужно выбрать именно тот, который больше всего подходит именно Вам. Но ещё раз напишу, что очень желательно обладать хотя бы навыками языка программирования C#.

Этап 5: Создание корзины механических торговых систем и отслеживание результатов торговли

Корзина МТС

Корзина торговых систем

На этом этапе - главное создать целую коллекцию независимых торговых систем, торгующих разными инструментами и вести постоянный мониторинг результатов торговли каждой торговой системы.

Главное здесь - понять когда наступил момент, показывающий, что механическая торговая система перестала работать. И дальше принимать решение - что делать с этой системой.

Конечно, здесь тоже есть свои сложности и свои хитрости. Обязательно расскажу про свой собственный опыт.

Чтобы не пропускать следующие статьи про построение механической торговой системы - подписывайтесь на наши новые статьи по RSS

Финансовая лаборатория, http://finlabportal.ru, http://finlabportal.ru/2011/04/torgovaya-sistema-algoritm-sozdanie-i-testirovanie-mts/#comments
Финансовая лабортория

В прошлой статье мы приняли решение - какие финансовые инструменты будем использовать для построения механических торговых систем. Также мы научились скачивать котировки акций и настроили их отображение в программе Wealth Lab.

Что дальше?  Каждый из финансовых инструментов имеет свою специфику. У одного финансового инструмента один лот содержит одну акцию, у другого - 1000 акций. Некоторые котировки акций предполагают наличие 2-х знаков после запятой, другие 5-ти. Отличаются акции также минимальным шагом цены и т.п.

Для того, чтобы все эти финансовые инструменты правильно отображались и с ними было удобно работать в дальнейшем - мы должны учесть все эти нюансы и объяснить программе Wealth Lab специфику каждого конкретного финансового инструмента.

Для этого служит Symbol Info Manager.

Для того, чтобы открыть нужное окно в программе Wealth Lab - нужно набрать следующие команды:

Tools >> Symbol Info Manager (Можно также набрать сочетания клавиш Ctrl + Alt + F)

Как результат - у Вас откроется следующее окошко:

Чтобы учесть специфику конкретного инструмента - необходимо нажать на ссылку "New Symbol".

Давайте попробуем проделать это сначала, для примера с тикером VTBR (обыкновенные акции ВТБ).

Начинаем последовательно заполнять необходимые поля:

  1. Symbol - в этом поле вносим то название акции, которое мы используем в DataSets - для обозначения акции ВТБ (ао) - в нашем случае это "VTBR"
  2. Type - возможны три варианта. Мы выбираем Equity - т.к. имеем дело с акцией, а не с фьючерсом.
  3. Margin - этот параметр определяет - величину гарантийного обеспечения на один фьючерсный контракт (т.е. необходимую сумму, которая будет отвлечена при покупке или продаже одного фьючерсного контракта). Т.к. в предыдущем поле мы выбрали  тип "акция", то значение в данном поле для нас будет безразлично.
  4. Point Value - этот показатель обозначает - изменение величины дохода (или убытка) от одного лота при изменении цены финансового инструмента на один минимальный шаг цены. В нашем случае этот показатель равен 1
  5. Tick - это самый простой показатель - обозначает чему равен минимальный шаг цены. В нашем случае минимальный шаг цены равен 0,00001 или (1E-05)
  6. Decimals - показывает сколько знаков после запятой отображается в цене. В случае с акцией ВТБ - количество знаков после запятой равняется 5.

После внесения всех необходимых параметров акция таблица Symbol Info Manager должна выглядеть вот так:

Теперь настроим таблицу Symbol Info Manager для всех акций, которые мы собираемся торговать:

Итак, всё готово для того, чтобы строить механическую торговую систему (МТС) и тестировать её на исторических данных. Именно этим мы и займемся в следующий раз.

Чтобы не пропустить продолжение рассказа о том, как построить МТС, протестировать её в Wealth Lab  и провести оптимизацию параметров - подписывайтесь на новые посты нашего блога по RSS.

Финансовая лаборатория, http://finlabportal.ru, http://finlabportal.ru/2011/04/podgotovka-k-postroeniyu-mts-nastrojka-symbol-manager-v-wealth-lab/#comments

Latest Month

Май 2011
Вс Пн Вт Ср Чт Пт Сб
1234567
891011121314
15161718192021
22232425262728
293031    

Syndicate

RSS Atom
Разработано LiveJournal.com
Designed by Tiffany Chow