В итоге, после всех этих танцев с бубнами результаты оказались следующие:
В итоге для расчета размера позиции я оставил формулу Ларри Вильямса и процент риска на сделку в 2,5%, а так как я по-прежнему совершал сделки на часовых или дневных графиках, скорости расчета не требовалось и все расчеты производил в Excel таблице, в которой одновременно и вел дневник сделок.
Какие я выводы сделал из проведенных исследований для себя?
Первое, что любая система, даже самая лучшая может привести к сливу депозита если поставить 100% депозита, да еще с плечами на одну из проигрышных сделок. Это вопрос размера позиции.
Второе, что правильно определенный размер позиции позволяет кратно увеличить прибыль вашей стратегии или привести к сливу депозита если, вы начинаете принимать риск, на который ваша система не рассчитана.
И третье, расчет размера позиции, должен быть частью торговой системы. Расчет размера позиции помогает вам достигнуть ваших целей в трейдинге
Цели в трейдинге, как и ваша личная психология влияют на вашу способность торговать и как следствие на ваш размер депозита куда более сильнее, чем многие, особенно новички, думают.
Приведя аналогию с моим другом в казино, его цель была скорей «не обанкротиться», поэтому он делал не большие ставки, не пытался ставить на варианты с минимальной вероятностью выигрыша. Люди, которые приходили в казино с целью быстро заработать много денег, как правило делали ставки сразу большими лотами на одну цифру, split или street. Это, конечно, могло привести к большому выигрышу в случае удачи от 11 к 1 до 35 к 1, но чаще приводило к потере денег. То же самое я видел и на рынках, те кто торговал с целью «не обанкротиться», медленно, но увеличивали свой депозит, те же кто хотел заработать быстро и много – этот депозит сливали.
У меня самого был подобный негативный опыт, когда я начал набирать фьючерсы на Газпром где то с 110-120 рублей и так как они росли каждый день в ожидании постановления, правительства в конце 2005 года, предусматривающее снятие существующего ограничение на участие в уставном капитале концерна иностранных инвесторов, я каждый день увеличивал свою позицию на размер накопленной маржи за день на максимальное плечо. И все было просто отлично! С 10 тысяч рублей я поднял свой счет до 300 с лишним тысяч за несколько месяцев, но при первой же большой коррекции счет упал до 70 тысяч. Причин этому было несколько, и неверие что Газпром может упасть сильно, все верили в его безоткатный рост до 350 и выше, и попытка выкупать просадки на падении усредняя позиции из-за той же веры в рост, но основным я считаю было неверное определение размера позиции, особенно на падении. Я выходил по стопу, когда фьючерс Газпрома начинал падать, ждал каких-то «верных» уровней и на новых попытках роста заходил опять на весь депозит с плечами. Можно конечно сказать, что я все равно неплохо заработал, поднять депозит в 7 раз за 3 или 4 месяца, но для меня это был шок почти как полное банкротство, я уже свыкся что у меня на счету есть 300 тысяч. Это как поговорка про кредит: занимаешь чужие – отдаешь свои. И что самое обидное, в момент этого ажиотажа, я понимал, что поступаю неправильно, нельзя так рисковать, что рост не может быть вечным, что нужно сохранить уже заработанное, но азарт взял свое и как следствие закономерный результат.
Это был как раз 2006 год. После чего я прекратил активную торговлю на фондовым рынке на длительный период по семейным обстоятельствам и в свободное время, если такое оставалось, занялся вопросом как уйти совсем от ручной торговли. Может и есть уникумы которые как роботы следуют своим правилам торговли, но у меня не получалось, даже имея МТС протестированную на истории я все равно иногда либо входил в преддверии появления сигнала на вход или наоборот выходил из позиции раньше чем возникли сигналы на выход. Вся моя торговля свелась к редким сделкам на дневных графиках и длительным удержаниям позиций.
Свои сделки я обычно комментировал таким образом на графиках и сохранял в дневник, что бы визуально потом вспомнить как все выглядело в момент принятия решения.
В итоге, после длительного изучения интернета в поисках решений и выбора платформ которые позволяли бы торговать в полностью автоматическом режиме у меня сложился следующий перечень:
1. Wealth-Lab Pro + адаптер
2. TSLab
3. OsEngine
4. StockSharp
5. MultiCharts
6. NinjaTrader
После сопоставления всех плюсов и минусов и вмешательства известной всей особы –«жабы» по торговым платформам получилось следующее
1. Wealth-Lab Pro + адаптер – платная программа (покупать «жаба» давит), есть «подкорректированная» умельцами, но соединение не устойчиво плюс риски, что робот начнет торговать по своему усмотрению достаточно высоки.
2. TSLab – хорошая программ, но опять вездесущая «жаба». Денег в торговле было немного и платить ежемесячную мзду выходило дороговато.
3. OsEngine – хороший проект, быстро развивался тогда и сейчас. Хорошая обратная связь и поддержка.
4. StockSharp – была хорошая тема и даже лично встречался на конференции с разработчиком Михаилом Суховым в начале его пути. По мне оказался му.ак. 15 тысяч которую заплатил года 4 назад за видеокурс по StockSharp, не отдал до сих пор. Ни курса, ни денег. Сказал хочешь денег что бы вернул – иди в суд. К тому же все коннекторы необходимые у него были платные в отличии от OsEngine.
5. MultiCharts – хорошая программа но опять «доработанная» для бесплатного доступа.
6. NinjaTrader – таже ситуация, что с TSLab и MultiCharts.
В итоге было принято следующее решение. Пообщавшись с Алексеем Ван и просмотрев все видео по программе OsEngine, было принято решение приобрести видеоуроки по OsEngine. Возможно, для опытных программистов это и не требуется, но мне данные уроки были полезны. Буквально за месяц написал своего робота и запустил на Binance. Какой основной урок я вынес из своего первого бота? Возможно, для некоторых пользователей это покажется странным, но для меня первым уроком было: Сохраняй все версии ботов!
Сколько я с этим намучился и потерял времени – не передать. Часто менял какие-то алгоритмы в боте, потом пытался вернуть старые так как они оказались более успешные, а фактически это превращалось в новое написание бота с отчаянной попыткой вспомнить как ты реализовал этот алгоритм ранее.
Следующим этапом пришло понимание, что лучше для меня, это первоначальная разработка бота и его тестирование более удобно делать и понятно в программе Wealth-Lab Pro. К тому времени в программе Wealth-Lab Pro 6.9 язык программирования был уже на C# и поэтому совсем с нуля переносить ботов из Wealth-Lab Pro в OsEngine не приходилось, хотя конечно работы добавляло. О том как я торговые системы в Wealth-Lab Pro и по каким параметрам отбираю сами боты и финансовые инструменты, я напишу отдельную статью.
После решения вопросов с торговыми платформами встал вопрос с выбором брокера, который позволял бы автоматически из OsEngine выставлять заявки в торговый терминал.
По-хорошему выбор то здесь не особый. Из основных это либо через терминал Quik и любого брокера, который его предоставляет или через брокеров, у которых есть свое API и готовый коннектор под него в OsEngine. Так как основной счет, где был Quick у меня находился в Сбербанк брокер, то первый опыт полностью автоматической торговли ботами я решил начать с него.
Это был вариант из анекдота «Ежики кололись, плакали, но продолжали есть кактус». О брокере Сбербанка написано немало отзывов, поэтому повторять их не буду. Когда количество косяков брокера превысило все разумные пределы, я решился перейти в «Открытие брокер». Не могу ни чего о нем сказать плохого, скорость и трансляция данных из Quik была нормальная, но со временем так же стали накапливаться замечания к трансляции котировок и адекватном их отображении в OsEngine.
Конфигурация моего рабочего места к тому выглядела следующим образом: терминал Quik (как поставщик данных) – терминал OsEngine (непосредственно торгующие боты) — Wealth-Lab Pro (контролирую совпадение графиков и что бы сделки ботов в OsEngine совпадали с контрольными сделками в Wealth-Lab Pro). И вот на этапе контроля совпадения графиков и сделок в OsEngine и Wealth-Lab Pro, начали появляться несоответствия. Не всегда графики подгружались в OsEngine полностью. Мог не прогрузиться первый период после начала торгов или последние предыдущего дня, что естественно влияло на появление сигналов на покупку или продажу.
Единственно верным решением, которое мне подсказал мой товарищ, был переход на TRANSAQ Connector от Финам. Он уже был опытный алготрейдер и следую его совету, а открыл счет в Финам. Единственная мысль после этого была — почему я не сделал этого раньше?
Ушли проблемы присущие Quik как постоянное добавление новых бумаг в таблицу All Deals и Securities, а самое главное ушли постоянные разрывы с сервером котировок после окончании торгов. Сейчас, работая с TRANSAQ Connector, я запускаю OsEngine в понедельник и не трогаю его до выходных, все работает в автоматическом режиме.
Решив основные задачи, появилось больше времени заниматься именно разработкой торговых ботов, не отвлекаясь на постоянный мониторинг котировок боясь не пропустить сделку. Предыдущий год был довольно успешном в этом плане. В кооперации с товарищем запустили несколько стратегий и после длительных размышлений решил их выложить на Comon с запретом подключения к ним. Буквально не давно был запущен новый торговый бот Скринер. Если первые два бота работают уже более полугода и были выявлены и устранены все ошибки, и текущая доходность подтверждает верность принятых решений, то скринер это первый опыт работы с таким типом ботов и самому очень интересно как он поведет себя в дальнейшем.
Что лично для меня дал переход от интуитивного, ручного трейдинга к полностью автоматическому алготрейдингу?
Ну в первую очередь свободу. Свободу от постоянного наблюдения за котировками, графиками, пресечениями скользящих средних и прочей суетой. Запрограммировав своих ботов и оттестировав их на истории, я отпустил их в свободное плавание зарабатывать мне деньги. Пока они не плохо с этим справляются и надеюсь продолжат дальше.
Спокойствие. Спокойствие, потому что при резком росте котировок или их падении, я знаю, что мои боты не пропустят эти движения и я заработаю на них. Я работаю финансовым директором в строительной компании и свободного времени для этого у меня не так уж и много. Иногда его вообще нет. И выйдя с очередного совещания, смотря постфактум на резкий рост акций, я не буду жалеть, что не успел вовремя их купить. Бот это сделает за меня.
Есть ли риски? Конечно, есть и их много. Риск крах ботов, риск падения брокера и много других. Можно, конечно, ждать и ничего не делать, но о чем я сейчас жалею больше всего, что, когда нам дается шанс изменить для себя что-то в лучшую сторону, мы находим тысячи причин почему мы не можем сделать этого, а потом жалеем об упущенных возможностях.
Это была моя личная история как я пришел в алготрейдинг и надеюсь эти посты помогут новичкам совершить меньше ошибок на этом пути и найти более короткие пути учитывая мои ошибки.
P.S. На своем телеграмм канале QuantBot, на ежедневной основе, совершенно бесплатно выкладываю уровни покупки и продажи акций на Мосбирже моей стратегии "Для друзей". С апреля по июль 2023г. доходность по ней составила 18% за четыре месяца.