Блог им. LevNNN

Боевое испытание торгового робота на реальном счету

    • 04 ноября 2021, 21:15
    • |
    • LevNNN
  • Еще

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

История создания  робота началась  в ноябре 2016 года. Я хорошо запомнил эту дату, потому что как раз были выборы президента США, на которых победил Трамп. В тот момент,  я не ставил перед собой  никаких глобальных целей, просто  хотелось оптимизировать процесс торговли. У меня были навыки программирования, поэтому в качестве инструмента выбрал библиотеку StockSharp. Т.е. робот написан на C#.

Робота разрабатывал не спеша.   Мне было просто интересен этот процесс. Это как бы хобби к основной работе.  Иногда забрасывал разработку на месяц из — за отсутствия идей, иногда  пахал сутками.   Очень много уделял времени тестированию стратегии. Гонял  на исторических данных начиная  с 2000 года.  Проверял на всем, и на акциях и на форексе  и на  товарах и даже на крипте.  Ставил своей задачей, чтобы алгоритм стабильно давал прибыль на длительных  интервалах времени  вне зависимости от инструмента.

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

И вот где — то в  в апреле  2021 года решил, что могу снова поучаствовать в реальной торговле.  Открыл через своего знакомого в США счет на OANDA.  Напрямую открывать не захотел, что бы не связываться с налоговой.  Тем более для меня это был скорее эксперимент, а не заработок. В июне завели 50 тыс  долларов.  Торговал только на форексе  на основных валютных парах.

Начало было не совсем удачным — начало торговли совпало с заседанием ФРС ,  и было сильное движение во всех валютах.  Алгоритм уходил в просадку на 8%, минимальная сумма счета была 46 тыс USD.  Но со временем алгоритм справился  с задачей и потихоньку отбил убытки .   Начиная с середины июля ушел в  положительный баланс.

Сильно не рисковал. OANDA дает плечо 50:1, но больше чем 20:1 не открывал позиции.

По состоянию на  31 октября на счету 61 234 доллара.   Т.е. за 4.5 месяца доход составил  около 22% .  

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

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

Что делать дальше  — пока не ясно. Просто продавать робота -  не хочется.   Для меня в роботе все просто, но  пробовал объяснять другим людям — не понимают (или не хотят понимать).    В роботе не одна кнопка — «начать зарабатывать».  Там кое — что  настраивать надо!

Сам человек не очень публичный. Выкладывать видео на  youtube или вести собственный telegram  канал  — желания нет.  Заниматься  «учительством» тоже не очень хочется. Сейчас их столько развелось!)

В идеале хотелось  бы найти   пару — тройку сильных трейдеров, как алгоритмистов,  на и просто трейдеров, объединиться  и сделать что — то мощное!)  Может это и утопия....         

Буду рад всем ответить. 

P.S.  Смартлаб почему — то не дает прикрепить файлы, поэтому выложил стейтменты в dropbox
www.dropbox.com/s/vh7vk7wbxo8pg9v/Account%20Statement.zip?dl=0

41 комментарий
а почему выбрали валюты? на валютах каналы горизонтальные, а на акциях вертикальные?
avatar
Glago, как я написал выше, я пытался  разработать  алгоритм, который будет весьма универсальным и работать  практически на любых типах  инструментов. Понятно, что  настройки для  валюты и акций немного отличаются.   Валюта была выбрана потому, что  для  проверки  результата достаточно относительно небольшая сумма.  
Для того, что бы проверять акции желательно иметь  портфель инструментов  и  там не  дают такого хорошего плеча.

avatar
LevNNN, Сейчас у тебя на руках $60000 и торговая система, дающая более 50% годовых.
Откладывай с каждого годового итога $15000 на жизнь, остаток — в игру.
Через 5 лет у тебя будет $160000.
Чего тебе ещё надо.
avatar
Rostislav Kudryashov, Тут скорее дело не в деньгах.  У меня есть основной бизнес, а это скорее хобби.
Хочется, как в спорте, чего то большего!)

avatar
LevNNN, 21:51 если у тебя есть на что кушать, не отщипывай каждый год от депозита по $15000. Тогда через 5 лет у тебя и будет это «чего-то большее»,  а точнее, большее $455000.
А если хочешь острых спортивных ощущений, добавь к имеющимся  $60000 ещё $40000 заёмных. Через 5 лет с ежегодным выигрышем более 50% у тебя будет более $759000.
Более чем достаточно для погашения кредита. И не морочь нам голову.
avatar
Rostislav Kudryashov, Да я никому морочить голову не хочу. Перспектива быть «подпольным миллионером Корейко» не очень интересна. 
Скорее наверное есть мечта, собрать небольшую, но мощную команду  единомышленников. И затеять  какое — нибудь большое дело — миллионов на сто!) Долларов конечно! 
avatar
LevNNN, 22:09 чего это тебя потянуло в «подпольщики»? Не хочешь платить налоги?
Запусти игру на ИИС типа Б. Все доходы твои. Правда, на ММВБ для курса доллар/рубль плечо около 18. Но как-нибудь вытянешь. В добрый путь.
avatar
Rostislav Kudryashov, Кстати, рубль к доллару не лучший  инструмент для торговли.  ИЗ валют я бы выделили  евро,  австралийский доллар, из товаров — нефть, серебро.  Это намного более «техничные инструменты» для торговли.  Иногда рубль делает  «неприятные сюрпризы»!)
avatar
Я все налоги плачу!) За совет спасибо, но вряд ли я им воспользуюсь!
 
avatar
Да верим, мы верим. У меня первые 2 года знаешь какие стейтменты выходили, чуть работу не бросил.
Давай через 10 лет ищем тебя в списке форбс!
avatar
Simix, ирония?!)  Блин, почему никто не спросит как устроен алгоритм!)
avatar
LevNNN, граалей и так полно, а у тебя даже на грааль, судя по тексту просадка было до 90%, кому такое нужно.
В конце вышел в плюс и заработал, молодец, иди возьми с полки пирожок.
avatar
Sergeyka, Вы что — то путаете.  просадка была 8%.   На старте было 50 тыс USD, мин сумма  46 тыс.  CСкачайте стейтменты и посмотрите сами. Так что пирожок Ваш!)
avatar

LevNNN, «Блин, почему никто не спросит как устроен алгоритм!)»

Cпрашиваю )

Зы Тоже использую S#

avatar
Sprite, В целом мне S# очень понравился. Мощная библиотека, много коннекторов, работает стабильно. Но вот саппорт у них не отзывчивый, приходится  разбираться все самому.  
Интерес к посту уже прошел, поэтому наверное лучше не отвечать здесь в комментариях, как он устроен, а посвятить этому отдельный пост. Буду копить творческие силы, чтобы написать его!  
avatar
Кто-нить знает? Есть в России легальный бизнес (кроме торговой системы автора), дающий более 50% годовых чистыми?
avatar
Rostislav Kudryashov,  В ИТ неплохо зарабатывают!
avatar
 Т.е. за 4.5 месяца доход составил  около 22% .  

мало

не процентов, а времени тестирования

потестируйте не 4 месяца, а 4 годика тогда все и разъяснится и команда уже и не будет нужна… как и лимоны…
avatar
qxr1011, Про время согласен, маловато.  А вот про проценты — не думаю.  Можно накрутить  и увеличить риски. Но тогда вероятность слива будет резко увеличиваться.  Если у Вас есть лучше алгоритм — расскажите?!
avatar
LevNNN, 22:32 тебе обязательно 50% годовых? А 19% среднегодовых на истории 24 лет не устроит?
avatar
Rostislav Kudryashov, 19% не устроит.  А 24% — устроит, как у Баффета! 
Шучу!)
На самом деле  — ко всему тому, что я написал выше я отношусь как к эксперименту.  Если будет миллион долларов в управлении. то риски надо еще снижать.   
avatar
LevNNN, 22:42, 19% на 24 годах — это рост рублёвого золота в 68+ раз.
Но если каждый квартал на ММВБ покупать фьючерсы GDNN с капитализацией, рост относительно затрат может получиться гораздо больше.
avatar
Rostislav Kudryashov, интереснее доходность в долларах считать.
Кстати, золото имеет шансы продолжить рост, даже не смотря на  сокращение QE в штатах.
avatar
LevNNN, Можно накрутить  и увеличить риски.

не надо ничего накручивать, продолжайте работать, и не торопитесь делать выводы… все самой собой встанет на свои места


Если у Вас есть лучше алгоритм — расскажите?!

нет конечно :)
avatar
qxr1011, Спасибо!  На самом деле эксперимент не закончился, а продолжается.  В настоящий момент на счету 62 601 доллар, т.е. еще немного подрос. Открыты позиции по 7 инструментам. На 100% не обещаю, но постараюсь опубликовать пост в начале декабря о результатах торговли за ноябрь.   
avatar
LevNNN, ну да, как уже написали времени мало прошло, а сделок сколько за это время? Надо же на распределение прибылей по отдельным сделкам тоже смотреть. Так-то и случайным образом можно так поторговать.
Плюсую! Я бы вписался во «что-то мощное»! Алгоритм рабочий. При сотом плече даст за полгода более 100%. Какая среднегодовая доходность за период 10 лет? И какой максимальный убыток с наивысшей точки эквити за 10 лет теста?
avatar
пробовал объяснять другим людям — не понимают (или не хотят понимать)

 

— ???

— Ой, ничего-то вы не понимаете, ну 92% просадка, зато доходность в итоге 22%!

 

А так удачи в начинаниях. Но переоценивать не стоит. Больше сейчас похоже на стандартные эмоциональные горки трейдера — после протфитов: я такой классный, чуть ли не гейний, после лоссов — я дерьмо, пора завязывать.

avatar
Replikant_mih, Извините, но я наверное не точно написал.   Максимальная просадка была 8%.   Я подправил текст сообщения, чтобы не было разночтения.
Можете посмотреть стейтменты,  я их прикрепил  в сообщении.

avatar
LevNNN, А, ну 22/8 — совсем другая история! Так держать!
avatar
1) а на истории какие цифры? какой шарп? макс просадка в пунктах? макс просадка и в процентах ?
2)а на счет команды, как себе представляете работу? проста придумать крутой алгоритм с хорошими цифрами, или что то другое?(это, пожалуйста, ответьте в лс)
avatar
Korssar64, Вы знаете,  не сочтите меня дилетантом, но я не считаю шарп. 
Я тестирую на истории и пытаюсь, чтобы алгоритм каждый год вышел в плюс.
Если он  не выходит в плюс, то я ищу, что не так в нем,  и как — то скорректировать  его. Максимальную просадку тоже не считаю.
Я руководствуюсь  простым принципом.  Поясню на примере. 
Например, у меня есть 10 000 долларов и например я играю на серебре с плечом 1 к 10. .  Я пытаюсь  рассчитать алгоритм так, чтобы мне хватило денег выстоять при самом неблагоприятном раскладе.
Т.е. просадка конечно допускается, и это нормально.  Ненормально, если денег не хватит.
Я написал, что у меня изначально было 50 000 USD  и вначале я просел до 46 000 USD/  Ничего страшного в этом не вижу. Главное, чтобы денег хватило выстоять просадку.

Вот например пример тестирования  робота на серебре:

Year: 2007 ProfSum: 4,44 LossC: 0,20 Market: 10,76 Volatility: 47,15
Year: 2008 ProfSum: 3,27 LossC: 0,19 Market: -23,54 Volatility: 155,24
Year: 2009 ProfSum: 4,41 LossC: 0,37 Market: 48,62 Volatility: 88,95
Year: 2010 ProfSum: 3,65 LossC: 0,22 Market: 82,41 Volatility: 111,43
Year: 2011 ProfSum: 2,03 LossC: 0,20 Market: -9,51 Volatility: 90,55
Year: 2012 ProfSum: 3,70 LossC: 0,12 Market: 8,47 Volatility: 43,96
Year: 2013 ProfSum: 2,88 LossC: 0,14 Market: -35,97 Volatility: 78,78
Year: 2014 ProfSum: 1,42 LossC: 0,06 Market: -19,29 Volatility: 56,69
Year: 2015 ProfSum: 4,78 LossC: 0,22 Market: -12,08 Volatility: 35,87
Year: 2016 ProfSum: 3,00 LossC: 0,11 Market: 15,74 Volatility: 54,59
Year: 2017 ProfSum: 0,77 LossC: 0,10 Market: 6,57 Volatility: 23,18
Year: 2018 ProfSum: 13,87 LossC: 0,25 Market: -8,78 Volatility: 27,74
Year: 2019 ProfSum: 2,58 LossC: 0,20 Market: 15,47 Volatility: 38,45
Year: 2020 ProfSum: 2,99 LossC: 0,18 Market: 50,21 Volatility: 157,00

ProfSum   - это прибыль в процентах без плеча.

LossC  — это потери на комиссию.

Market & Volatility -  это показатели  как менялся рынок (справочно)
avatar
Korssar64, По поводу команды отвечу здесь. Алгоритм писать не надо, он уже написан.  Но он имеет много настроек.  Например,  можно настроить, чтобы робот преимущественно покупал или наоборот продавал. 
Или и покупал и продавал.  Если Вы совершили неверную настройку и например рынок рос,  а Вы все продаете, то робот постарается вытянуть  Ваши неудачные действия   и Вы можете выйти в плюс, но лучше не торговать  против тренда.
Хотелось бы  создать команду трейдеров, небольшую — 3 — 5 человек. 
У них должна быть достаточная сумма, чтобы торговать  на бирже.
Предпочтительно  квалифицированных инвесторов.
Я бы всем бесплатно предоставил робота, обучил бы работе с ним. В обмен мы  бы  обменивались торговыми идеями и предостерегали друг друга от ошибок. Сейчас я  торгую один. Хотелось бы найти единомышленников.

Как то так… Что — то типа хедж фонда

avatar
LevNNN, 1) макс просадка как раз таки считается для того, что бы
хватило денег выстоять при самом неблагоприятном раскладе.
Просто когда у вас есть 10 000 и вы имели макс просадку в 40%, то вы спокойно входите на 6 000. Это позволяет грамотней распоряжаться капиталом
2)И хочу спросить вас среднегодовую доходность на истории, и тут такой момент, она считается из просадки(среднегодовая = итог пунктов / (лет) / (ГО+макс. просадка))
3) на чем написан робот? сколько переменных?
4) лучше торговать не одним роботом, а портфелем, как при инвестировании. Настоящий Грааль в том, что бы взять стратегии с разной корреляцией.
avatar
Korssar64, Я понимаю, но я как бы в своих «координатах» все считаю. Мне так удобнее. Понятно, что если Вы хотите сократить максимальную просадку, то тогда  и максимальная прибыль тоже сократиться.
Я рассматриваю просадку, как нормальное , но временное явления, которое должно со временем исчезнуть и перейти в прибыль. 
avatar
LevNNN, 1)работа в своих координатах это один вопрос, но тут я вчитался в ваш текст и понял, что робота надо настраивать. Но сила робота в том, что он лишён человеческих факторов. И если у вас нет четко формализованной стратегии по настройки робота, которую проверили на истории, то это не торговля, а лишь лудомания.
2) 
если Вы хотите сократить максимальную просадку, то тогда  и максимальная прибыль тоже сократиться
В этом и суть, что не всегда. А иногда и наоборот. 
3) все же меня заинтересовало не сколько сам робот, сколько идея обмена опытом. Добавьте меня.
avatar
Korssar64,  По первому вопросу — и да  и нет.  Можно поставить  роботу довольно общие параметры  и он будет зарабатывать. Ниже  в  ответах на комментарии я  привел доходности по серебру и EUR/AUD.  Это результаты без настройки.  Если робота настроить немного, то он даст еще лучшие результаты. В качестве настройки может быть например  просто выключение робота перед событиями, которые приведут  к непредсказуемым последствиям.


avatar
Можете выложить график теста за несколько лет картинкой? Для любой валютной пары.
avatar
robomakerr, К сожалению не могу.  Вернее могу, но на это придется потратить время.   И робота  и тесты все пишу сам. Я как то цифры больше люблю, чем графики!)
Быстро — только цифры.

Вот например, EUR/AUD

Year: 2007 ProfSum: 1,10 LossC: 0,17 Market: -0,22
Year: 2008 ProfSum: 4,71 LossC: 0,36 Market: 19,14
Year: 2009 ProfSum: 0,65 LossC: 0,10 Market: -19,89
Year: 2010 ProfSum: 0,77 LossC: 0,09 Market: -17,84
Year: 2011 ProfSum: 0,27 LossC: 0,25 Market: -3,21
Year: 2012 ProfSum: -0,30 LossC: 0,07 Market: 0,33
Year: 2013 ProfSum: 0,58 LossC: 0,27 Market: 21,39
Year: 2014 ProfSum: 0,79 LossC: 0,22 Market: -3,77
Year: 2015 ProfSum: 0,20 LossC: 0,09 Market: 0,59
Year: 2016 ProfSum: 2,15 LossC: 0,30 Market: -2,26
Year: 2017 ProfSum: 0,52 LossC: 0,15 Market: 5,51
Year: 2018 ProfSum: -0,59 LossC: 0,09 Market: 6,14
Year: 2019 ProfSum: 1,61 LossC: 0,18 Market: -1,84
Year: 2020 ProfSum: 0,80 LossC: 0,11 Market: -0,80

ProfSum   - это прибыль в процентах без плеча.

LossC  — это потери на комиссию.

Market  -  это показатель  как менялся рынок

avatar

теги блога LevNNN

....все тэги



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