A comprehensive portfolio factor analysis and risk management tool with Interactive Brokers (IBKR) integration. Built for professional portfolio management with institutional-grade analytics.
- Factor Analysis: Fama-French factors, momentum, value, quality, and custom factor definitions
- Portfolio Optimization: Mean-variance, risk parity, volatility targeting, and Black-Litterman
- Risk Management: Covariance estimation, risk decomposition, and hedging strategies
- IBKR Integration: Live data feeds, position management, and trade execution
- ETF Replication: Factor-based hedging using liquid ETFs
- Responsive web interface optimized for desktop and mobile
- Real-time portfolio analysis and optimization
- Interactive factor exposure visualization
- ETF-based hedging recommendations
- Multiple data sources: IBKR live data, custom tickers, manual input, demo data
- Install dependencies:
pip install -r requirements.txt- Configure environment variables:
cp .env.example .env
# Edit .env with your settings# Run the dashboard
python -m factorlab.ui.dashboard
# Access at http://localhost:8052from factorlab import fetch_prices, optimize_portfolio, run_backtest
# Fetch data
prices = fetch_prices(['AAPL', 'MSFT', 'GOOGL'], '2020-01-01', '2023-01-01')
# Optimize portfolio
weights = optimize_portfolio(returns, cov_matrix, objective='max_sharpe')
# Run backtest
results = run_backtest(weights, prices, start_date, end_date)factorlab/
├── data/ # Data ingestion and processing
├── factors/ # Factor definitions and calculations
├── risk/ # Risk models and covariance estimation
├── optimize/ # Portfolio optimization algorithms
├── sizing/ # Position sizing methods
├── hedging/ # ETF replication and hedging
├── backtest/ # Backtesting engine
├── ui/ # Web dashboard
└── utils/ # Utilities and helpers
factorlab.data.ingest- Fetch prices and factor datafactorlab.factors.definitions- Calculate momentum, value, quality factorsfactorlab.optimize.solvers- Portfolio optimization algorithmsfactorlab.risk.cov- Covariance estimation and risk decompositionfactorlab.hedging.etf_replication- ETF-based hedging strategiesfactorlab.backtest.engine- Strategy backtesting
FactorLab supports live integration with Interactive Brokers:
- Install and run IBKR TWS or Gateway
- Enable API connections in TWS
- Configure connection settings in
.env - Use live data mode in the dashboard
- Python 3.8+
- Interactive Brokers TWS/Gateway (optional, for live data)
- Market data subscriptions (for comprehensive factor data)
MIT License - see LICENSE file for details.