Skip to content

raymond0208/global-stock-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stock Analysis Application

A comprehensive stock analysis and portfolio management tool built with Python and Streamlit. It provides real-time market data, technical and fundamental analysis, multi-currency portfolio tracking, macro-economic indicators, and exportable research reports.

Features

  • Markets — Live watchlist with index overview, scoring, and recommendations
  • Portfolio — Multi-currency portfolio tracker (SGD / HKD / USD) with P&L, allocation analysis, rebalancing suggestions, and performance charts
  • Stock Analysis — Per-stock deep-dive with technical charts, fundamental metrics, and Excel / PDF export
  • Macro Analysis — Fed Funds Rate, GDP, CPI, and PMI with a composite market sentiment score
  • Settings — API key management and feature flag toggles

Screenshots

Markets — Watchlist & Index Overview Markets page

Stock Analysis — Score, Charts & Metrics Stock Analysis page

Macro Analysis — Economic Indicators Macro Analysis page

Research Reports — PDF Export PDF Report

Quick Start

1. Clone the repository

git clone https://github.com/raymond0208/global-stock-analysis.git
cd global-stock-analysis

2. Create and activate a virtual environment

python -m venv venv
source venv/bin/activate        # macOS / Linux
venv\Scripts\activate           # Windows

3. Install dependencies

pip install -r requirements.txt

4. Configure API keys (optional)

Some features require external API keys. Copy the example config and fill in your keys:

Key Used for Where to get it
FRED API key Macro Analysis page fred.stlouisfed.org
Alpha Vantage key Alternative data source alphavantage.co

Enter keys directly in Settings inside the app, or store them in a local config file (excluded from git).

5. Run the application

streamlit run app.py

Open http://localhost:8501 in your browser.

Project Structure

global-stock-analysis/
├── app.py                        # Entry point
├── src/
│   ├── main.py                   # Navigation and session state
│   ├── components/
│   │   ├── stock_pool.py         # Markets page
│   │   ├── stock_analysis.py     # Stock Analysis page
│   │   ├── portfolio.py          # Portfolio page
│   │   ├── macro_analysis.py     # Macro Analysis page
│   │   └── settings.py           # Settings page
│   ├── models/
│   │   ├── stock_metrics.py      # Scoring and fundamental metrics
│   │   └── portfolio_metrics.py  # FX-aware portfolio calculations
│   └── utils/
│       └── storage_manager.py    # Persistent storage (JSON)
├── data/
│   └── portfolio.example.json    # Example portfolio record
├── docs/
│   └── user_guide.md
├── requirements.txt
└── README.md

Dependencies

See requirements.txt for the full list with pinned versions.

Documentation

For detailed usage instructions, see the User Guide.

Contributing

Contributions are welcome. Please open an issue first to discuss what you would like to change, then submit a Pull Request.

License

Licensed under the Apache License 2.0 — see the LICENSE file for details.

Disclaimer

This application is for informational purposes only. Nothing in it constitutes financial advice. Always conduct your own research and consult a qualified financial professional before making investment decisions.

About

A tool to quickly analyze listed company financial data for smarter investment decision.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages