Skip to main content

Ziplime data source add-on for Russian market (Finam/MOEX) via gRPC

Project description

zipFinam

zipFinam — дополнение к библиотеке ziplime для работы с российским рынком (MOEX) через gRPC API.

Установка

pip install zipfinam

Первый бэктест: пошаговое руководство

Все готовые файлы находятся в папке quickstart/.

quickstart/
├── .env.example            # шаблон конфигурации
├── step1_ingest_assets.py  # загрузка списка инструментов
├── step2_ingest_data.py    # загрузка исторических данных
├── algo.py                 # торговый алгоритм (можно редактировать)
└── step3_run_backtest.py   # запуск бэктеста

Шаг 0. Настройте доступ к API

Скопируйте шаблон и заполните ваши данные:

cd quickstart
cp .env.example .env

Откройте .env и укажите токен и адрес сервера:

GRPC_TOKEN=ваш_токен_здесь
GRPC_SERVER_URL=api.finam.ru:443

Загрузите переменные в окружение:

export $(cat .env | xargs)

Шаг 1. Загрузите список инструментов

Выполняется один раз. Повторять только при обновлении списка доступных инструментов.

python step1_ingest_assets.py

Шаг 2. Загрузите исторические данные

По умолчанию загружаются SBER, LKOH, GAZP за 2024 год с дневной частотой.

python step2_ingest_data.py

Данные сохранятся в ~/.ziplime/data/. Отредактируйте step2_ingest_data.py чтобы изменить символы или период.


Шаг 3. Запустите бэктест

python step3_run_backtest.py

Алгоритм из algo.py — равновзвешенный портфель: каждой из трёх акций выделяется по 1/3 капитала, ребалансировка ежедневно.

Результат выводится в виде таблицы с метриками по дням.


Что менять, чтобы адаптировать под себя

Что хочу изменить Где менять
Список акций SYMBOLS в step2_ingest_data.py и algo.py
Период бэктеста start_date / end_date в step2_ingest_data.py и step3_run_backtest.py
Стартовый капитал total_cash в step3_run_backtest.py
Логику торговли algo.py

Конфигурация

Переменная окружения Описание Обязательная
GRPC_TOKEN Токен авторизации gRPC API Да
GRPC_SERVER_URL Адрес gRPC сервера (host:port) Да
GRPC_MAXIMUM_THREADS Макс. число параллельных запросов Нет

Поддерживаемые таймфреймы

Частота Передавайте в data_frequency
1 минута datetime.timedelta(minutes=1)
5 минут datetime.timedelta(minutes=5)
1 час datetime.timedelta(hours=1)
1 день datetime.timedelta(days=1)
1 неделя datetime.timedelta(weeks=1)

Требования

  • Python >= 3.12
  • ziplime >= 1.11.11

Лицензия

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zipfinam-0.2026.2.25.tar.gz (112.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zipfinam-0.2026.2.25-py3-none-any.whl (33.8 kB view details)

Uploaded Python 3

File details

Details for the file zipfinam-0.2026.2.25.tar.gz.

File metadata

  • Download URL: zipfinam-0.2026.2.25.tar.gz
  • Upload date:
  • Size: 112.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for zipfinam-0.2026.2.25.tar.gz
Algorithm Hash digest
SHA256 47f0141c865ef469541c730402541b1a9747db0c4b852ce16fc9dcbf64265133
MD5 63d27223dc12a5a55fcde73c6989f10b
BLAKE2b-256 6c1ae21ef3f82a652a6947466b1fa79d54bdaf31f4e3b4c14ebb141ee2b506a4

See more details on using hashes here.

File details

Details for the file zipfinam-0.2026.2.25-py3-none-any.whl.

File metadata

  • Download URL: zipfinam-0.2026.2.25-py3-none-any.whl
  • Upload date:
  • Size: 33.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for zipfinam-0.2026.2.25-py3-none-any.whl
Algorithm Hash digest
SHA256 272875f28a8b7e443832ac571a73c73af19641e37ed319f8c03f1feb75483a58
MD5 9c46d97af309fbf065df8e12e02e5410
BLAKE2b-256 8a7c1d21568881b55976005771cb6037e1c05b0dba18da5fa53084b89269f153

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page