🌐 Live Demo: dashboard.portfolio-analytics.click
A comprehensive portfolio management solution consisting of two main components:
- Real-time portfolio performance visualization
- Key metrics tracking (Sharpe ratio, drawdown, PnL)
- Currency conversion support
- Customizable time period analysis
- Portfolio management operations (create, list, delete)
- Market data integration for FX and Equity
- System health monitoring
- OpenAPI 3.1 compliant
The dashboard analyzes portfolio positions across multiple stock exchanges, accepting input data (csv, xlsx, parquet) in the following format:
Date | AAPL | ABBV | ... | SHEL.L | DHL.DE | BNP.PA |
---|---|---|---|---|---|---|
2018-01-01 | 52 | 79 | ... | 104 | 165 | 90 |
2018-01-02 | 122 | 95 | ... | 100 | 6 | 93 |
2018-01-03 | 86 | 199 | ... | 152 | 90 | 159 |
... | ... | ... | ... | ... | ... | ... |
2024-12-19 | 133 | 105 | ... | 39 | 187 | 78 |
Run application locally for development/CI
docker-compose up -d --build
Run the app in production
GIT_TAG=v0.1.28 ./run.sh
- Install dependencies:
python3.12 -m pip install poetry -U
poetry install --sync --no-interaction
- Start services:
python portfolio_analytics/dashboard/dashboard_main.py
python portfolio_analytics/api/api_main.py
- Add historical index constituents tracking via a point-in-time security master database
- Implement asynchronous pipeline execution with DynamoDB tracking
- Add paginated portfolio listing endpoints
- Migrate to S3 for blob storage
- Implement S3 pre-signed URLs for portfolio file operations
- Deploy containers to ECS or Kubernetes for improved scalability
- Implement automated pipeline scheduling system (Airflow). Currently relying on triggering the APIs manually.