A modular Python framework for reliable algotraiding bots.
Detailed description is in the articles:
As for now, the trading system consists of trading agent(s) and telegram bot. Telegram bot is used for receiving mobile notifications on transactions and critical events.
Folder structure in the order of dependency and corresponding parts of the framework:
.
├── connectors # Library for trading/data provider connectors
│ └── bybit # ByBit connector for the futures market
│ └── tests # Tests for the ByBit connector
├── agent # Base classes and helpers for trading agents
│ ├── tests # Tests for base classes and helpers
│ ├── indicators # Technical indicators for agent analyzers
│ └── agents # Agent implementations
│ └── analyzers # Analyzer implementations
├── constants # Common constants for the entire system
├── log # Logging classes and helpers
│ └── tests # Tests for the logging module
├── proto # Protocol Buffers for inter-service queues
├── tgbot # Telegram bot integration
│ └── tests # Tests for the Telegram bot
Currently, one sample agent for ByBit futures market is implemented and ready to run. What do you need before the first run:
- Compile Protocol Buffers files
- Set options in agent/agents/mean_reversal_oneway_bybit/params.yml
- Make a dedicated account on ByBit, create API keys and add public API key with name API_KEY and private API key with name API_SECRET to keyring under service with name specified in params.yml/keyring_service
- Setup Telegram Bot
- Run tgbot/main.py
- Run agent/agents/mean_reversal_oneway_bybit/main.py
Now you the agent is working, and you can watch for its work in ByBit GUI and with messages in the Telegam bot. Also logging in terminal and agent/agents/mean_reversal_oneway_bybit/agent.log are available.
If you want to participate in the project, please contact me to discuss details.