A comprehensive algorithmic trading platform for cryptocurrency and stock markets with backtesting and real-time trading capabilities.
Developed by Algoture
- Backtesting: Test your trading strategies on historical data
- Real-time Trading: Execute strategies in live markets
- Multiple Exchanges: Support for Binance, Bybit, Bitget, OKX, and more
- Data Feeds: Crypto and stock data feed support
- Portfolio Management: Advanced portfolio management tools
- Risk Management: Built-in risk management agents
- AI Agents: LLM-powered trading agents for sentiment analysis, valuation, and more
- Technical Indicators: Comprehensive technical analysis tools
pip install pyalgoturefrom pyalgoture import Strategy, BackTest, BacktestBroker, CryptoDataFeed
from datetime import datetime
class MyStrategy(Strategy):
def on_init(self):
# Initialize indicators and parameters
pass
def on_bar(self, bar):
# Your trading logic here
pass
# Create a data feed
datafeed = CryptoDataFeed(
code="BTCUSDT",
exchange="binance",
asset_type="SPOT",
start_date=datetime(2024, 1, 1),
end_date=datetime(2024, 12, 31),
interval="1d"
)
# Create a broker
broker = BacktestBroker(
balance=10000,
trade_at="close",
slippage=0.001
)
# Run backtest
backtest = BackTest(
feeds=[datafeed],
StrategyClass=MyStrategy,
broker=broker
)
backtest.start()Strategy- Base class for implementing trading strategiesOrchestrator- Main orchestrator for coordinating data feeds, strategies, and brokersContext- Stores shared data and common functions for trading operationsBroker- Base broker class for handling trading operationsDataFeed- Base class for market data feeds
BackTest- Backtesting orchestrator for testing strategies on historical dataRealTime- Real-time trading orchestrator for live market executionBackTestRapid- Fast backtesting orchestrator
BacktestBroker- Broker for backtesting scenariosRealtimeBroker- Broker for live trading
CryptoDataFeed- Cryptocurrency market data feedStockDataFeed- Stock market data feedCustomDataFeed- Custom data feed implementation
Binance:
BinanceClient- REST client for BinanceBinanceDataWebsocket- WebSocket client for market dataBinanceTradeWebsocket- WebSocket client for trading
Bybit:
BybitClient- REST client for BybitBybitDataWebsocket- WebSocket client for market dataBybitTradeWebsocket- WebSocket client for trading
Bitget:
BitgetClient- REST client for BitgetBitgetDataWebsocket- WebSocket client for market dataBitgetTradeWebsocket- WebSocket client for trading
OKX:
OKXClient- REST client for OKXOKXDataWebsocket- WebSocket client for market dataOKXTradeWebsocket- WebSocket client for trading
Indicator- Technical indicator calculationsBarGenerator- Generate OHLCV bars from tick dataBarManager- Manage and aggregate bar dataPatterns- Pattern recognition indicatorsEventEngine- Event-driven architecture engineFundTracker- Track fund performance and NAVPortfolioManager- Manage portfolio allocationsSignalMQ- Message queue for trading signalsNotificationSender- Send notifications for trading events
Agent- Main agent orchestratorBaseAgent- Base class for all trading agentsMarketDataAgent- Market data analysis agentSentimentAgent- Sentiment analysis agentValuationAgent- Asset valuation agentRiskManagementAgent- Risk management agentPortfolioManagementAgent- Portfolio management agentPricePatternAgent- Price pattern recognition agentQuantAgent- Quantitative analysis agentStatArbAgent- Statistical arbitrage agentLiquidityManagementAgent- Liquidity management agent
AlphaDataset- Dataset for alpha researchAlphaModel- Base class for alpha modelsAlphaStrategy- Strategy class for alpha researchAlphaLab- Lab environment for alpha researchLgbModel- LightGBM model implementationMlpModel- Multi-layer perceptron modelLassoModel- Lasso regression modelDoubleEnsembleModel- Double ensemble model
OrderData- Order informationTradeData- Trade execution informationPositionData- Position informationAccountData- Account informationBarData- OHLCV bar dataTickData- Tick dataInstrumentData- Instrument information
Side- Buy/Sell sideOrderType- Order types (Limit, Market, etc.)Status- Order/trade statusExchange- Supported exchangesAssetType- Asset types (Spot, Future, Option, etc.)PositionSide- Position sides (Long, Short)TimeInForce- Order time in force
FilesystemDatabase- File-based databaseMysqlDatabase- MySQL database (lazy import)DuckdbDatabase- DuckDB database (lazy import)SqliteDatabase- SQLite database (lazy import)
Statistic- Statistical analysis and performance metrics
For detailed documentation and API reference, please visit the project repository.
- Python >= 3.8
- See
pyproject.tomlfor full list of dependencies
MIT License - see LICENSE file for details
Contributions are welcome! Please feel free to submit a Pull Request.
For issues and questions, please open an issue on GitHub.
Algoture - Advanced Algorithmic Trading Solutions