CerebroView
Современная HTML-визуализация результатов Backtrader на основе TradingView Lightweight Charts. Прямая замена cerebro.plot() без изменения стратегии и расчетов.
Быстрый старт
from cerebroview import plot
# здесь создается cerebro, добавляются данные, стратегия, комиссии и т.п.
cerebro.run()
plot(cerebro)
После cerebro.run() вместо cerebro.plot() вызывается plot(cerebro). График открывается на вкладке браузера.
Возможности
- свечи, объем и индикаторы рисуются автоматически по
plotinfo.subplotиplotyhlinesстратегии; - маркеры сделок с подсказками: цена входа, цена выхода, длительность в барах и PnL;
- панель Cash / Value по стандартному наблюдателю Backtrader;
- несколько источников данных в одном HTML, с общей временной шкалой;
- масштабирование колесом мыши, перетаскивание, синхронизация перекрестия между панелями;
- перетаскиваемые границы панелей и адаптация к высоте окна;
- дерево объектов — галочками включаются и выключаются индикаторы, отдельные панели, сделки и рисунки;
- окно данных, показывающее значения всех серий ровно под курсором;
- инструменты разметки (линии, прямоугольники, флаги, стрелки, выноски, текст) с сохранением в памяти браузера;
- экспорт в автономный HTML и CSV;
- светлая и темная тема, переключатель типа графика (свечи / бары / линия) — без перезапуска стратегии.
Установка
Через pip
python -m pip install cerebroview
Копированием папки
Альтернатива без установки в окружение, скопируйте папку cerebroview в корень проекта рядом со скриптом стратегии:
your_project/
├── cerebroview/
└── your_strategy.py
Импорт остается прежним:
from cerebroview import plot
Использование
В верхней панели графика доступны:
- переключатель типа графика — свечи, бары или линия;
- светлая / темная тема;
- Undo / Redo для инструментов разметки;
- сохранение в автономный HTML;
- скачивание CSV (по одному файлу на источник данных);
- кнопки открытия дерева объектов и окна данных;
- панель инструментов разметки.
Демонстрация
В репозитории есть демонстрационный скрипт со всеми возможностями:
python showcase_all_features_v082_updated.py
Он запускает Backtrader на двух искусственных инструментах с разными индикаторами и заранее подобранными сделками, а затем открывает интерактивный HTML-отчет.
Требования
- Python 3.9 или новее;
- backtrader;
- современный браузер;
- доступ в интернет при первом открытии графика — Lightweight Charts подгружается с CDN.
Для запуска демонстрационного скрипта дополнительно требуется pandas.
Документация
docs/USER_GUIDE_RU.md— руководство пользователя, параметрыplot(...), описание поддерживаемых индикаторов и наблюдателей.
Лицензия
MIT — см. файл LICENSE.
Release files for cerebroview 0.8.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cerebroview-0.8.2.tar.gz | 279.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cerebroview-0.8.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 357.1 kB
Release files / cerebroview-0.8.2.tar.gz
| Download URL | cerebroview-0.8.2.tar.gz |
|---|---|
| Size | 279.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2e342abf70f1faa0d3f4f9cd9f0981794005d730600eed8d22a623bc3e91965a
|
|
BLAKE2b-256 checksum How to use checksums |
d7a1014d97af5c47ca6731ce826e5ff3841c136e2c14b98d7823c3c2ed0bb4ba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.13
|
Release files / cerebroview-0.8.2-py3-none-any.whl
| Download URL | cerebroview-0.8.2-py3-none-any.whl |
|---|---|
| Size | 77.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f62852e4c5734da0ea11009a4fe949d1c0acc460272cf9cdaae6512080406a5e
|
|
BLAKE2b-256 checksum How to use checksums |
e166bfa6b47b6c832c7e8c2f64c491e02728194d16433729dedb2056b6551f5b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.13
|