Я тут перечитал статью Антона Кротова которую упомянул недавно
smart-lab.ru/blog/122223.php
И меня часто спрашивают на чём крутятся мои роботы. Интересно, кто меня часто читает тот уже знает как я увяжу два этих пункта?
Я пользуюсь тслабом. Ок, я знаю что я нуб, и после этой фразы дальше можно не читать, и ваши самописные решения лучше в миллион раз.
1. Скорость прогона тестов, в тслабе она значительно выше чем в другом софте который я пробовал или про который слышал.
Никакой мудрёж с генной, нейросетевой, видеокартной, облачной, итд, оптимизацией с такой скоростью нафиг не нужен. Те тесты которые я обычно гоняю проводятся за минуту или чуть больше. Конечно с ростом количества параметров время прогона сильно увеличивается, но перебор кучи параметров в один заход это довольно глупо, с таким подходом никакого софта не хватит, а если делать оптимизацию поэтапно и грамотно то в принципе любой софт подойдёт.
2. Стабильность. Помню как страдал первое время, было много глюков, потом сменил брокера, коннектор (имхо Алор самый стабильный брокер с их коннектором алор-трейд), вышла 64 бит версия тслаба, до конца разобрался со всеми настройками и спорными моментами, философия трейдинга эволюционировала.
В итоге уже года 2 как вообще нет ни одного глюка который бы меня волновал, и когда прихожу домой то теперь первым делом не проверяю ботов а занимаюсь своими делами.
За 2 года из глюков было всего 2 перерыва на час-два в торговле по разным причинам, но такие сбои уже никак не сказываются на моей торговле, ведь среднее время удержания позиций выше, а низкие плечи позволят пережить всё что угодно.
И вопрос на засыпку, что будет делать твой софт когда биржа будет присылать стаканы вверх ногами, с перепутанными бидами и асками? А такое было на ммвб не так давно.
3. Доступность индикаторов. Из коробки в тслабе один из самых бедных наборов индикаторов. На благодаря сборке от Vito тслаб тут вырывается в лидирующие позиции. Кто-то скажет что индикаторы нафиг не нужны, но я их обожаю, хотя даже со сборкой от Vito мне их стало не хватать.
4. Бедность функционала. Вообще в тслабе кучи всего не хватает, но с другой стороны лишнее бы только в сторону уводило. То что реально нужно есть, и работает норм.
Ок, про тслаб хватит, почитайте ещё Ves2010, он про него норм писал. Теперь про свой софт.
Тут есть один человек который больше 2х лет выбирает какой софт использовать или написать ли ему свой, и периодически пишет о том какая должна быть архитектура и какие в нём классы. Блин, за это время я уже тысячу разных тестов провёл, уже весь набор ботов в торговле заменился постепенно полностью 2 раза. Такими темпами пока ты свой софт выберешь уже интернет в РФ или мосбиржу прикроют нафиг.
Блин, какие классы? В софте должна быть функция «пульнуть заявку», и ещё несколько, а их можно хоть на ассемблере написать, хоть в qpile или метатрейдере, если не было бы тслаба то пулял бы заявки хоть из них, а для моих бектестов сгодился бы любой софт из того что видел.
Ещё должна быть кнопка «выводить бабло». Но для этого у брокеров есть личный кабинет, и свой софт для этого не нужен, если кто вдруг не знал.
Тут есть люди которые потратили годы на свой софт. Ну если кого-то прикалывает писать софт бесплатно то почему бы и нет. Продать его вряд ли получится. И лично я бы вообще не рискнул на своём или на малоизвестном софте торговать, одному человеку сложно и долго протестировать всё так чтобы гарантировалась стабильная работа.
Ок, добрались до самого главного на мой взгляд. Если человек потратил годы на свой софт то он ожидает что рынок ему должен заплатить за это. А вот нифига. От этого и разочарование в трейдинге, типа потратил Х лет, а в результате… Частично пост Антона Кротова об этом.
А рынок даёт столько сколько может дать, и ни копейки сверху, и ему пофиг на твой софт и какие в нём классы.
Потом со своим софтом у тебя может появиться ощущение что ты типа самый умный и что у тебя хорошие системы благодаря ему.
А мне кажется что все зарабатывающие системы примерно одинаковые, одинаково фиговые. Когда ты не потратил кучу времени на них то у тебя будет меньше завышенных ожиданий, и плечи соответственно тоже возьмёшь под них низкие. Что и позволит тебе выжить если что-то пойдёт немного не так как ты хотел, т.е. обычным для рынка чередом, и не разочароваться если ты не заработал кучу годовых.
ch5oh, а, круто. у меня сильно попроще вроде Zalman CNPS8900 Quiet
Разумно.
Пока вам хватает уровня гибкости и функционала тслаба.
Следующим шагом неизбежно будет свой софт.
Когда стратегии станут более сложными и например потребуется тихо набирать или скидывать позу.
Либо синхронно входить/выходить из нескольких активов.
Когда встанет вопрос диверсификации.
Собрать портфель значит анализировать больше данных и принимать больше торговых решений за меньшее время.
С увеличением средств в управлении даже самые неторопливые стратегии требуют качественно иных технических подходов.
Тарас Громницкий, в ТСЛаб можно тихо набрать и тихо скинуть позу. Можно следить за 10 тикерами. Можно синхронно кинуть заявку в 10 инструментов.
ХФТ нельзя делать, кмк. Но не исключено, что просто не умею его нагнуть правильно.
Sergey Pavlov, =) Тикет в саппорт с конкретным на пальцах разъяснением, что Вы имеете в виду.
Чтобы оптимизатор мог перебирать инструменты как один из параметров оптимизации?
Sergey Pavlov, а если Вы уже взяли позицию по Сберу, а на следующем пересчете решили, что Вам Сбер не нужен?
Чем-то похожая задача возникает на амерском рынке: там это называется "Предторговый фильтр", но он действует один раз за день в момент начала торгов.
А дальше следующий вопрос. Окей, список инструментов сформирован. А дальше что с ним делать? По каждому сгенерировать торговый агент и запустить?
Sergey Pavlov, =) при всем уважении, запросы в терминах "чего-то хочется, а кого не знаю" получают традиционный ответ «Когда-нибудь… что-нибудь. Возможно. Подумаем...».
А когда нарисованы картинки и стрелочки с указанием где именно ш… и* — другое дело.
ПС *«ш… и» == «шашечки».
1. Мы заранее определили подмножество тикеров из доступных и на них торгуем одно и то же.
2. На каждом такте подмножество тикеров переопределяется.
Второй сценарий в тслабе сейчас в принципе не реализуем. Первый реализуем, но путем дурацкого копипаста агентов. Зачем? А если выбрали торговать 30 тикеров? 30 агентов? Везде руками прописывать шаги цен ипр? Риск ошибиться высок и работа глупая копипастить. Другое дело, что это может быть совсем не актуально для большинства… Но в порядке набрасывания… вот для меня такая тема актуальна.
Ну и для тестирования всё аналогично по множеству тикеров. Разумеется эквити должна быть сводной с возможностью детализации по тикерам.
Sergey Pavlov, сейчас есть возможность перекинуть значение одного индикатора (или константы) из одного агента в другой.
Чисто гипотетичсески, у Вас один агент может заниматься расчетом торговых объемов для портфеля, а все стадо роботов просто принимать для себя рабочий сайз или те параметры, которые почему-то меняются при смене тикера.
+ Общая защита счета с помощью Риск-Менеджера.
Пункт 1 сейчас да, решается простым копированием. Суммарное эквити было бы хорошо посмотреть, согласен. Но нужен механизм пересчета всех попугаев в рубли.
Пункт 2 я по-прежнему не понимаю. Какое-то извращение ради извращения? Вы мне ответься на вопрос: "что делать с позицией в Сбере, если Вы на следующем пересчете решили, что Сбер Вам уже не нужен?"
Соответственно, можно и в обратную сторону: каждый робот считает свою эквити, переводит в рубли и кидает в Глобальный Кеш. Поверх этого крутится некий агрегатор, который эти эквити суммирует.
В целом мы же не только за искусство, но и против курвфиттинга? Первый шаг на этом пути — стокпикинг. Чтобы избежать курвфиттинга от стокпикинга — работаем с пулом тикеров. Ну а дальше то, о чем я написал.
Oleg Only Algo, на ФОРТС многие фьючерсы в своей валюте. Конвертация требует определенной ловкости рук.
Вы же захотите складывать брент + СИ + РИ + Сбер и получать результат в рублях, верно? А если симуляция за 10 лет — то курс рубля каждый день должен быть свой. Иначе чушь получится.
А кто акции гоняет у тех вообще нет таких проблем.
ch5oh, всему своё время.
Под каждую задачу свой инструмент.
Oleg Only Algo, кстати у экселя довольно сносный API.
С ним вполне удобно работать даже из C#.
На сколько помню, даже у Горчакова эксель долгое время был основным инструментом.
Я открыто скажу — одна из лучших в мире программ в своём классе. Среди русских однозначно лучшая.
Если б еще разрабы прислушивались к пожеланиям реальных трейдеров и не кидало их так резко по сторонам, вообще было бы шикарно — лучшего и желать не нужно было бы.
Надеюсь, хотя бы 2.0 долижут, не кинут как 1.2
Да и эволюция замедлилась. Обновлений почти нет.
Ночнухи может и лепят, а где релизы?
Как задолбал один только глюк с копипастом кубиков!
Пока не догадался как его обходить )))
Artemunak, Уже несколько раз встречал этот термин и что его «очень хотят», но так и не понял чего хочет общественность.
=( Вы извините, что я после многих лет торговли Вас не понимаю с полуслова.
А. Жесткий курвфиттинг сразу под 5 тикеров? Так сейчас можно заправить в один алго хоть 10 торговых источников. Или проблема в том, чтобы пересчитать финрез к одной валюте? Так вроде бы есть возможность использовать свою функцию как оптимизируемый параметр.
Б. Или чтобы торговый инструмент был одним из параметров оптимизации? Типа, мы оптимизируем пересечение мувинга по параметру "Период", но при этом одновременно смотрим, как эта страта ведет себя на 100 тикерах?
В. Или чтобы можно было взять эквити, условно, 15 роботов (с готовыми параметрами) и подобрать для них наилучшее соотноешние весов? (То есть сделать курвафитинг 2-го порядка ;-) )
Г. Что-то иное? Все вместе А+Б+В?
Киньте здесь или в личку подробное описание что Вам надо из этого. Заметьте, это все совершенно разные вещи.
Что лично Вы вкладываете в понятие "портфельная оптимизация"?
1. Чтобы можно было несколькими кликами увидеть совместную эквити всех 70 ботов. В принципе что-то типа пункта В и курвафитинга второго порядка тоже не помешает.
2. Чтобы можно было оптимизировать параметры бота или сразу нескольких и при этом учитывалась бы совместная эквити этих ботов.
В принципе в этих пунктах никакой экзотики нет, я думаю все примерно этого хотят.
3. А это уже поэкзотичней, но очень хочется.
Чтобы можно было применять кубики которые бы меняли поведение сразу всех ботов в портфеле и таким образом можно было бы тестировать например разные фильтры сделок сразу на всём портфеле ботов.
Artemunak, фраза "или даже нескольких" отправляет количество оптимизируемых параметров на Луну, а количество точек оптимизации — на Марс.
Ну, то есть "А+Б+В", чтобы можно было сделать совсем хороший фитинг под историю.
Сейчас основные усилия сосредоточены на провайдере Rithmic (уже доступен в бета-версии бесплатно) и на криптобиржах.
Сразу кучу параметров я например оптимизировать не буду, и что курвафитинг а что нет мне кажется должны решать пользователи, а то так можно сказать что всё курвафитинг.
Если сейчас попытаться объединить несколько ботов в один то приходится переименовывать кучу кубиков и тслаб тупо зависает или глючит когда копируешь\вставляешь и пытаешься что-то делать с большим количеством кубиков внутри скрипта.
Artemunak, во, это вообще вариант «Г».
Ммм… надо подумать. Может быть, есть вариант решить через механизм типа кастомного индикатора?..
Artemunak, ПС на днях делал что-то похожее, но пошел от обратного: завел несколько источников и от каждого провел свою торговую логику.
И еще добавил константу числовую. Значение этой константы определает, какие из веток логики (какие инструменты) надо включать и торговать. Выбор выполняется побитовыми масками. При полном переборе от 0 до 256 будут включаться в торговлю все возможные комбинации из 8 источников (по одному, все возможные пары, тройки и т.д. вплоть до полной корзины).
Плюс собственные параметры в торговой логике (грубо говоря, параметры индикаторв) все становятся доступными для оптимизации (при желании).
Я в ответ дал рекламу открытую. И что?
Чем это вас задело так, что устраиваете наезд?
по теме, автор поста сказал: все что народ сам разрабатывает то говно, юзайте тслаб. поэтому я и сказал что реклама.
VladMih, да ты еще и дерьмецо оказывается, если не нравятся комменты то сразу в ЧС.
Имей мужество отстаивать то что пишешь, а не прятаться сразу к мамке в подол.
Тем более, что я нигде не видел удачного подхода к управлению портфелем систем на нескольких счетах.
Автор за два года несколько раз полностью поменял портфель систем. Пока системы просто кубики и нет проблем с емкостью и клиентами, можно обходится тем, что есть.
SergeyJu, и что? Поменял == заменил на улучшенные алгоритмы.
Вопрос торговли на 10 разных счетах — это необходимо ДУ-шникам. Либо при некоторых крайне специфических условиях.
Если Вы начнете формулировать ТЗ — Вам станет очевидно, что там примерно эшелон подводных камней и нюансов. Либо все выльется в что-то типа автоследования.
SergeyJu, системы для создания/тестирования совершенно точно не должны слишком пересекаться с системами для торговли.
Избыточная сложность и витиеватость первых ни к чему хорошему в плане стабильности и скорости не приведёт.
Тем более, что они функционально различны.
silentbob, $1500 сразу + ежемесячно стоимость датафида и того торгового АПИ, которым Вы будете пользоваться.
Для доступа на рынок РФ условия не всем понравится. =D
Ну и дороговато, да.
датафид можно из квика загнать, какие проблемы. коннектор да, никуда не годится.
silentbob, =) "Квик" и "коннектор никуда не годится" уже как бы намекают.
Те, кто выбирает Квик для торговли вряд ли захотят вот так запросто отдать хоть 70, хоть 90 тыр. Это считай стартовый депозит для многих.
Собственный софт во-первых уникален сам по себе, это дает хоть какие-то конкурентные преимущества по сравнению с тслабом, доступному всем. Во-вторых само программирование способствует более глубокому пониманию процессов или, грубо говоря, мозг лучше развивается в достижении цели.
Дальше Вы эту штуковину прикручиваете к любому торговому терминалу (хотя бы к Квику даже) — и дело в шляпе.
Вот общение на СЛ — это да! Я уже приблизился! )))