We welcome contributions from the quantitative trading community.
git clone https://github.com/YOUR_USERNAME/AlgoStrategy.git
cd AlgoStrategy
pip install -r requirements.txtgit checkout -b feature/your-scanner-nameCreate a new file in scanners/ following this pattern:
"""
scanners/your_scanner.py
"""
import numpy as np
import pandas as pd
class YourScanner:
def __init__(self, connector=None):
self.connector = connector # IBConnector or None for offline
def scan(self, **kwargs):
"""
Returns: List[Dict] with keys:
- scanner: str (your scanner name)
- symbol: str
- signal: 'BUY' | 'SELL' | 'HOLD'
- confidence: float (0-1)
- details: str (human readable)
- metadata: dict (z-scores, prices, etc.)
"""
...- Test offline mode with historical data
- If you have IB access, test with paper trading (port 7497)
- Add unit tests in
tests/
- Clear description of the inefficiency being exploited
- Include backtest results if possible
- Document expected Sharpe ratio, win rate, and costs
- Cryptocurrency arbitrage (cross-exchange, funding rate)
- Volatility surface anomalies
- Earnings momentum / post-earnings drift
- Sector rotation signals
- Bond-equity relative value
- Commodity spread trading (crack spread, crush spread)
- Index rebalancing effects
- Better execution algorithms (adaptive TWAP, implementation shortfall)
- Machine learning signal combination
- Real-time risk monitoring enhancements
- Multi-timeframe analysis
- Transaction cost analysis (TCA)
- Python 3.10+
- Type hints encouraged
- Docstrings for public methods
- No hardcoded API keys or credentials
- All scanners must work in offline mode (yfinance fallback)
This software is for educational and research purposes. Trading involves substantial risk of loss. Past performance does not guarantee future results. Always use paper trading first.