Skip to main content
В этом разделе описан API, доступный внутри файла алгоритма Ziplime от Финама. Сам файл алгоритма представляет собой обычный Python-код, а Ziplime дополняет его компактным событийным API:
  • context хранит состояние стратегии и предоставляет торговые функции.
  • data предоставляет доступ к текущим и историческим рыночным данным.
  • Функции жизненного цикла сообщают Ziplime, когда нужно выполнить настройку, торговую логику, подготовку к сессии и анализ результатов.
Основная работа стратегии выполняется в двух функциях:

Модель работы

initialize — блок настройки. В нём находят инструменты, сохраняют параметры, регистрируют функции по расписанию и задают ограничения. handle_data — блок торговой логики. Он запускается на каждом сформированном баре, читает data, проверяет состояние портфеля, размещает заявки и записывает метрики. before_trading_start — необязательная функция ежедневной подготовки. Используйте её для выбора набора инструментов на день или получения результатов пайплайна. Не размещайте в ней заявки. analyze — необязательная функция формирования отчёта после завершения бэктеста.

Минимальный алгоритм

Основные объекты

Простое правило для async

Используйте await при вызове функций, которые загружают данные, находят инструменты, размещают или отменяют заявки:
В текущей версии среды:

Карта API

Рекомендуемый порядок чтения

  1. Файл алгоритма
  2. API объекта context
  3. Рыночные данные
  4. Заявки
  5. Портфель и запись метрик
  6. Расписание и ограничения
  7. Пайплайны
  8. Миграция с классического Zipline