VF Code: Торговые роботы | Алготрейдинг | ML
2.14K subscribers
101 photos
28 videos
66 links
Обсуждаем:
▪️ Торговые боты и автоматизацию
▪️ Бэктестинг и анализ стратегий
▪️ Применение ИИ и машинного обучения в торговле
▪️ Работа с API бирж и терминалами брокеров
▪️ Индикаторы, риск-менеджмент, оптимизацию
Все рынки. Все методы. Все технологии
Download Telegram
🌐 ВЕБ-ТРЕНАЖЁРЫ

Practice Python 40+ упражнений по базовому синтаксису, структурам данных, f-строкам и обработке ошибок. 🔗 practicepython.org
PyExercises 1000+ упражнений, браузерный редактор кода с мгновенной обратной связью. 🔗 pyexercises.com
PYnative Упражнения, квизы и туториалы по основам Python, ООП, работе с файлами, JSON, базами данных и pandas. 🔗 pynative.com
HackinScience Упражнения с маркировкой уровня сложности — удобно для постепенного продвижения. 🔗 hackinscience.org
Python Principles Простой интерфейс с бесплатным доступом к pro-функциям. 🔗 pythonprinciples.com

Exercism 17 концептуальных модулей и 140 упражнений по Python: основы, ООП, работа с файлами, базы данных. Бесплатный менторинг! 🔗 exercism.org/tracks/python
Codewars Игровые задачи (kata) разного уровня сложности. Идеально для среднего и продвинутого уровня. 🔗 codewars.com
CheckiO Игровые Python-задачи с интерактивным обучением — учиться можно играючи! 🔗 checkio.org
LeetCode Подготовка к собеседованиям в IT-компании. Обширная база задач на Python. 🔗 leetcode.com
17
☁️ ОБЛАЧНЫЕ JUPYTER-СРЕДЫ

Google Colab Классика: бесплатные GPU/TPU, интеграция с Google Drive, предустановленные библиотеки для ML/DS. 🔗 colab.research.google.com
Kaggle Notebooks Более стабильное время выполнения, доступ к огромной базе датасетов, бесплатные GPU и меньше отключений, чем в Colab. 🔗 kaggle.com/code
CoCalc (Collaborative Calculation) 100% онлайн Jupyter в браузере, синхронизация в реальном времени, совместная работа без установки. 🔗 cocalc.com
Paperspace Gradient Jupyter Notebooks с GPU/IPU, запуск из браузера за секунды, лёгкая коллаборация. 🔗 paperspace.com
DataCamp Workspace Облачная среда для data science с Jupyter-подобными notebooks, поддержка Python и R, интеграция с базами данных, создание дашбордов. 🔗 datacamp.com/workspace
Deepnote Современная альтернатива Colab с улучшенной коллаборацией и интеграцией с базами данных. 🔗 deepnote.com

📓 Альтернативные notebook-платформы
marimo Современный реактивный Python notebook нового поколения! Git-friendly (хранится как .py файлы), можно запускать как скрипты и веб-приложения. 🔗 marimo.io
JupyterLab Классическая веб-IDE для Jupyter. Можно развернуть на своём сервере или использовать через облачные сервисы. 🔗 jupyter.org
Apache Zeppelin Веб-notebook с поддержкой Python, Scala, SQL. Интеграция с Apache Spark и big data инструментами. 🔗 zeppelin.apache.org
Replit Браузерная IDE с мгновенным окружением, поддержка множества языков включая Python, быстрый деплой проектов. 🔗 replit.com
Observable Веб-платформа для интерактивных notebook (больше для JavaScript, но поддерживает и Python). 🔗 observablehq.com
17🔥6
This media is not supported in your browser
VIEW IN TELEGRAM
Всем, кто записался на 11-й поток поддержки, доступы были отправлены вчера (в среду). Если по какой-то причине вы ничего не получили, пожалуйста:



👉 проверьте почту,
👉 проверьте бота @vesperfincode_bot,
👉 если и там ничего нет — напишите на info@vesperfin.com, и мы поможем.

Завтра уже первый эфир в 19:00: https://t.me/vesperfincode/611

📅 «Месяц торговли простым индикаторным ботом»
30.01 → 17.02.2026

Ссылка на эфир появится в боте @vesperfincode_bot.
8
🧠 Можно ли использовать индекс страха и жадности в стратегии?


На одном из потоков VesperfinCode ученица спросила:

«А можно в стратегиях использовать индекс страха по криптовалюте через CoinMarketCap? Ну чтобы это было не “на глаз”, а в коде».


Чтобы ответить не теорией — мы собрали готовый скрипт на Python, который:
– тянет данные с CoinMarketCap API,
– считает несколько рыночных индикаторов,
– по желанию шлёт алерты в Telegram,
– и даёт сводку по рынку, которую уже можно встраивать в стратегию.


Код ниже, а вот что он делает 👇
7
ЧТО ДЕЛАЕТ КОД

Индекс страха и жадности (Fear & Greed)
Функция check_fear_greed_index():
– обращается к CoinMarketCap для индекса страха и жадности,
– получает значение индекса (от 0 до 100) и текстовую классификацию,
– выводит, например:
«Индекс страха и жадности: 18 (Extreme Fear)».
Внутри заложены алерты:
– если значение ≤ 20 — «ЭКСТРЕМАЛЬНЫЙ СТРАХ»,
– если значение ≥ 80 — «ЭКСТРЕМАЛЬНАЯ ЖАДНОСТЬ».

Эти события можно не только печатать в консоль, но и отправлять в Telegram (в коде уже есть вызовы send_telegram, их достаточно раскомментировать).

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

Доминация BTC
Функция check_btc_dominance():
– забирает метрики (global metrics) с CoinMarketCap,
– выводит:
• доминацию BTC (%),
• доминацию ETH (%),
• общую капитализацию рынка,
• объём торгов за 24 часа.

Пример:
«Доминация BTC: 52.34%
Доминация ETH: 17.89%
Общая капитализация: $2.35T
Объём 24ч: $86.12B».

Дополнительно вшит алерт, если доминация BTC падает ниже 50% — сигнал, что рынок начинает сильнее смещаться в сторону альтов.

Как использовать:
можно менять набор стратегий в зависимости от того, идёт ли рынок под BTC или начинается фаза, когда лучше смотреть на альты.

Индекс “сезона альткоинов”
Функция check_altcoin_season_index():
– берет список топ-100 монет по капитализации,
– находит доходность BTC за 90 дней,
– считает, сколько альткоинов обогнали BTC по доходности за те же 90 дней (стейблкоины игнорируются),
– рассчитывает процент:

«X из Y альтов обогнали BTC за 90 дней → индекс Z%».
Если индекс ≥ 75%, скрипт считает, что наступает «сезон альткоинов» и формирует соответствующий алерт.

Как использовать:
это готовый режимный индикатор — одни стратегии можно включать в “альтсезон”, другие — когда он не активен.

Топ растущих и падающих монет
Функция check_top_movers():
– берет топ-100 монет по капитализации,
– убирает стейблкоины,
– считает изменение цены:
• за последние 24 часа,
• за последние 7 дней.
– выводит ТОП-5 растущих и ТОП-5 падающих за 24 часа,
– и отдельный ТОП-5 за неделю.

Это быстрый индикатор того:
– какие монеты сейчас перегреты,
– что сильно просело,
– где вообще происходит существенное движение.

Категории и сектора (DeFi, AI, Gaming и др.)
Функция check_categories():
– запрашивает список категорий/секторов на CoinMarketCap (DeFi, AI, GameFi, Layer-2 и т.п.),
– считает среднее изменение цены по каждой категории,
– выводит ТОП-5 растущих и ТОП-5 падающих с указанием капитализации и числа токенов в секторе.

Это даёт понимание, какие сегменты рынка “на ходу”, а какие сейчас под давлением.

Конвертер цен
Функция convert_price(amount, from_symbol, to_symbol="USD"):
– простая обёртка над price-conversion API,
– позволяет быстро узнать, сколько стоит N единиц монеты в нужной валюте (по умолчанию в USD).
Например:
1 BTC → USD, 0.5 ETH → USDT и т.д.

Чтобы скрипт заработал у вас:

– в переменную CMC_API_KEY нужно подставить свой ключ API CoinMarketCap (выпускаем на сайте https://coinmarketcap.com/api/pricing/ - Free),
– в send_telegram() — токен Telegram-бота и id своего канала/чата,
– при желании раскомментировать строчки send_telegram(...) там, где нужны алерты.

Дальше каждую функцию уже можно подключать к своим стратегиям: использовать индексы и метрики как фильтры режима рынка, как условия включения/выключения стратегий или как источник ежедневной сводки по крипторынку.
🔥20👍4❤‍🔥31
This media is not supported in your browser
VIEW IN TELEGRAM
Вчера на эфире VF Code: Поддержка обсуждали важную вещь: почему один бэктест на всей длине истории данных не делает стратегию надёжной.


Почему так?

Рынок:
– меняет режимы (тренд → флэт);
– ломает ваши идеальные параметры;
– наказывает за подгонку под прошлые данные.

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

WALK-FORWARD / TIME-BASED CV
Идея простая:
не смотреть на рынок как на один отрезок, а разбить данные на последовательные куски и проверять стратегию по шагам.

Берём первый отрезок истории
– придумываем идею,
– подбираем параметры,
– проверяем, что стратегия вообще имеет смысл.
Это наш train.
Берём следующий отрезок вперёд по времени
– торгуем с уже найденными параметрами,
– по результатам этого куска ничего не дорабатываем.
Это наш test.
Дальше сдвигаем окно вперёд и повторяем:
– новый train-отрезок,
– новые параметры,
– новый test-кусок.
👍186🔥1
🔥 Открытый эфир VesperfinCode: Вопросы–Ответы + разбор IDE, в которых можно писать или открыть код, который мы публикуем в этой группе — 3 февраля, 19:00 (мск). Не пропустите!
Что это за эфиры Вопросы и Ответы?
На курсе VesperfinCode у нас есть специальные эфиры — разборы вопросов и ответов.

Мы собираем вопросы заранее не просто чтобы “ответить словами”, а чтобы подготовить нормальный разбор: показать код, примеры, подсказать подход и правильную логику.

Какие вопросы обычно разбираем?
Алготрейдинг и торговые роботы
— логика стратегий, вход/выход, риск-менеджмент, архитектура бота, подключение к биржам/QUIK, стабильность, ошибки и отладка.
Материалы курса
— если что-то не поняли, запутались в теме, не сходится результат, “почему код не работает”, “почему в бэктесте одно, а на реале другое”.
Машинное обучение, данные, стратегии
— подготовка данных, признаки, валидация, переобучение, правильные тесты, идеи стратегий на данных.
Python в целом и применение вне трейдинга
— медицина, проектная деятельность, нефтехимия, автоматизация, отчёты, аналитика, пайплайны данных — и любые кейсы, где Python помогает.
И вообще всё, что вас интересует
— если вопрос вам важен и он про развитие, код, аналитику, процессы.

Если вы проходили материал у нас в курсе или видели разборы в канале, но остались вопросы — обязательно отправляйте.

Зачем нужна форма и почему важно её заполнить
Мы используем форму, чтобы:
👉 собрать вопросы структурно, без хаоса в чате
👉 заранее понять, какие темы “провисают”
👉 подготовить доп. материалы или поставить тему в план эфира
👉 сделать эфир максимально полезным, а не “болталкой”

Очень просим не пропускать заполнение формы и писать даже “простые” вопросы — часто именно они мешают двигаться дальше.

___
📌 Запись эфира будет выложена и будет доступна для повторного просмотра.
🔥17
Media is too big
VIEW IN TELEGRAM
Запись эфира "Первый торговый робот — от установки Python до стратегии. Вопросы и ответы - 4.02.26"


2:02 – Про ошибку No module
9:07 – Про запуск роботов у всех брокеров
16:40 – Установка Anaconda для запуска кода
18:13 – Замена тикера в коде
20:32 – Установка библиотеки для скачивания данных из TradingView
22:50 – Простой пример тестирования стратегии
29:35 – Про ARIMA и ML для трейдинга
38:48 – Есть ли готовые прибыльные боты, можно ли их купить и как с ними работать
1:10:00 – Про использование LLM Perplexity
1:11:10 – Про курс
1:12:06 – Про характеристики компьютера для торговых роботов
1:14:49 – Про машинное обучение в трейдинге
1:22:00 – Про торговых роботов
12👍3
🧠 Как запустить код из эфира? (пошагово)



Вчера на эфире мы разобрали:
— как поставить Anaconda (таймкод 16:40)
— как запустить простой пример тестирования стратегии (таймкод 22:50)
Ссылка на эфир: https://t.me/vesperfincode/656

К этому разбору добавили уроки по установке Anaconda из нашего курса.

Если вы хотите:
попробовать код из нашего сообщества
подготовиться к курсу
или просто познакомиться с Python
— держите простой план действий 👇

1) Устанавливаем Anaconda
Anaconda — это набор инструментов для Python со встроенным JupyterLab.
Windows:
https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Windows-x86_64.exe
macOS (M1–M5):
https://repo.anaconda.com/archive/Anaconda3-2024.06-1-MacOSX-arm64.pkg
Скачиваем установщик → запускаем → ставим по стандартным шагам (как на видео ниже).

2) Скачиваем наш код
Открываем новую вкладку и переходим по ссылке с эфира:
https://disk.yandex.ru/d/HX75HPfsaLQssA
Скачиваем файл Demo.ipynb.
Обычно он попадает в папку Загрузки / Downloads или Desktop / Рабочий стол.

3) Открываем JupyterLab через Anaconda
Запускаем Anaconda Navigator
В списке программ выбираем JupyterLab → нажимаем Launch
Откроется браузер с JupyterLab. Слева будет файловый менеджер (User, Downloads, Desktop и т.д.)
Дальше:
— заходим в папку, куда скачиваются файлы (Downloads или Desktop)
— находим Demo.ipynb
— кликаем по нему → откроется ноутбук с инструкцией по тестированию стратегии

4) Устанавливаем библиотеки через Anaconda PowerShell Prompt (Windows)
Внутри ноутбука есть текстовые инструкции с командами для установки библиотек.
Делаем так:
Открываем Пуск → в поиске пишем: Anaconda PowerShell Prompt
Запускаем — откроется терминал
Смотрим, как это делается в видео: https://t.me/vesperfincode/656
(примерно 20:58 — показано, что копировать и как вставлять)
В терминале:
Ctrl+C — копируем команду из видео или ноутбука
Ctrl+V — вставляем в терминал
Enter — запускаем установку

Дополнительно ставим библиотеку, которую не успели озвучить на эфире:
pip install vectorbt
Ждём, пока всё установится.

5) Запускаем код в ноутбуке
Возвращаемся в JupyterLab, где открыт Demo.ipynb.
Дальше:
👉 выбираем первую ячейку
👉 жмём Shift+Enter на клавиатуре (или кнопку Run)
👉 ждём выполнение
переходим к следующей ячейке → снова Shift+Enter

⚠️ Важно: код выполняется строго сверху вниз. Если пропустить первую ячейку и запустить вторую — будет ошибка.

Когда все ячейки выполнятся, вы получите тот же результат, что и на эфире: графики доходности, расчёты и результаты теста стратегии.
👍10🔥7
Где ещё можно запустить .ipynb, кроме Anaconda?

Мы не староверы и не привязаны только к одному инструменту 🙂

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

Облако
Google Colab
Онлайн-среда от Google, где можно запускать ноутбуки прямо в браузере, без установки Python на компьютер.

Мы отдельно разбирали Colab тут:
https://t.me/vesperfincode/569

Облачные Jupyter-среды
Есть и другие варианты облачных Jupyter-серверов (аналог Colab, но с разными ограничениями и тарифами).
Обзор мы собирали здесь:
https://t.me/vesperfincode/629

Локальные Jupyter-интерфейсы
Jupyter Notebook (классический интерфейс)
Более старый, но до сих пор популярный вариант. Тоже ставится вместе с Anaconda. Если вам ближе классический формат “страницы с ячейками”, можно использовать его.


Универсальные IDE и редакторы
Это среды, где можно писать обычный код и (с плагинами) запускать ноутбуки.

VS Code
По сути стандарт индустрии. Ставите VS Code, добавляете расширение “Python” и “Jupyter” – после этого можно открывать и .py, и .ipynb в одном месте.

PyCharm (Professional / Community)
IDE именно под Python. В версии Professional есть нормальная поддержка ноутбуков, дебаггера, виртуальных окружений и больших проектов.

IntelliJ IDEA
Если вы уже Java-разработчик и привыкли к IDEA, можно добавить плагин Python и использовать её для анализа/редактирования кода и ноутбуков.

Zed
Новый очень быстрый редактор (на Rust), уже с поддержкой Jupyter-файлов. Подходит тем, кто хочет “лёгкий” и быстрый инструмент вместо тяжёлой IDE.

AI-редакторы и форки VS Code / PyCharm
Это инструменты со встроенным ИИ-помощником, которые умеют работать с кодом и часто основаны на VS Code или собственных движках.

Cursor
Редактор, похожий на VS Code, но с глубокой интеграцией ИИ: можно просить переписать, объяснить или дополнить код прямо в редакторе.

Windsurf (от Codeium)
Ещё один “умный” редактор, который помогает дописывать код и объяснять ошибки. Подходит, если хотите больше авто-подсказок при разработке.

Trae (от ByteDance)
Редактор с фокусом на ИИ-поддержку и автодополнение кода, особенно если вы привыкли к “умным” ассистентам.

Antigravity (Google)
Экспериментальный редактор/инструмент с ИИ-поддержкой от Google (для тех, кто любит всё новое и не боится тестировать).

PearAI
Open-source альтернатива Cursor. Идея та же: редактор + ИИ, но с открытым кодом и возможностью настроить под себя.

Void
Форк VS Code с упором на приватность (privacy-focused). Для тех, кому важно минимум телеметрии и контроль над данными.

GigaCode (решение от Сбера)
Российское решение: IDE/плагин с ИИ-подсказками, хорошей поддержкой русского языка и сценариями “объясни/исправь код”.

и др.

Дальше уже дело вкуса: главное, чтобы вы могли спокойно открыть .ipynb, запустить код из наших примеров и шаг за шагом двигаться к своим торговым роботам.
18🔥5
🧱 Yield Pickup Bond Swap: делаем облигации эффективнее



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

Чтобы это исправить, мы сделали YieldPickup.ipynb — код, который помогает переезжать из слабых облигаций в более доходные аналоги без лишнего героизма по риску.

Идея стратегии
👉 у вас есть облигация, которая подорожала и теперь даёт скромный купон / низкую доходность;
👉 на рынке есть похожая по сроку и риску, но дешевле и с выше YTM.

Логичный шаг:
👉 продать дорогую низкодоходнуюкупить более доходную и сопоставимую.

Что делает YieldPickup.ipynb
1) Сканирует рынок Мосбиржи
Берёт по всем доступным бумагам:
👉 цены и котировки,
👉 купоны,
👉 доходность к погашению (YTM),
👉 обороты / ликвидность.

2) Ищет кандидатов на продажу
Подсвечивает бумаги, которые имеет смысл продать, если они у вас уже есть:
👉 торгуются выше номинала,
👉 имеют низкую YTM ( доходность к погашению) относительно рынка,
👉 дают слабый текущий купон (и/или выглядят “дорого” по соотношению риск/доходность).

3) Ищет кандидатов на покупку
Отбирает бумаги, которые выглядят лучше:
👉 торгуются ниже 100% от номинала,
👉 имеют выше YTM,
👉 обладают нормальной ликвидностью (по ним реально проходят сделки).

4) Подбирает пары “свопов”
Формирует идеи в стиле:
👉 «продай А → купи Б»,
с ограничениями, чтобы не получилось “улучшили доходность ценой вечности”:
👉 без резкого увеличения срока до погашения,
👉 без ненужного роста риска (в рамках выбранного профиля).

5) Считает выгоду обмена
Для каждой пары считает:
👉 прирост купонного потока,
👉 улучшение YTM,
👉 “сдачу” — когда после свопа остаются деньги, на которые можно докупить ещё бумаг.

Профили риска в коде
Вы выбираете режим — и фильтры подстраиваются под него:
👉 conservative — только ОФЗ и максимально надёжные бумаги
👉 balanced — крепкие корпораты, разумный баланс риска/доходности
👉 aggressive — ВДО и повышенный риск ради максимальной доходности

Код формирует два файла:
1 yield_pickup_sell_candidates.csv
Список облигаций, которые имеет смысл продавать, если они есть в портфеле.
2 yield_pickup_pairs.csv
Готовые идеи обменов в формате:
«продай эту → купи вот эту → +к доходности ≈ столько-то»

Важно 🚨
👉 Комиссии учитываются ориентировочно — итог зависит от вашего тарифа/брокера.
👉 Неликвидные и “мертвые” бумаги отсекаются.
Флоатеры и сложные структурные продукты по умолчанию игнорируются, чтобы не рисовать доходность “с потолка”.


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

Можно пойти ещё дальше
Подключить код к роботу, чтобы он:
👉 сам отслеживал ваш портфель,
👉 по расписанию пересматривал позиции,
👉 и выполнял такие свопы автоматически.

Доработать под “ручной портфель”:
👉загружаете список своих облигаций (тикеры/ISIN/кол-во),
👉код проверяет только ваши позиции,
👉 и выдаёт swap-идеи строго под ваш портфель.
🔥273👍2
Данные для тестов: Binance-фьючерсы криптовалюты с 2018 года


Раньше мы выкладывали наборы по срочному рынку РФ (Algopack: https://t.me/vesperfincode/365 и архивы фьючерсов РФ: https://t.me/vesperfincode/403).

Теперь очередь крипты — исторические данные по Binance Futures (USDT-M) с 2018 года.
👍11