{"repo":"lekolanv/stratagema","free":true,"listed":false,"github":"https://github.com/lekolanv/stratagema","clone":"git clone https://github.com/lekolanv/stratagema.git","description":"stratagema","language":"Python","stars":13,"topics":["database","databases","finance","financial-analysis","financial-modeling","python","python3"],"license":null,"category":"databases-storage","readme_excerpt":"STRATAGEMA Движок бэктестинга торговых стратегий на данных MOEX в планах: --- Что это такое STRATAGEMA отвечает на вопрос: «а сработала бы моя торговая идея на реальной истории рынка?» Пользователь пишет класс-стратегию, движок берёт исторические дневные свечи с Московской биржи, проигрывает их день за днём и считает, сколько бы стратегия заработала или потеряла с учётом комиссий, проскальзывания. Прогресс # Этап Статус :-: ------ :------: 1 Загрузчик свечей с MOEX ISS ✅ Готов 2 Событийный движок, портфель, модель исполнения ✅ Готов 3 Стратегии-плагины: SMA-кроссовер ✅, RSI 🔧 В работе 4 Метрики: max drawdown, Sharpe, win rate ⬜ Не начат 5 Сохранение свечей и прогонов в PostgreSQL ⬜ Не начат 6 REST API на FastAPI + Swagger ⬜ Не начат 7 Тесты на синтетических данных, Docker, CI ⬜ Не начат Запуск Данные берутся из открытого MOEX ISS API Пример вывода: Архитектура Ключевые решения Во-первых, стратегия видит только текущую свечу. Strategy.on candle принимает одну свечу; историю стратегия копит сама. Заглянуть в будущее нельзя, так как будущих свечей нет в области видимости. Во-вторых, сигнал исполняется по открытию следующей свечи. В-третьих, намерение отделено от исполнения. Стратегия возвращает Signal , движок решает, исполним ли он, считает количество и комиссию. Неисполнимые сигналы (покупка при открытой позиции, продажа при пустой) игнорируются. В-четвертых, издержки вынесены в ExecutionModel . Проскальзывание, комиссия с оборота, минимальная комиссия за сделку, размер лота,","default_branch":null,"files":null,"tree":[],"storefront":"/r/lekolanv","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/lekolanv/stratagema/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}