Skip to main content
Данные на момент публикации (point-in-time) индексируются по дате, когда строка стала публичной, поэтому стратегия на баре t видит только то, что было известно к t. Ziplime читает такие данные напрямую — без шага загрузки и без сборки бандла. Для российского рынка это прежде всего MOEX AlgoPack через zipfinam; встроенные наборы на Hugging Face Hub описывают компании США.

MOEX AlgoPack

AlgoPack — аналитика, которую Мосбиржа считает по собственной ленте сделок и стакану. Её не восстановить по свечам: биржа видит каждую заявку, включая снятые. zipfinam регистрирует схему адресов algopack://, и таблицы читаются той же строкой, что и цены:
Каждая строка становится видна стратегии в момент, когда биржа её опубликовала:
  • дневной итог виден на следующей сессии, а не в течение своей;
  • hi2 биржа публикует примерно через шесть минут после своей метки времени, и раньше этого стратегия его не увидит;
  • строки, которые биржа пересчитала задним числом, остаются в бэктесте на своём месте до даты пересчёта.
Пятиминутные данные — по адресу algopack://eq/tradestats/5min. Загруженная история кэшируется на диске, поэтому повторный бэктест по тем же годам не скачивает её заново. Пять готовых стратегий — по одной на таблицу — лежат в examples/algorithms/algopack репозитория zipfinam.

Наборы данных на Hugging Face Hub

Наборы доступны на huggingface.co/ZipLime. В карточке каждого набора описаны его таблицы (configs) и столбцы. Эти наборы покрывают американские компании; для бумаг Мосбиржи используйте AlgoPack или собственные источники.

Форма в одну строку

Укажите набор адресом прямо в data.history:
Первое чтение привязывает набор к коммиту, скачивает только те части Parquet, которые попадают в окно симуляции, сопоставляет тикеры с базой инструментов и держит результат в памяти.
Форма в одну строку подключает окно самой симуляции, поэтому не видит ничего, что было опубликовано до первого бара. Сигнал, который смотрит на 90 дней назад, начинает работу вслепую. Если нужна история до начала запуска, используйте явную форму с более ранним start_date.

Явная форма

Подключите набор один раз в initialize, захватив период до первого бара, и читайте его как любой другой источник:

Закрепляйте ревизию

Наборы только дополняются и растут. Если оставить main, один и тот же бэктест с разницей в месяц прочитает разные данные и выдаст разный результат. Движок заранее привязывает ветку к коммиту и выводит его в журнал:
Передайте этот коммит в revision=, чтобы точно повторить запуск.

Читайте отчёт о подключении

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

Событийным данным нужен since

Наборы раскрытий разрежены: тридцать отчётов по одному тикеру могут растянуться на четыре года. Читайте их с since=datetime.timedelta(...), а не с bar_count=.

В векторных сигналах

Подключённый набор доступен и в compute_signals как prices.dataset(name). Подробнее — в разделе «Векторные сигналы».

Другие схемы адресов

Схема hf:// встроена в движок. Расширения регистрируют собственные схемы, и стратегия читает data.history(..., data_source="scheme://...") без какой-либо регистрации со своей стороны — так zipfinam добавляет algopack://. Подробнее — в разделе «Площадки и календари». Разобранные примеры с результатами и контрольными запусками — в examples/huggingface репозитория Ziplime.