Skip to content

Trade360Lab/Trade360Lab-Strategies

Repository files navigation

Trade360Lab Logo

Trade360Lab Strategies

Библиотека торговых стратегий для Trade360Lab с manifest-driven архитектурой. Репозиторий содержит единый контракт стратегии, переиспользуемые индикаторы, автоматический registry, примеры конфигов и тестовую базу для дальнейшей интеграции в backtest, optimizer и live-bot.

Что Входит В Репозиторий

  • shared/: базовый контракт стратегии, валидация DataFrame, schema/manifest helpers, registry и общие signal helpers
  • indicators/: переиспользуемые технические индикаторы на pandas
  • strategies/: стратегии, сгруппированные по категориям
  • examples/: примеры JSON-конфигов для запуска стратегий
  • tests/: unit и integration тесты
  • STRATEGY_SPEC.md: спецификация библиотеки и контрактов
  • CONTRIBUTING.md: правила добавления новых стратегий и разработки

Структура Проекта

.
├─ strategies/
│  ├─ trend/
│  │  └─ ema_cross/
│  ├─ mean_reversion/
│  │  └─ rsi_reversion/
│  └─ breakout/
│     └─ donchian_breakout/
├─ indicators/
│  ├─ trend/
│  ├─ momentum/
│  ├─ volatility/
│  └─ volume/
├─ shared/
├─ examples/
├─ tests/
│  ├─ fixtures/
│  ├─ unit/
│  └─ integration/
├─ STRATEGY_SPEC.md
├─ CONTRIBUTING.md
├─ README.md
└─ pyproject.toml

Установка

python3 -m venv .venv
.venv/bin/pip install -e '.[dev]'

Проверки Качества

Запуск тестов:

.venv/bin/python -m pytest

Запуск линтера:

.venv/bin/ruff check .

Использование Registry

Получить список доступных стратегий:

from shared.registry import StrategyRegistry

registry = StrategyRegistry()
print(registry.list_strategies())

Создать экземпляр стратегии по slug:

from shared.registry import StrategyRegistry

registry = StrategyRegistry()
strategy = registry.create("ema_cross", {"fast_period": 12, "slow_period": 26})
result = strategy.run(df)

Получить manifest стратегии:

manifest = registry.get_manifest("rsi_reversion")
search_space = registry.get_manifest("donchian_breakout")["parameters"]

Доступные Стратегии

  • ema_cross: трендовая стратегия на пересечении быстрых и медленных EMA
  • rsi_reversion: mean reversion стратегия на возврате RSI из зон перепроданности и перекупленности
  • donchian_breakout: breakout стратегия на пробое предыдущих границ канала Дончиана

Кратко О Контракте

Все стратегии:

  • наследуются от shared.base_strategy.BaseStrategy
  • принимают params при инициализации
  • валидируют входной OHLCV DataFrame
  • возвращают обязательные сигнальные колонки
  • не используют lookahead bias
  • автоматически обнаруживаются через strategies/**/manifest.json

Обязательные сигнальные колонки:

  • entry_long
  • entry_short
  • exit_long
  • exit_short

Полный контракт описан в STRATEGY_SPEC.md.

Структура Каталога Стратегии

strategies/<category>/<slug>/
├─ strategy.py
├─ manifest.json
├─ README.md
└─ tests/

Примечание

Репозиторий хранит только библиотечный слой стратегий и не смешивает его с логикой исполнения ордеров. Это облегчает дальнейшее подключение стратегий к отдельным backtest и live runtime компонентам.

About

Официальная библиотека торговых стратегий для TradeLab со стандартизированными реализациями и готовой поддержкой оптимизации.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors