SDSC 2005 · Introduction to Computational Social Science · City University of Hong Kong
An early warning system for US visa-issuance surges that fuses 170k+ news articles, Google Trends interest and real exchange-rate signals across 15 origin countries into one panel. News is embedded, clustered and labelled on quantized TensorRT engines, and a horizon-aware ensemble forecasts surges one to six months ahead.
Streamlit and Plotly dashboard with LLM-backed signals
Fuses ten years of NVDA price history with 7,000+ collected news articles into sentiment-driven signals, technical overlays and hypothetical trade analysis. Sentiment runs through FinBERT and VADER, the technical layer through the indicators-cli package, and the narrative layer through an LLM.
Open-source command-line tool, published on PyPI
Fetches historical prices from Yahoo Finance and computes nine technical indicators across four timeframes, for one ticker or a batch, writing CSV, JSON, Parquet or Excel. Packaged, documented and released on PyPI, and reused as a dependency by the stock dashboard.
Open-source Kubernetes and Kafka deployment
Live IoT sensor data is scarce and usually paywalled. This project replaces it with a configurable Rust producer/consumer fleet on Kafka, deployed to Kubernetes through ConfigMaps, so a simulation can be scaled to any stream rate and wired into other microservices.
Tracked, reproducible classification experiments
An end-to-end pipeline over 5,574 labelled SMS messages that compares five classifiers, with every run's hyperparameters, metrics and artefacts tracked in MLflow. The best model separates scams at 94% accuracy with a low false-positive rate.
GE2260 · Introduction to Finance · City University of Hong Kong
Constructs a 60/40 fixed-income and growth portfolio from five years of price history, then locates the efficient frontier with Markowitz mean-variance optimization and 20,000 Monte Carlo paths. The growth sleeve prices 18.3% expected annual return at 11.5% volatility, and the blended portfolio is projected to beat the S&P 500 on return and drawdown alike.
Research projects with a paper are listed under publications; everything else I have built in the open lives on GitHub.