Skip to content

Latest commit

ย 

History

History
79 lines (59 loc) ยท 2.64 KB

File metadata and controls

79 lines (59 loc) ยท 2.64 KB

๐Ÿ“ˆ Stock Portfolio & Market Monitor

This is a full end-to-end cloud-based data pipeline project that tracks the performance of my personal stock portfolio and trends in the Australian stock market. It fetches live data, stores it in the cloud, analyses trends (like moving averages and dividends), and enables visual exploration in Power BI.


๐Ÿง  Project Goals

๐Ÿ”’ My Share Portfolio

  • Track how my personal stocks are performing over time
  • Calculate performance based on:
    • Growth over time
    • Comparison against market indices (ASX200, All Ordinaries)
  • Monitor dividends
    • Dividends paid: value, frequency, and averages
    • Forecast next dividend dates
  • Design logic to eventually trigger alerts for:
    • Large variances from moving averages
    • Upcoming dividend payouts
    • Recently paid dividends

๐Ÿ“Š The Wider Market

  • Monitor Australian stock indices (e.g. ^AXJO, ^AORD)
  • Calculate Exponential Moving Averages (EMA) for trend detection
  • Trigger alerts for:
    • Large variances from moving averages

๐Ÿ› ๏ธ Tech Stack

Tool Purpose
yfinance Fetches historical stock data via Yahoo Finance API
pandas Cleans and transforms financial data
SQLAlchemy Connects Python to the PostgreSQL database
Neon Cloud-based PostgreSQL database for storing stock data
GitHub Actions Automates scheduled data refresh jobs
Power BI Creates interactive dashboards to visualise portfolio and market trends

๐Ÿ”„ Workflow

  1. Data Ingestion

    • A scheduled Python script (via GitHub Actions) pulls daily stock data using yfinance
    • Includes personal stocks, ASX 200 (^AXJO), and All Ords (^AORD)
    • Calculates EMA
  2. Data Storage

    • Cleaned data is written to a PostgreSQL database hosted on Neon
    • A watermark strategy ensures only new data is inserted (no duplicates)
  3. Data Analysis

    • EMA logic highlights moving average trends
    • Dividend tracking answers questions like:
      • When are dividends paid?
      • Whatโ€™s the average payout?
      • Whatโ€™s the dividend frequency?
  4. Data Visualisation

    • Power BI dashboards surface insights like:
      • Personal stock performance vs. market indices
      • Dividend history

๐Ÿ”œ Next Steps

  • Add CPI data from an Australian source (e.g. ABS or RBA APIs)
  • Build alerting system (email or Power Automate)
  • Explore ETF tracking and diversification metrics

๐Ÿ“ฌ Contact

Built by Paul
For questions or ideas, feel free to open an issue or reach out.