Тестовая стратегия: Торговля на двух скользящих средних (SMA)
Инструмент: SBER (Сбербанк)
Период данных: 01.01.2024 - 10.10.2025
Общие параметры: 1 контракт, SMA1=15, SMA2=91
Проект сравнивает производительность различных платформ и языков программирования для алгоритмической торговли. Используется одинаковая торговая стратегия на основе двух скользящих средних, реализованная на разных фреймворках.
Источник: OsEngine
Язык: C#
Платформа: Windows
Время выполнения: 4.26 сек
Статус: ✅ Успешно
Источник: Backtesting.py
Язык: Python 3.13.9
Время выполнения: 4.3 сек
Статус: ✅ Успешно
Источник: Backtrader
Язык: Python 3.13.9
Время выполнения: 56.3 сек
Статус: ✅ Успешно
Источник: Backtrader-Next
Язык: Python 3.13.9
Время выполнения: 14.7 сек
Статус: ✅ Успешно
| Платформа | Язык | Время (сек) | Ускорение | Примечание |
|---|---|---|---|---|
| OsEngine | C# | 4.26 | 1.0x | Базовое значение |
| Backtesting.py | Python | 4.3 | 1.01x | Самый быстрый |
| Backtrader | Python | 56.3 | 0.076x | Медленнее в 13 раз |
| Backtrader-Next | Python | 14.7 | 0.3x | Медленнее в 3.5 раза |
- Быстродействие: Backtesting.py показал лучший результат — на 5% быстрее, чем OsEngine на C#.
- Удобство использования: Python-решения проще в развёртывании и не требуют установки IDE.
- Производительность C#: OsEngine занимает промежуточное положение между Python-фреймворками по скорости.
- Backtrader: Значительно уступает конкурентам по производительности (в 13 раз медленнее Backtesting.py).
- Максимальная производительность: Backtesting.py
- Скорость + GUI: OsEngine
- Быстрое прототипирование: Python с Backtesting.py
- Многозадачность и поддержка инструментов: Python с Backtrader-Next