Тестовая стратегия: Торговля на двух скользящих средних (SMA)
Инструмент: SBER (Сбербанк)
Период данных: 01.01.2024 - 10.10.2025
Общие параметры: 1 контракт, SMA1=15, SMA2=91
Проект сравнивает производительность различных платформ и языков программирования для алгоритмической торговли. Используется одинаковая торговая стратегия на основе двух скользящих средних, реализованная на разных фреймворках.
Источник: OsEngine
Язык: C#
Платформа: Windows
Время выполнения: 4.26 сек
Статус: ✅ Успешно
Источник: Backtesting.py
Язык: Python 3.13.9
Время выполнения: 3.47 сек
Статус: ✅ Успешно
Источник: Backtrader
Язык: Python 3.13.9
Время выполнения: 42.62 сек
Статус: ✅ Успешно
| Платформа | Язык | Время (сек) | Ускорение | Примечание |
|---|---|---|---|---|
| OsEngine | C# | 4.26 | 1.0x | Базовое значение |
| Backtesting.py | Python | 3.47 | 1.23x | Самый быстрый |
| Backtrader | Python | 42.62 | 0.1x | Медленнее в 10 раз |
- Быстродействие: Backtesting.py показал лучший результат - на 23% быстрее, чем OsEngine на C#
- Удобство использования: Python-решения проще в развёртывании и не требуют установки IDE
- Производительность C#: OsEngine находится между Python-фреймворками по скорости
- Problematic: Backtrader значительно медленнее конкурентов (в 10 раз медленнее Backtesting.py)
- Для максимальной производительности: Backtesting.py
- Для комбинированного подхода (скорость + GUI): OsEngine
- Для быстрого прототипирования: Python с Backtesting.py