Блог им. myaucha

Торговля вопреки всему

    • 03 октября 2024, 15:12
    • |
    • myaucha
  • Еще
Кто-то торгует вручную, кто-то автоматизирует свою торговлю. Я с самого начала решил, что торговля вручную — не для меня. Более того, она мне не интересна, даже при условии, если бы была прибыльной. Еще даже не было брокерского счета, ни одной заключенной сделки, ни одной прочитанной книжки, а решение уже было принято. Опять вспоминается анекдот про зайца с его оборотами.

Хронология событий:

1. В начале 2010 года в сети случайно наткнулся на результаты ЛЧИ 2009 года. Стало любопытно. Решил почитать про скальпинг (очень моден он был тогда). Всякие приводы для автоматизации торговли и т.п. И все сводилось к тому, что надо «ходить» за западными фьючами. «Говно, вопрос! Щас на коленке че-нить слабаю и в путь!». Где открыть счет? Ну разумеется в Открытии. Открыл, дали бесплатный Quik, ключи — работай, брат! В свободное от работы время, а иногда и в рабочее (потому как компания была «болотистая» и времени оставалось с избытком) стал клепать робота. Выбрал самый «удобный» инструмент — pl/sql developer. Не ну а чо, удобно — что знаем, на том и пишем, а визуальную часть написал на VBA for Excel. Написал привод, на экране Excel-формы формировался тиковый график фьючерса RTS и его виртуальный аналог на основе западных фьючерсов, данные по которым поступали из NinjaTrader. И две кнопки — купить/продать. Загнал 10 тыс. руб. на счет. В общем все худо-бедно работало во всех смыслах — и худо, и бедно. И тогда я плюнул на работу — тоска ведь зеленая и решил уволиться. А уволившись, заняться трейдингом плотнее.

2. Примерно год в режиме нон-стоп я исследовал графики. Написал кучу версий разнообразного вспомогательного говно-кода для анализа скаченных с финама данных (в основном по фьючам). Все проверял на VBA for Excel, а pl/sql developer выкинул (боливар не выдержит двоих). Параллельно ходил на собеседования по основному профилю, но если даже меня брали, я либо отказывался, либо выходил и через несколько дней уходил — было скучно и депрессивно. Спустя полгода предложения уже особо и не поступали, так как по второму кругу я был мало кому интересен, а резюме уже примелькалось. Поэтому я неспешно ковырялся в данных. То у меня возникали гениальные идеи, и я был на эмоциональном подъеме, то эти же идеи оказывались безосновательными и тогда наступала депрессия (ну не прям депрессия, а уныние — ложился спать). И все это постоянно чередовалось. В конце концов, поступило предложение, на которое я согласился и основная работа вытеснила «научные изыскания» в трейдинге. Денег я особо не потратил за год «ковыряний», но и не заработал. На брокерский счет, не имея надежной торговой системы, больших сумм не зачислял, руками не торговал. Жил на проценты с депозитов.

3. В канун 2014 года заболел прямо перед новогодними праздниками. И решил от нечего делать попробовать изучить C# (ранее на нем не писал) и налабать прием данных из Quik-а через DDE без Excel. Получилось неожиданно быстро, плюс удалось написать многопоточное ядро будущей торговой системы. Фактически за 10 дней на новом для меня языке (ну как новом — я писал когда-то в 2000-х на C++Builder-е и Delphi, а до них на ассебмлере, FoxPro, Pascal, PL1, QBasic) написал торговую систему, в которой можно было создавать алгоритмы, исполняемые независимо друг от друга — каждый в своем потоке. Она получала данные из Quik-а по DDE, а выставляла заявки через trans2quik.dll. Позднее, забегая вперед, уже вернувшись к работе после болезни, я продолжил дорабатывать то, что было написано. Со временем добавилось

  • сохранение результатов торговли за день в Access-базу данных (в конце торгов)
  • расширилось кол-во команд консольного приложения, позволяющих проверять ход торговли по каждому алгоритму и каждому инструменту (все в режиме онлайн, без остановки алгоритмов)
  • добавился вывод в log-файл, так как вывод только в консоль по понятным причинам ограничен в объемах (каждый алгоритм-поток выводил результаты в свой файл)
  • расширялось количество инструментов, которыми можно было торговать (сначала акции, потом фьючерсы, потом индексы, как вспомогательный инструмент, потом облигации), количество источников данных (сначала таблица текущих параметров, потом стакан, таблица всех сделок и прочее)
  • вспомогательные утилиты для удобства обсчета внутри алгоритмов разных инструментов
  • возможность читать и сохранять индивидуальные параметры алгоритмов в виде INI-файлов
  • ну и, разумеется, исправлялись ошибки, которые неизбежно возникали в ходе разработки
В итоге все работало уже не так худо, и не так бедно, но все же бедно. Идей было много — корзина фьючерсов, арбитраж, одноногий арбитраж и прочие набившие оскомину термины, но все идеи не работали (или работали плохо) как только доходило до практики. В основе создания любого алгоритма лежал анализ спецификаций на инструмент и здравый смысл. Никаких анализов свечей, трендов, волн, индикаторов и т.п. В плане инвестиций на пике брокерский счет пополнялся до 600 тыс. на срочном рынке и около 300 тыс. на фондовом, но профита особо не было. В конце концов, помимо прочего, я написал простую стратегию усреднения на акциях второго (если не третьего) эшелона, таких как ТКСМ и прочего мусора, который был дешевым, и который можно было долго усреднять (условно усреднять, не совсем прямолинейно усреднять, хитро усреднять, но все-таки усреднять) даже столь незначительной суммой на брокерском счете. Около 10 алгоритмов усреднения в итоге работало параллеьно по акциям, в каждом по десяку-два инструментов, которые отчасти повторялись. Деньги не выводил и не особо пополнял, хотя иногда пополнял фондовую часть. Еще работало несколько алгоритмов по облигациям, но некорректно. Добавил автоматический запуск Quik-а и торговой платформы в начале дня и останов в конце, на AutoIT. Я работал на работе, торговля шла самостоятельно — дома. Иногда (довольно часто, если честно) были сбои — приходишь, а данные не поступают, модем не работает или Quik упал и не поднялся. 

Минус всего этого — так и не было надежной стратегии и стабильного дохода, а в качестве канала связи использовалась Yota со скоростью около 1-3 Мбит/с, что приводило к задержкам, обрывам связи без восстановления и другим трудностям.

4. В 2014-м году случились потрясения — резкое снижение курса рубля. Депозиты у меня были в разных банках, а валютных сбережений не было совсем. В итоге пришлось бегать, перекладываться, стоять в очередях, чтобы открывать вклады на более выгоднях условиях и хоть как-то компенсировать рублевую девальвацию. Когда относительно молодой — дури много, вектора только нет. И это удалось отчасти сделать. В общей сложности (опять забегая вперед) за 6,5 лет смог на депозитах заработать 3,5 млн (реинвестирование, сложный процент… ну вы поняли). В 2015-м году устал от текущего места работы и ушел в… никуда. Следующие полтора года не работал и развивал торговую систему (о чем писал выше), пытаясь найти стабильную стратегию. Работу подыскивал, но не слишком активно. За 6,5 лет активно-пассивного заработка на депозитах у меня около 5-6 раз наступали страховые случаи, на которых я ничего не потерял — все вернули благодаря АСВ (страховые суммы не превышал при размещении средств во вкладах). В итоге в 2016 вышел на новое место.

5. В 2018-м вывел с брокерского счета все средства. Плюс дала стратегия «усреднения мусора», о которой писал ранее. Средства вывел, чтобы купить квартиру. В наличии оказалось 12 млн, из которых 3,5 были заработаны на депозитах и еще какой-то смешной хвостик в плюс (менее 100 тыс. руб) — на бирже. По итогам всей своей «биржевой деятельности» с 2009 года я оказался в плюсе, но это ни в какое сравнение не шло с заработком на депозитах. На накопленные сбережения была куплена двушка в столичной новостройке.

6. В 2024-м брокер Открытие стал мне выставлять счета за депозитарное обслуживание, хотя 6 лет я вообще не торговал. Сначала он присылал письма о переводе всех клиентов в ВТБ. Я согласился, но меня так и не перевели — что-то не так было с паспортными данными. В итоге я сам открыл счет в ВТБ (брокера, как и судьбу, не выбирают) и, не без труда, перевел зависший актив, который уже не торгуется на бирже давно, но который хрен отцепишь. Из-за него мне и стали выставлять счета. Торговать особо не планировал, но раз перешел к новому брокеру, надо бы попробовать реанимировать то, что есть. Поднял свои наработки, но оказалось, что Quik изменился — стал 64-разрядным, номера заявок и сделок стали длинными. Короче, ничего не работало. Нашел новые библиотеки, установил новый Quik на новый комп, с новой Windows 11 виндой. В феврале завел 1000 руб на срочный рынок и 1000 на фондовый. На них все и отладил, плюс демо-Quik использовал. Затем пополнил каждый из рынков до 10000 руб. Все старые стратегии отключил, написал новую — простой арбитраж фьюча против акции. Запустил и примерно через месяц на двух парах акция-фьюч заработал около 12% годовых при ключевой ставке 15 или 16%. Тоска зеленая… Решил посмотреть в сторону облигаций… исправил старые ошибки, доработал. Завел еще немного средств. Запустил торговлю облигациями примерно в середине мая, арбитраж отключил. В течение последних месяцев дорабатывал решение, довносил средства по 5 т.р. (когда требовалось), увеличивал кол-во алгоритмов. На данный момент на счет заведено всего 115 тыс и доходность к этому моменту составила около 19% годовых (с середины мая, близка к ключевой ставке, комиссия учтена, налог — нет), заключено около 600 сделок. Основной риск системы торговли облигациями — банкротство эмитента. Если попаду на такой кейс, то, скорее всего, перестану торговать облигациями, так как овчинка выделки не будет стоить. Предпочтение в инвестициях по-прежнему отдаю депозитам. Торговля на бирже — это скорее призрачный шанс заниматься чем-то интеллектуальным на пенсии, то есть не начинать с нуля, а уже прийти с достаточно хорошим бэкграундом.

Ну и по инфраструктуре (это вишенка на торте):

Биржа -> Quik-сервер брокера -> Yota-модем -> Мой рабочий ноут с VPN (работаю из дома) -> WiFi-hotspot -> Мой домашний ноут -> Quik-терминал -> trans2quik.dll, ndde.dll -> Консольное приложение на C#

Данные до моего приложения доходят вялыми и уставшими. Если пустить Yota-трафик сначала на домашний ноут с системой, а потом через WiFi на рабочий, то VPN отрубается. Можно купить раздающий Yota-модем, но боюсь греться будет сильно, так как и на прием, и на передачу будет работать. 

Версия 64-разрядная Quik-а 1.11.0.45 от ВТБ регулярно (примерно раз в день) падает, хотя в Открытии 32-разрядная вполне себе работала без сбоев, а Yota-модем сейчас работает в диапазоне от 3-7 Мбит/c. Возможно дело в нестабильном канале связи Yota+WiFi, возможно нестабильна работа самого Quik-а. Обновиться до более адекватной версии Quik-а не получилось — поддержка ВТБ рекомендовала работать с тем, что есть и не вые...

А вот как скучно все это выглядит… совсем не так романтично, как на картинках, где три огромных монитора, куча стаканов, графиков и все в движении

Торговля вопреки всему

Так что да, так и живем — работаем вопреки всему, торгуем… хотя можно и другой глагол подобрать, неприличный…
6 комментариев
За веселый рассказ дарю тебе формулу. В ней объем делим на размах свечи 
V\(H-L). Это плотность объема за цикл времени .  Когда то… не помню когда… мне очень понравилась эта формула. Типа как плотность газа в единице объема = давление газа? Получим давление объема.
avatar
ezomm, Даже не знаю, что делать с таким щедрым подарком. Теперь точно все наладится
avatar
ezomm, первый коммент и сразу граали
avatar
А где же ты был с 2010 г? ни разу не слышал про смартлаб?
avatar
Мурен(а), В те времена был 2stock-портал или как-то так назывался. 
avatar

теги блога myaucha

....все тэги



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