Projects

Applied work

Selected projects in quantitative finance and artificial intelligence. Code is available on GitHub.

Markowitz Mean-Variance Optimization

Python · Modern portfolio theory · Personal project

Portfolio Builder is a Python program that implements the principles of modern portfolio theory. It generates millions of random portfolio compositions across a chosen asset universe, then identifies the optimal portfolio according to the Markowitz mean-variance model.

Plotting every candidate portfolio in risk-return space traces out the efficient frontier, the boundary where no portfolio can achieve a higher expected return without taking on more risk.

  • Monte Carlo generation of millions of candidate allocations
  • Expected return, volatility, and Sharpe ratio computed for each portfolio
  • Optimal portfolio selection under the Markowitz model
Efficient frontier scatter plot produced by Portfolio Builder

Multi-Agent AI: Battlesnake

AI · Competitive programming · University of Victoria AI Club

Battlesnake is a competitive programming game where autonomous snake agents fight for survival on a shared board: eat food, avoid walls, and outlast opponents. Each agent is a live web server that must respond to every move request within strict time limits.

William's agent combined heuristic evaluation with search over the game state to balance food acquisition, space control, and opponent avoidance. It took 2nd place at the University of Victoria AI Club tournament.

  • Real-time decision making under strict latency constraints
  • Heuristic board evaluation and lookahead search
  • 2nd place finish in a live tournament setting
Battlesnake game board Battlesnake tournament scores showing 2nd place finish