Skip to main content

2.11.0

Каждый листинг теперь живёт по часам своей площадки, поэтому в одном бэктесте могут быть инструменты рынков с разным расписанием. Расширения могут добавлять площадки, календари и адреса источников данных без правок Ziplime. Обновление с 2.10.3
  • Бэктесты на одном рынке не меняются: запуск, все листинги которого торгуются по календарю самой симуляции, даёт те же результаты.
  • Для площадок Мосбиржи нужен zipfinam версии 1.26.10.1 или новее. Сам Ziplime календарей для MISX и RTSX не содержит; без zipfinam московские листинги, как и раньше, оцениваются по календарю симуляции.
Что меняется в результатах
  • Листинг оценивается по часам своей площадки. data.can_trade спрашивает площадку листинга: в дневном запуске — торговалась ли она в этот день, во внутридневном — открыта ли она в эту минуту.
  • context.rebalance не трогает позицию, пока её рынок закрыт, вместо того чтобы прерывать запуск.
  • Заявка по листингу, рынок которого закрыт, теперь так и сообщает и называет оба календаря. Раньше ошибка ссылалась на делистинг.
Новое: календари площадок и точки расширения для площадок и адресов источников данных — см. «Площадки и календари».

2.10.3

Первый выпуск после 1.19.16. Фьючерсы, облигации и опционы торгуются вместе с акциями в одном портфеле; появились командная строка и локальный MCP-сервер; наборы данных на момент публикации подключаются прямо с Hugging Face Hub; тот же файл стратегии запускается в реальной торговле. Обновление с 1.19.16
  • Пересоздайте базу инструментов. История схемы начата заново, поэтому базу 1.19 нельзя обновить на месте. Выполните ziplime ingest-assets --clear (для Мосбиржи — ziplime ingest-assets -p finam --clear), затем заново загрузите бандлы.
  • Бандлы хранятся в таблицах Delta Lake, а не в обычном Parquet.
  • Дополнительные возможности ставятся как pip extras — mcp, huggingface, options, numba, all. См. «Установка и запуск».
Несовместимые изменения API Что меняется в результатах — каждое изменение исправляет ошибку, но результат, сохранённый в 1.19, не воспроизведётся:
  • Исполнение на следующем баре — по умолчанию в CLI и MCP-сервере. Раньше handle_data видела портфель до исполнения заявок бара, и целевые заявки повторно отправляли уже исполненные.
  • Комиссия попадает в стоимость позиции, в том числе для акций.
  • Автозакрытие работает: листинг после даты автозакрытия больше не остаётся в портфеле по устаревшей цене.
  • get_open_orders(asset) возвращает рабочие заявки. Раньше он возвращал [].
  • Отменённые и отклонённые заявки уходят из книги открытых заявок.
  • Торговые ограничения действуют: set_max_position_size, set_max_order_size, set_max_order_count, set_long_only, set_asset_restrictions.
  • Первая сессия сохраняется на биржах восточнее UTC — это касается и Мосбиржи.
  • perf["positions"] хранит снимки, поэтому записанные строки больше не меняются по ходу запуска.
  • Доходности бенчмарка выровнены по сессиям.
  • Параметры equity_slippage и future_slippage в run_simulation учитываются.
  • Вариационная маржа по фьючерсам начисляется в обе стороны.
Также исправлены: order_value с limit_price или stop_price, NoSlippage, комиссия PerTrade, запуск без бенчмарка и ziplime clean. Полный список — в файле release-notes.md в репозитории.