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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47f0141c865ef469541c730402541b1a9747db0c4b852ce16fc9dcbf64265133
|
|
| MD5 |
63d27223dc12a5a55fcde73c6989f10b
|
|
| BLAKE2b-256 |
6c1ae21ef3f82a652a6947466b1fa79d54bdaf31f4e3b4c14ebb141ee2b506a4
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
272875f28a8b7e443832ac571a73c73af19641e37ed319f8c03f1feb75483a58
|
|
| MD5 |
9c46d97af309fbf065df8e12e02e5410
|
|
| BLAKE2b-256 |
8a7c1d21568881b55976005771cb6037e1c05b0dba18da5fa53084b89269f153
|