вторник, 27 декабря 2022 г.

Как быстро найти аномалии в числовых рядах с помощью метода Хампеля

На практике встречаются задачи, для решения которых требуется найти аномалии в числовых рядах. Для простоты понимания можно считать, что это значения, которые отличаются от большинства чисел в ряде по некоторым признакам (выброс, нестандартное значение, отклонение от нормы). Такие задачи встречаются в различных областях:

  • очистка зашумлённых данных в датасайнс (Data Science);
  • фильтрация выбросов в обучающей выборке для нейросетей в машинном обучении (Machine Learning);
  • поиск аномальной сетевой хакерской активности, при мониторинге трафика и событий в  кибербезопасности (Cybersecurity);
  • выявление выбросов или хвостов в потоке биржевых данных в алгоритмической торговле (Algorithmic Trading);
  • а также в любых задачах на поиск аномалий, где данные могут быть представлены в виде числового ряда.
Понятия числового ряда в математическом анализе и в статистике отличаются. Мы принимаем под числовым рядом его статистическое понимание, то есть конечную последовательность чисел (аналог выборки). Существуют различные толкования аномалии в числовых рядах. Их мы рассмотрим далее.

Также в статье показаны примеры, как быстро и эффективно найти аномалии в числовых рядах с помощью модифицированного метода Хампеля (Hampel F.R.).

четверг, 24 ноября 2022 г.

TKSBrokerAPI Trade Automation Platform: release-1.5.120

Опубликован очередной релиз платформы TKSBrokerAPI: v1.5.120. Рассмотрим основные изменения.

Release notes (in english)
Issues included in the release

PyPI: 1.5.120 (2022-11-21)

Дайджест

В новой версии TKSBrokerAPI в отчёте о портфеле пользователя появилась новая секция с календарём платежей по облигациям (сам календарь, возможность обогащения облигаций данными и множество других интересных фич появились в предыдущей стабильной версии v1.4.90, о них я писал в прошлом посте). 

четверг, 10 ноября 2022 г.

Получаем и расширяем биржевые данные с помощью TKSBrokerAPI — платформы для автоматизации торговых сценариев

В прошлый раз я показал, как можно автоматизировать торговый сценарий на Python с помощью TKSBrokerAPI. Это платформа для упрощения автоматизации торгов на бирже, которая работает через Tinkoff Invest REST API. Всё начинается с вашей гениальной торговой идеи и завершается автоматизацией сценария, а TKSBrokerAPI берёт на себя всю работу с инфраструктурой брокера.

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


Поддержать проект: https://yoomoney.ru/to/410015019068268

суббота, 1 октября 2022 г.

TKSBrokerAPI: демонстрация некоторых возможностей торговли на бирже через Python API


Поддержать проект: https://yoomoney.ru/to/410015019068268

В прошлой статье я рассказал про опенсорс разработку — платформу TKSBrokerAPI — это Python API для работы с Tinkoff Open API через REST протокол. Также этим инструментом можно пользоваться из консоли или встраивать его в CI/CD-системы, для автоматизации рутинных операций на бирже, через брокера Тинькофф Инвестиции.

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

Неважно, какую основную систему принятия торговых решений о покупке или продаже вы используете. Это может быть технический анализ, нейросети, парсинг отчётов или слежение за сделками других трейдеров. Но всё равно вам потребуется выполнять базовые торговые операции: получать рыночные данные, выставлять лимитные и стоп-ордера, открывать и закрывать сделки по рынку. Модуль TKSBrokerAPI будет выступать как посредник между кодом с логикой торгов и сервисной инфраструктурой брокера, а также выполнять рутинные задачи от вашего имени в брокерском аккаунте.

Схема разработки с помощью TKSBrokerAPI очень простая:
  1. Вы придумываете гениальный торговый алгоритм.
  2. Записываете его пошагово в виде некоторого плана или торгового сценария.
  3. Автоматизируете сценарий на Python при помощи TKSBrokerAPI.
  4. TKSBrokerAPI берёт на себя всю работу с инфраструктурой брокера Тинькофф Инвестиции.
  5. Профит!

пятница, 29 июля 2022 г.

TKSBrokerAPI — python API для работы с Tinkoff Open API и доступа к торговому серверу брокера Тинькофф Инвестиции через REST протокол

TKSBrokerAPI

Build Status pypi license en-doc api-doc gift

Ссылка на проект: https://github.com/Tim55667757/TKSBrokerAPI

Поддержать проект: https://yoomoney.ru/to/410015019068268

Если вы занимаетесь одновременно инвестированием, автоматизацией и алгоритмической торговлей, то наверняка слышали про Tinkoff Open API (к нему есть неплохая Swagger-документация) — это API, предоставляемое брокером Тинькофф Инвестиции для автоматизации работы биржевых торговых роботов. Если ещё не слышали, то можете завести себе аккаунт и протестировать его возможности сами.

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

TKSBrokerAPI — это более простой инструмент, который можно использовать как обычный python-модуль или запускать из командной строки, и сразу из коробки получить возможность работать со счётом у брокера Тинькофф Инвестиции: получать информацию о состоянии портфеля, включая элементарную аналитику, открывать и закрывать позиции, получать общую информацию о торгуемых на бирже инструментах, запрашивать цены и получать отчёты об операциях за указанный период. Все данные выводятся сразу в консоль: в текстовом виде или сохраняются в файлах формата Markdown.

вторник, 11 января 2022 г.

PriceGenerator — модуль python для генерации тестовых данных по биржевым котировкам

PriceGenerator

Build Status pypi license

Ссылка на проект: https://github.com/Tim55667757/PriceGenerator

Иногда для целей тестирования автоматизированных торговых алгоритмов бывает необходимо получить набор данных с биржевыми ценами, которые попадают под определённые статистические ограничения. Обычно трейдеры и аналитики используют модель цен вида OHLCV-candlesticks (open, high, low, close, volume), так называемые японские свечи. Одна строка таких данных представляет собой набор цен для построения одной японской свечи: дата открытия, цена открытия, наибольшая цена, наименьшая цена, цена закрытия на данном временном интервале и значение объёма торгов.

PriceGenerator — это простая библиотека на python, которую можно использовать как модуль или запускать из командной строки и генерировать случайные ценовые данные, максимально похожие на "настоящие цены", но с заранее заданными статистическими характеристиками. Можно задать интервал цен, таймфрейм, максимальное и минимальное значения для диапазона цен, максимальный размер для свечей, вероятность направления для очередной свечи, вероятность ценовых выбросов, количество генерируемых свечей и некоторые другие параметры.

Из статьи далее вы узнаете:

  • как установить и использовать библиотеку PriceGenerator из командной строки, либо через импорт модуля;
  • про метод генерации цен, используемый в библиотеке;
  • как сгенерировать набор ценовых данных с параметрами по умолчанию, получить по ним статистику и нарисовать график (интерактивный или упрощённый);
  • как загрузить ранее сохранённые данные по ценам, построить график и посчитать статистику;
  • как переопределить статистические параметры генератора, заданные по умолчанию;
  • как разделить ценовые данные по трендам, чтобы цена вела себя по разному для различных временных периодов.

понедельник, 10 января 2022 г.

AVStockParser — модуль python для работы с сервисом Alpha Vantage и получения данных с биржи NASDAQ

AVStockParser

Build Status pypi license

Ссылка на проект: https://github.com/Tim55667757/AVStockParser

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

Для автоматизации работы с историческими данными есть множество онлайн-сервисов, которые предоставляют API для этого бесплатно, но с некоторой задержкой. Например, Alpha Vantage. Основной источник данных для этого сервиса — биржа NASDAQ. Если вам нужна автоматизация работы с этой американской биржей и вы используете python, то далее расскажу, как это можно сделать с помощью Alpha Vantage API и библиотеки AVStockParser.

воскресенье, 9 января 2022 г.

MT4ForexParser — модуль python для работы с файлами истории MetaTrader 4

MT4ForexParser

Build Status pypi license

Ссылка на проект: https://github.com/Tim55667757/MT4ForexParser

У всех трейдеров периодически возникает необходимость получить исторические данные по валютам Forex (или по акциям) для дальнейшего анализа цен и построения графиков. Чаще всего эти данные поставляются на платной основе, либо вам приходится тратить много времени на ручную выгрузку данных на специальных сайтах.

Однако большинство Forex брокеров работают с торговой платформой MetaTrader 4 и загружают туда данные в специальном бинарном .hst-формате для MetaTrader 4 (не в .csv). Этим можно воспользоваться и получить исторические свечи подключившись к серверу брокера в демо-режиме, который есть почти у всех брокеров. При этом сжатый бинарный .hst-файл будет скачан локально в рабочий каталог MetaTrader 4.