A Python-based financial portfolio optimization tool leveraging Markowitz Mean-Variance Analysis and live AI news sentiment scoring.
(https://portfolio-optimizer-m29d.onrender.com/)
Portfolio-Optimizer/
│
├── app.py # Main Streamlit application
├── requirements.txt # Pinned Python dependencies
├── .gitignore # Git ignore file
├── .streamlit/
│ └── config.toml # Custom Streamlit theme configuration
│
├── data/
│ ├── __init__.py
│ └── nifty50.py # Nifty 50 constituents and sector mappings
│
└── news/
├── __init__.py
├── fetcher.py # RSS feed aggregator
├── macro.py # Macroeconomic event detection
└── sentiment.py # FinBERT sentiment analysis engine
- Create and activate a virtual environment:
python -m venv venv
venv\Scripts\activate- Install the required dependencies:
pip install -r requirements.txt- Run the Streamlit application:
streamlit run app.py- Open your browser and navigate to the local server address provided in the terminal (usually
http://localhost:8501).