Алготрейдинг на Python. Торговые роботы.
485 subscribers
32 photos
2 files
42 links
Канал блога алготрейдинг.рф
В 48 начал изучать Python с нуля. Здесь делюсь знаниями и рассказываю о том, что получается сделать.
админ: @Severland
чат "Алготрейдинг АлгоКоллектива" t.me/algotrading_ru
чат "Flet-GUI для Python программ" t.me/flet_GUI
Download Telegram
Я прошел курс “Pandas для Анализа данных” от Сергея Дубинина.
Написал детальный конспект курса в своем блоге https://xn--80agadetfnxfwx.xn--p1ai/python/pandas-konspekt-znaniy-dlya-algotreydera/

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

Я прошел все видеоуроки, но решать задачи (платная часть курса) с определенного момента бросил, набрав 185 баллов из 314 возможных. На конец мая 2024г количество обучаемых на этом курсе на Степике составило 655, на предпоследней теме “Тип данных Datetime” до последней задачи дошло и решило 5% от общего числа – 33 студента. А последнюю задачу последней темы “Дополнительные задачи” Верно решил только 1 учащийся. И я не думаю, что причина тут только в сложности задач, скорее всего в отсутствии достаточного интереса и стимула у обучаемых. Должно быть что-то более интересное и практическое.

При этом я ни в коей мере не ставлю под сомнение ценность поданной информации в видеоуроках – курс полезен. Созданный мной конспект выполнен опираясь именно на него.
#pandas
Что точно могу рекомендовать - книги. На мой взляд лучшие из свежих и на русском - 1)Pandas в действии. Борис Пасхавер. 2023 и 2)Python для сложных задач. Наука о данных. Джейк Вандер Плас. 2024

Переведу немного дух уделяя больше времени отдыху на свежем воздухе и начну практические эсперименты с Pandas на исторических данных. Плюсом начну тестить и использовать для анализа библиотеку TA-lib, для которой есть обертки для Pandas.
#книги #pandas
Несколько дней назад я получил и уже начал читать еще одну книгу "Механизм трейдинга. Как построить бизнес на бирже" Тимофея Мартынова (смартлаб).
Первые 70 страниц автор отрезвляет читателя, спускает фантазеров на землю и аргументированно, с данными статистики и различных исследований отговаривает вас заниматься трейдингом. И вообще дает новый взгляд на такие понятия как счастье, распоряжение временем жизни и о видах деятельности, на которое уходит это драгоценное время.
С первых же страниц понравился стиль изложения материала. Понимаешь, что автор - аналитик и профессиональный трейдер, а эта книга не ради книги, а ради ее содержания.
Автор признает, что 6 лет торговал в убыток и призывает: "Не повторяйте моих ошибок!"
Сейчас я закончил читать 5ю главу (1/3 книги) и очевидно, что самые главные причины неудач в трейдинге решает алготрейдинг. Это вдохновляет!
Алготрейдеры упоминаются в книге более 50 раз. Читаю с удовольствием, книгу рекомендую!
#книги
Всем привет! Это промежуточный пост.
Тот кто следит за моим каналом в ТГ или моим блогом наверняка помнят, что зимой после изучения самых основ Python я написал первую программу "Тахометр трейдера". Позже я выявил в ней ошибку возможного дублирования строк после обновления данных. Самое интересное, что данные с мосбиржи приходят в виде Dataframe и сейчас мне уже проще с ними оперировать в Pandas. Поэтому запланирую я правку программы в относительно скором времени.
Второе - проводил эксперименты с переносом данных в БД SQLlite и хотел даже Postgress начинать смотреть. Отсекаю это - время не бесконечно. Кроме этого для торгового робота и бэктестинга главное скорость и по возможности простота. Работать с файлами намного проще и точно не медленней, чем с БД.
Для обработки данных - ориентир на Pandas. Уже небольшую аналитику пробовал делать. На эту тему сделаю серию постов вскоре, хотя лето сильно снизило мой темп))
Читаю Мартынова с удовольствием. И спасибо двум читателям, которые в личке написали ранее свое мнение и советы.
"Не отпускает" вчерашнее прочтение очередной главы книги Мартынова. Вот некоторые цитаты:
- Теханализ в общепринятом смысле – увлечение для домохозяек и надежда для лудоманов. Эдвард Торп, математик и человек, который сделал на бирже миллиарды долларов прочитав книгу о техническом анализе понял, что это пустая трата времени.
- Опытный портфельный управляющий А.Варюшкин не уставал повторять: «Теханализ – это танцы с бубном у костра. Я не знаю ни одного человека, который бы разбогател, используя технический анализ».
- Из множества моих знакомых успешных стабильных трейдеров нет никого, кто делал бы деньги, торгуя по канонам классического технического анализа. Те, кто зарабатывает технически, глядя на график, используют результаты собственных наблюдений за рынком, торгуя свои идеи.
- Если вы начнете свой пусть с авторитетного учебника по техническому анализу Джека Швагера, толщиною в 1000 страниц, то что происходит с вашим Механизмом? Во-первых, вы изначально начинаете «копать» не с того конца, даже не задумываясь о реальной цели трейдинга. Во-вторых, из 1000 страниц вы получаете 800 страниц ложной информации.
- Большинство успешных трейдеров, которых я знаю, нигде ни у кого не учились и не посещали соответствующих семинаров.

и так далее. Также по всей книге я прослеживаю выводы, что преимущество в трейдинге именно у алготрейдеров.

P.S. Пробовал сегодня найти книгу "Биржевая торговля. Игра по собственным правилам" (Кургузкин) и безуспешно. Ни в продаже, ни в электронном варианте. Если кто-то сможет поделиться - буду очень благодарен!
#книги
Мартынов при этом отмечает "Однако стоит понимать, что в техническом анализе есть и такие инструменты, которые в определенных условиях могут оказаться полезными."
Какой период бэктестинга для задач алготрейдинга Вы считаете лучшим?
Anonymous Poll
15%
менее 60 дней
12%
2 мес
6%
2 мес - 6 мес
18%
6 мес - 1 год
49%
более года
fourPriceDoji доджи 4х цен
Cвeчa Doji — oднa из paзвopoтныx мoдeлeй cвeчнoгo aнaлизa, кoтopую иногда мoжнo нaблюдaть нa гpaфикax. Ocoбeннocть этoй cвeчи в тoм, чтo у нee coвceм мaлeнькoe тeлo и бoльшaя тeнь. Taкaя фopмa oзнaчaeт, чтo цeнa oткpытия и цeнa зaкpытия cвeчи pacпoлoжeны пoчти нa oднoм и тoм жe уpoвнe.  Япoнcкaя cвeчa Дoджи фopмиpуeтcя, кoгдa нa pынкe нeт кpупныx игpoкoв, a caм pынoк нaxoдитcя в paвнoвecии. Однако в получаемых с Мосбиржи данных мы видим целое "море" свечей Доджи, в которых все значения Open-High-Low-Close одинаковые. Эти свечи приходят тогда, когда биржа не работает и за пределами торговой сессии. На скриншоте свежий пример по одной из акций.

Такие данные, с одной стороны, ничего хорошего для исследований или в расчетах торгового робота дать не могут. Тот же Чечет считает, что их надо удалять.
удалить fourPriceDoji в Pandas действительно просто, но есть 2 момента:
1)Они могут теоретически появиться в торговое время на малом таймфрейме и на неликвидных инструментах - хотя нам такие инструменты в основном не интересны и
2)если из минуток в Pandas делать другие таймфреймы (ресемплинг), то в результате получаем данные с объемами, которые разнятся с данными мосбиржи. Т.е. тот же часовой, дневной график не будет содержать объема удаленных fourPriceDoji свечей.
А вы игнорируете присутствие fourPriceDoji или удаляете их в данных для анализа?
Anonymous Poll
72%
Оставляю
28%
Удаляю
Итак, с первыми исследованиями рынка на пандас я понял, что идей для стратегий может быть "море"! Что делать с предположениями и принимать их или нет? Нужны элементарные подтверждения и мне нужен тестер. Из беседы с моим подписчиком я понял, что он работает с Tslab. Спасибо Алексею за первые наводки - кого смотреть для изучения платформы. Вообщем решил я освоить TSlab для тестирования своих предположений. Подозреваю, что для реализации всех идей нужен будет дополнительно к кубикам "код", но изучать еще и С# я не готов:)
Сейчас для стимула мне нужны любые положительные результаты. В перспективе аналог улучшенной и проверенной в Tslab стратегии всегда можно будет реализовать на Python.
Первое знакомство с Tslab очень комфортно для понимания + отл русская документация. Благодаря Pandas подготовка исторических данных для Tslab оказалась задачей элементарной.
Алготрейдинг позволяет трейдеру полностью закрыть проблему психологических причин получения убытков. Для начинающих трейдеров это основная причина прекращения "игры" на бирже.
Несоблюдение собственной торговой стратегии в силу эмоций, возникающей уверенности в тренде или надежды на разворот рынка, а хуже всего случайные клики на кнопки купить/продать превращают игру на бирже в системный убыток. Алготрейдинг может кардинально изменить ситуацию и превратить эту игру в прогнозируемый бизнес.
мой-грааль.jpg
77.9 KB
В алготрейдинге самая важная часть - поиск идей и закономерностей с последующей их проверкой на истории. Объективно говоря это и должно стать основной работой алготрейдера.

Для поиска закономерностей я вижу использование:
1) pandas и 2) визуальное изучение графиков на том же tradingview. Возникла мысль, что было бы просто супер выводить на график определенные места(сигналы), вычислемые в pandas, например с помощью библиотеки обертки lightweight-charts-python.readthedocs.io

Для тестирования идей сейчас думаю пробовать использовать Tslab (пост выше) - мне кажется это самое простое решение для первых тестов. Это задача на ближайший месяц. Далее планирую перейти к библиотекам на python, в частности вернусь к продолжению изучения backtrader с созданием торгового робота. К концу лета - край, но надо будет запустить первого робота.

Мне интересно узнать, как Вы ищите закономерности для своей торговой стратегии, как анализируете данные. Если кто-то готов поделиться своим реальным опытом - буду благодарен.
Хочу поделиться со своими читателями с ссылкой, которой со мной поделился сын 15 лет, на отличную подборку на различные ресурсы, библиотеки на Python и др.программное обеспечение, а также книги и статьи для поиска и разработки стратегий системного трейдинга. После первого изучения содержания отметил для себя QSTrader, zipline и vnpy (очень жаль, что последний на китайском). https://github.com/paperswithbacktest/awesome-systematic-trading
Please open Telegram to view this post
VIEW IN TELEGRAM
По книгам: Фундаментальный теханализ Швагера после прочтения более 50% на паузе, вернусь позже к нему. Книгу Мартынова "Механизм трейдера" прочитал - очень вдохновляет, отличная книга несмотря на вступление из серии не тратьте время на трейдинг. Рекомендую. Сейчас читаю книгу Кургузкина - "Биржевой трейдинг.Игра по собственным правилам". ОЧЕНЬ нравится! рекомендую.
#книги
Ну и приступил я к изучению backtrader - наконец - то!!!
Все интересно, но с самого начала появляются некоторые вопросы.

- Бесплатный видеокурс Чечета, созданный на основе страницы документации "Quickstart" ответов не дает, как и фундаментальных знаний для работы с платформой, он хорош только как ознакомительный с платформой backtrader.
- Форум на официальном сайте backtrader.com, на который многие ссылаются, к сожалению закрыт, так как "Им злоупотребляли. В будущем он может вернуться."
- 118 вопросов про backtrader есть на https://stackoverflow.com/questions/tagged/backtrader , но из них с ответами только 64 - не густо.

И собственно говоря на этом все..

Поэтому решил создать специализированный Русскоязычный чат по техническим вопросам платформы Backtrader - https://t.me/backtrader_chat
Вступайте! Буду рад, если знающие платформу алготрейдеры по мере возможности будут помогать новичкам разобраться с ней.
#backtrader
Испанские корни автора Daniel Rodriguez (а может и авторов) backtrader 100% повлияли на стиль написания документации, что осложняет его машинный перевод и мое понимание. Про творческий подход автора вообще молчу, тут сплошь эпические сравнения, из серии init (зачатие), start (рождение) и т.д. Про видео с быстрыми стартами я знаю, но я потихоньку своим методом дорожку протопчу и все задокументирую на своем понятном русском. Это стратегическая задача, поэтому уделю достойное внимание.
#Backtrader
Всем привет! Долго меня не было, каюсь - исчез из эфира. Уже несколько обращений получил из серии "неужели все, проект закрылся?", "закончили изучать алготрейдинг?", "все плохо или наоборот все получилось и ушли в тишину?".

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

Свершилось некое просветление в голове... https://telegra.ph/Promezhutochnye-itogi-i-vyvody-09-29
Паттерны не работают
Всем привет! Продолжаю настраивать для себя lightweight-charts, по сути сильно урезанный Tradingview получается, но с одним важным плюсом - на него можно вытащить любой свой анализ.
Руки дошли до первого знакомства с библиотекой Ta-lib. Что однозначно - работает молниеносно. Любую аналитику не надо даже пытаться сохранить для дальнейших операций, т.к. рассчитывается она после запуска скрипта за доли секунды.

Короче пост посвящен паттернам, типа тех, что из фундаментального труда Швагера "Тех.анализ".

В Ta-lib есть Pattern Recognition Functions - это функции, которые распознают различные ценовые паттерны на графике исторических данных и вроде бы могли использоваться для принятия торговых решений.
Каждая функция возвращает число:
Положительное значение (100) указывает на бычий паттерн, отрицательное - на медвежий паттерн.
Ноль означает, что паттерн не был найден.
Всего можно отыскать аж 61 паттерн, список в конце статьи.
https://telegra.ph/Patterny-ne-rabotayut-10-04

#Talib #паттерны