Финансовая Лаборатория
1.16K subscribers
36 photos
11 videos
1 file
208 links
Личные финансы, инвестиции, трейдинг
Download Telegram
image_2023-01-28_21-28-02.png
94.5 KB
Как же я сразу не догадался! "Склейка" нужна не только для фьючерсов, но и для любого тикера. Берем его историю, сохраняем в файл. Затем делаем "склейку" из этого файла и последней истории из QUIK/Alor. Истории могут пересекаться.

Так мы и запросы к QUIK/Alor сократим, и гарантированно будем запускать ТС с одной и той же даты.
Отвечу здесь на вопрос склейки фьючерсов. С т.з. BackTrader можно склеивать любые данные. Более того, можно написать обработчик склейки. Если интересно, то об этом есть в документации здесь >>>

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

Как можно решить вопрос. Выкачивать текущий фьючерс, сохранять его в файл (пример 04 - Bars.py из AlorPy). Как только он закончится, то брать его уже из файла истории, и делать склейку со следующим фьючерсом.
Строили мы, строили, и, наконец, построили! (Чебурашка).

Только что написал последние строки кода коннектора Alor к BackTrader. Проведу тесты, и скоро выложу новый проект на GitHub. Как обычно, полный исходный код с примерами и комментариями.

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

Начну с того, что библиотека-обертка для Алора на Python доработана под последнюю спецификацию Alor OpenAPI и новый коннектор BackTraderAlor. Исходный код с подробными комментариями и примерами смотрите здесь >>>
В библиотеке-обертке для QUIK на Python пока немного изменений. При работе с потоками функция threading.currentThread() в будущих версиях Python использоваться не будет. Вместо нее нужно использовать threading.current_thread(). На текущий момент это не так критично. Просто не хочу, чтобы в один прекрасный момент при обновлении Python мы получили бы ошибку. Новая версия ждет вас здесь >>>

Забегу чуть вперед и скажу, что придумал как работать не только со всеми счетами, которые вам открыл брокер (покажу на примере Алора), но и со всеми брокерами, с которыми вы торгуете. Когда этим займусь, тогда QuikPy ждут большие изменения. В том числе появится конфигурационный файл по примеру AlorPy.
Изначально сценарий Rollover планировал для склейки фьючерсов в единую историю. Потом обнаружил, что после экспирации фьючерса, брокеры просто удаляют его историю из своих баз. Поэтому, особо не использовал функции склейки в BackTrader. Пока один из участников «Финансовой Лаборатории» не задал мне простой вопрос.

Суть вопроса сводилась к тому, что уже есть сформированная история в файле и базе данных. Почему бы из коннекторов к брокерам не брать только последние оперативные данные? Далее просто их объединять с историей. Действительно, склейка идеально ложится в этот сценарий.

Смотрите новые видео про склейку в Квике и Алоре здесь >>>
Опубликовал новую версию BackTraderQuik. Унифицировал код, сделал несколько оптимизаций, решил мелкие ошибки. Исходный код, описание и примеры ждут вас здесь >>>

Выкладываю долгожданный Провайдер для автоторговли в BackTrader из Alor Open API здесь >>> Пока гоняем его в тестовом режиме на демо, или минимальными лотами на реале, чтобы оперативно выявить и исправить возможные ошибки.

Над чем буду работать дальше:
1. Сделать обертку для поддержки множества брокеров
2. Сделать пример постановки заявок по разным портфелям
3. Когда получаем свободные средства/баланс, и еще не находимся в режиме Live, то не делать запросы на сервер. Все равно, не узнаем, сколько денег было год назад
4. Для Квика сделать пример постановки заявок по разным портфелям как в Алор
5. Для Квика выдавать баланс по тикерам (datas) как в Алор

Честно, сильно устал на этом проекте. Иду отдыхать. Под сегодняшними постами поставьте лайки, если они вам понравились и пришлись по душЕ.
В чате трейдеров ФинЛаба в последние 2 недели было не скучно. Идеи, тесты, разбор ошибок, доработки... На сегодняшний день все изменения сделаны.

Финальная версия доступа к Алору из Python >>>
Финальная версия коннектора Алора к BackTrader >>>

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

Берите и используйте! Открыт весь исходный код. К каждой строке комментарий на человеческом языке. Множество примеров.

Хочу поблагодарить 2-х Олегов и Надежду за проведение независимых тестов системы!
Так получилось, что у других брокеров тоже есть интерфейс взаимодействия как у Алора. Какого брокера делаем следующего для автоторговли через BackTrader?
Anonymous Poll
42%
Финам
60%
Тинькофф
Внимание! В последней версии 3.7.0 библиотеки matplotlib возникает ошибка при построении графиков. Пока решение такое. При установке matplotlib ставьте принудительно предыдущую версию 3.6.2:

pip install matplotlib==3.6.2
Закрываю Мечел. +26.4% с декабря. Неплохо...
Закрываю Сегежу. +18.39% с декабря
Для тех, кто еще не до конца разобрался как работает автоторговля, новый пост здесь >>>
Представляю вашему вниманию курс "Лаборатория Монте-Карло". В нем мы с вами с нуля создадим и реализуем алгоритм оценки сделок торговых систем.

Для чего это нам нужно? Чтобы оценить, насколько в торговой системе мы увлеклись подгонкой под историю цен.

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

Понятно, что для данных показателей одних сделок торговой системы нам будет недостаточно. Мы с вами вместе создадим альтернативные реальности торговых систем, которых, конечно, не было. Но которые позволят нам посмотреть на торговую систему как с воодушевляющим оптимизмом, так и с упадническим пессимизмом. Что из этого перевесит? Мы слишком увлеклись оптимизацией? Можно ли добавить дополнительное условие? Насколько надежна торговая система?

Ответы на все эти вопросы вы найдете в курсе "Лаборатория Монте-Карло". Первые 2 урока открыл вам здесь >>>

Я увидел, что вам больше нравится когда мы с вами начинаем с чистого листа, а затем, шаг за шагом, идем к цели. Поэтому, практически в каждом занятии мы будем обсуждать алгоритмы, и сразу их реализовывать в коде на Python. Будет даже небольшое исследование. В результате мы напишем полноценный анализатор с построением графиков для BackTrader. Кстати, советую пересмотреть видео по построению базового анализатора здесь >>> Очень пригодится при прохождении курса.
Что-то заработался в последнее время.. Что имеем на сегодняшний день:

1. Финам. Скоро выдадут новую версию API с подпиской. Тогда закончу клиента и интегрирую его с BT. Версию клиента "на посмотреть" выложил здесь: https://github.com/cia76/FinamPy

2. Тинькофф. Клиент у них уже есть, делать не нужно. Протестировал подписки. Пока не удовлетворен результатом. Отписался разработчикам.

3. Алор. Все работает, но хочу внедрить работу на множестве счетов. Например, на торговом счете и ИИС одновременно. Предупреждаю заранее, что будет обновление, которое не будет совместимо с текущей версией. Сейчас мы передаем 1 счет, а будем передавать 1 или несколько.

4. Мультиброкер. Как сделаю работу со множеством счетов на Алоре и Квике, то сделаю обертку, которая будет работать как брокер в BT, но на самом деле, в нее можно вложить все брокеры, которые пожелаете.
Сегодня с утра на сайте появилась возможность для тех, кто приобретал курсы, и входил через учетную запись, привязать учетную запись Telegram, и удобно входить в один клик. Я придумал как упростить процесс связывания учетных записей сервера и Telegram. Изменил инструкцию. Выложил ее здесь >>>

Вроде, все описал компактно, доходчиво и с картинками. Будем развивать интеграцию с Telegram дальше.
Обычно, при анонсе нового курса, я выкладываю его описание, чтобы все заинтересованные трейдеры имели возможность в него вписаться. В этот раз новый курс называется BackTrader: Мультиброкер. А вот анонса его не будет. Лучше сразу покажу через чат-бота, что вы получите в результате. Я же говорил, что будем развивать интеграцию с Telegram!

Для иллюстрации возможностей чат-бота я сделал мультиброкера по 4-м счетам 3-х брокеров.

Вот чат-бот Мультиброкер

Курс готов, приступаю к его записи. Скидки здесь тоже не будет. Получите ее у бота. Как выложу весь курс, купон на скидку отзову.
Кстати, как вам позиция в чат-боте Мультиброкера по Сбербанку? 😊
Выложил весь курс BackTrader: Мультиброкер. Начинаю выкладывать бесплатные компоненты FinamPy, BackTraderFinam, BackTraderTinkoff на GitHub. Скидку на курс подержу до их финальной публикации.

Далее планирую сделать просмотр активных заявок. Будут и операции. Постановка заявки, снятие заявки/всех заявок, закрытие позиции/всех позиций. Хочу также высылать уведомления в Telegram об изменении статуса заявок и позиций.
Много новостей по бесплатным библиотекам автоторговли. Выкладываю списком.

AlorPy - изменения для работы с мультиброкером

BackTraderAlor - работа с мультисчетами, мультипортфелями, мультиброкером

FinamPy - изменения для работы с BackTraderFinam

BackTraderFinam - Новинка! Ждем от Финама получение текущего времени их сервера и исторических/"живых" баров. После этого будет вам полноценная автоторговля с Финамом. Но уже сейчас можете изучать, разбирать, тестировать.

Работаю над последним обещанным компонентом. BackTraderTinkoff. Как его сделаю, то в курс BackTrader: Мультиброкер добавлю функции создания заявки, удаления заявки, удаления всех заявок, закрытия позиции, закрытия всех позиций. Также отзову у бота скидочный купон. Поэтому, не теряйте времени, заказывайте курс!

Если что, то бот живет здесь >>>

Был вопрос о том, зачем нужен мультиброкер, если вы торгете через одного любимого единственного и неповторимого брокера?

Отвечаю. Со временем много что меняется. У вас всегда будет возможность торговать через любого брокера. Сейчас это Алор, Финам, Тинькофф, а будет еще больше. Из мультиброкера всегда можно сделать одного брокера, если использовать только одну учетную запись 😊