Финансовая Лаборатория
1.13K subscribers
36 photos
6 videos
1 file
201 links
Личные финансы, инвестиции, трейдинг
Download Telegram
Чем хороша библиотека AlorPy? Тем, что она напрямую, без торговых терминалов, работает с сервером брокера "Алор". Еще лучше, что в этой библиотеке появились новые функции:

- Оценка рисков
- Оценка заявок
- Подписка на все сделки
- Документирование всех параметров функций

Библиотека полностью бесплатна и открыта на уровне исходных кодов. Комментарии в каждой строке. Используйте себе во благо! И меня лайком побалуйте.

UPD: Также появилась подписка на изменение информации о финансовом инструменте.

Документирование кода сделал по Sphinx markup
Отдам в хорошие руки 🙂

UPD: Уже отдал
Приглашаю всех 27.12.2022 в 20:00 МСК присоединиться к новогоднему стриму прямо здесь, в Telegram!

О чем поговорим:

- Пока ждем опоздавших, расскажу, как пытаюсь возобновить славные традиции Русской Инженерной Школы с детьми
- Подумаем, что нас может ждать за пределами денег?
- Расскажу как поторговал, и что наторговал (как же без этого 😊)
- Погоняем готовые алгоритмы на предмет, что покупать в долгосрок?
- Анонсирую Новогоднюю распродажу и изменения в работе ФинЛаба в 2023 году
- Посмотрим долгожданный анонс (чего, не скажу, пусть будет приятным сюрпризом)
- Подумаем над объединением исследований и автоторговли
- Отвечу на все вопросы, которые можете задавать в комментариях к этому посту

С Наступающим Новым, 2023 годом!
Live stream scheduled for
Live stream finished (2 hours)
Выложил запись трансляции Новогодней вечеринки здесь >>> Для удобства просмотра разбил видео по темам.

С Наступающим! 🎅🎄🍾 Желаю, чтобы нам всем классно торговалось в Новом, 2023 году!
Так получилось, что из ответов на вопросы при обработке видео пропал звук. Я решил еще раз записать ответы на все вопросы. Если не успели задать вопрос на встрече, то задавайте в комментариях к этому посту. Если успеете до записи, то и на них отвечу.
Записал 3 части ответов на вопросы. Ответил более подробно и развернуто. Сейчас начну обрабатывать и публиковать. Поддержите лайком, а то еще не отошел от праздников 😊
Всех трейдеров благодарю за интересные вопросы! Молодцы! Про что поговорим:

Часть 1. Про переход на автоторговлю с Alor API. Платные консультации. Нейросети. Коннектор к Interactive Brokers. Как с нуля «прокачаться» в автоторговле. Что нужно поставить на компьютер для автоторговли.

Часть 2. Курсы для начинающих. Курсы по Системе Ларри Коннорса. Переход на ручную торговлю на обвале рынка и возврат к автоторговле. Что такое «Финансовая Лаборатория»? Зачем использовать PyCharm совместно с Visual Studio Code. Есть ли практический смысл в Системе Джона Элерса.

Часть 3. Синтетическая генерация объемов торгов. Как избежать переоптимизации. Курс по подгонке. Как решать проблемы с коннектором. Переход к формату хранения данных pandas.

Все 3 части ответов на вопросы опубликовал в посте с Новогодней вечеринкой здесь >>>
Очень скоро будем работать со стандартными отклонениями в BackTrader. Поэтому, выделил код расчета кол-ва стандартных отклонений в отдельный индикатор. Формулу решил расписать построчно, чтобы всем было понятно, что откуда берется. Раз уж "топлю" за функциональное программирование, то сделал код красиво через numpy.

Обновленный код приложил к курсу "Адаптивная скользящая средняя DSMA и адаптивные осцилляторы", которой с начала этого года можно приобрести здесь >>>
Над этим курсом я работал почти 15 лет. В 2008 году я решил перевести всю свою биржевую торговлю в русло алго и автотрейдинга. Тогда же начал делиться своими идеями в ЖЖ. Один из первых комментариев был такой: Было бы классно, если все индикаторы привести к единому виду. Тогда их можно интерпретировать по единым нехитрым правилам движения. Что приводит к унификации не только торговых техник, но и самих торговых систем.

Как это сделать? Скользящие средние строятся на графике цен. Осцилляторы RSI и Stochastic нормированы в своих шкалах от 0 до 100. Моментумы и ATR, вообще, не имеют ограничений. Как все это многообразие унифицировать? Как правильно выбрать шкалу? Мне никогда не нравились "залипания" осцилляторов. Нужно ли ставить ограничения? Что, если индикатор переходит это ограничение?

Чтобы решить задачу, нужно выйти за пределы задачи. В данном случае выйти за пределы классического Технического Анализа. Когда я смоделировал рынок как розовый шум, то сразу понял, в какую сторону нужно идти. Путь был долог и труден. Я его прошел, и хочу с вами поделиться полученными знаниями, практиками и опытом в курсе "Система Игоря Чечета: Унификация индикаторов".

Курс самодостаточен. В нем я выдам вам всю необходимую теорию. Разберем все типы классических индикаторов. Будет много практики. Мы напишем код унифицированного индикатора "с нуля". Продвигаться будем шаг за шагом. Конечно, все шаги подробно разберем. В итоге, получим код унифицированного индикатора, в котором будут и моментумы, и осцилляторы, и тренды.

На основе показанных в курсе примеров вы сможете "разложить" не только любой классический индикатор, но и любой авторский индикатор от Ларри Коннорса, Джона Элерса, Игоря Чечета и др. трейдеров.

Первые 5 занятий курса ждут вас здесь >>>
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-х Олегов и Надежду за проведение независимых тестов системы!