Skip to main content
Используйте context.portfolio, чтобы во время запуска проверять результаты стратегии и позиции. В context.account доступны показатели кредитного плеча, маржи и счёта в целом. Метод context.record(...) записывает пользовательские метрики в итоговую таблицу результатов.

Поля портфеля

context.portfolio — объект Portfolio, который обновляется по ходу симуляции. Основные поля: Пример для портфеля в рублях:

Вспомогательные методы позиций

Чтобы получить количество или стоимость позиции по одному инструменту, используйте вспомогательные методы.

await context.portfolio.get_asset_positions(asset, exchange_name=None, trading_account_id=None)

Возвращает позиции, соответствующие идентификатору базового инструмента. Метод может объединять разные биржевые листинги одного базового инструмента.

await context.portfolio.get_exchange_asset_positions(asset, exchange_name=None, trading_account_id=None)

Возвращает позиции, которые точно соответствуют SID биржевого инструмента.
Значение exchange_name должно совпадать с именем биржи в конфигурации запуска.

Методы количества и стоимости

Используйте варианты exchange_asset, когда важен конкретный листинг. Варианты asset подходят, если разные листинги одного базового инструмента нужно рассматривать вместе.

Поля позиции

Каждый объект Position содержит:

Поля счёта

context.account содержит показатели счёта и кредитного плеча. Основные поля: Пример:

Запись пользовательских метрик

context.record(*args, **kwargs)

Записанные значения добавляются в ежедневную таблицу результатов и доступны в analyze.
Также можно передать чередующиеся позиционные пары «имя — значение»:
Для удобства чтения предпочтительнее именованные аргументы.

Анализ записанных значений

perf формируется после завершения запуска. Точный набор столбцов зависит от набора метрик и имён, переданных в context.record.