This project is a stock notification and trading simualtor for the ASX. It is full integrated with Google Cloud Platform and Discord.

See on Github!

Extract, Transform, Load

Using a python wrapper for the Yahoo Finance API and a registry of listed companies from the ASX website, I developed an ingestion pipeline for ASX stock prices. Every 30 minutes, a Google Cloud Function is triggered to return the prices for all ASX stocks traded in the past 30 mins with a one minute granularity. This data is loaded into Google BigQuery and also to Google Cloud Storage for backup. This solution is fully automated.

Data Warehouse

A DBT project manages a data warehouse hosted in Google BigQuery. This allows easy data processing using SQL.

Price alerts

Another Cloud Function runs throughout the day to analytse the ingested stock prices and calculate pre-defined metrics. When a stock price meets certain conditions, a buy (or sell) alert is posted to a private Discord server:

Market Summaries

At the end of each trading day, a market summary is sent to Discord:

Trade simulator

A trade simulator has been developed. Users can execute simulated trades via a Discord server.

A Cloud Function scrapes these messages and loads them into the data warehouse where they are processed into siulated portfolios. At the end of each trading day, a portfolio report is posted into Discord to show gains and losses for each trader:

Work in progress!

There is so much more to do in this project!