lucas.pirvuti.com
Work About Contact Resume
Research Assistant @ Waterloo Statistics & Actuarial Science

Lucas Pirvuti

CS at Waterloo, Business at Laurier. Interested in quant trading and market structure.

View work → GitHub LinkedIn
geometric brownian motion · live
σ {{ sigmaLabel }}   μ {{ muLabel }}   paths {{ pathLabel }}
move your cursor to change volatility

Selected work

04
Aug — Sep 2026 Market microstructure

Limit Order Book Sim

Reconstructed a 10-level order book by replaying 455K Nasdaq ITCH messages, then validated it against the exchange's own book over 170K comparisons with zero mismatches on fully observed levels. Standard library only.

455K
ITCH messages
170K
Book comparisons
154
Tests
  • Fill simulator modelling real queue position across 5 latencies and 3 cancellation models
  • Measured passive quoting losing 0.8 cents per share against a 0.2 cent rebate
  • Latency cut the fill rate from 83% to 6% — the cost of being slow, quantified
Python (stdlib only) Nasdaq ITCH pytest
View repo ↗
Jul 2026 — present Quant research

LP Stock Signals

A chart-pattern scanner, backtester, and trade journal covering 92 tickers across five timeframes. I benchmarked the detectors against matched random-entry controls, found no edge, and said so in the README — the honest result became the point of the project.

11
Pattern detectors
92
Tickers scanned
160
Unit tests
  • Caught a backtest bug that scored trades which never opened, then retracted the conclusions it broke
  • Pooled thin per-symbol samples with empirical Bayes shrinkage, tuned on out-of-sample data
  • Strict-prefix windows so detectors never see the future; pessimistic fills throughout
  • Rate-limited market feed kept alive with request caching, retry backoff, and stale-value fallback
TypeScript Next.js 16 React 19 Tailwind v4 Yahoo Finance API
View repo ↗
Aug 2026 Numerical methods

Green Simulation Limits

Reproduced a 2022 Monte Carlo method that reuses samples across scenarios and confirmed its 100× error reduction — then found the advantage vanishes by eight dimensions once the density it depends on has to be estimated from data.

100×
Error reduction
8d
Breakdown point
2M
Validation draws
  • Error measured against a closed-form benchmark, itself checked on 2M brute-force Monte Carlo draws
  • Control estimators blind to the conditioning features confirmed dimensionality caused the loss
  • Negative result written up as the finding rather than tuned away
Python NumPy SciPy pytest
View repo ↗
Dec 2025 — Jan 2026 · Search & rescue

Waypoint

Built at DeltaHacks 2026 with a small team. A search-and-rescue simulator modelling 1000+ lost-hiker agents across five ISRID behaviour strategies over NASA SRTM terrain; I built the Monte Carlo engine, parallelised it with ProcessPoolExecutor, and served slope-adjusted heatmaps through async FastAPI.

1000+
Agents simulated
32
Parallel timesteps
Python FastAPI NumPy Rasterio Mapbox GL JS
Team repo ↗

Experience & education

Sep — Dec 2026

Undergraduate Research Assistant

University of Waterloo · Statistics & Actuarial Science
  • Likelihood-ratio methods for green nested simulation, supervised by Prof. Ben Feng
May — Aug 2026

Software Engineer Intern

CanDeal · Toronto, ON
  • Refactored the fixed income security master configurator and datastore for richer analytics, extending coverage across 7 instrument types — callables, amortizers, FRNs
  • Integrated a QuantLib-based C++ library for price, yield, and PV01/DV01 conversions
  • Rebuilt real-time security master synchronisation between source and target environments
  • Built Claude agent skills that configure complex FIX-based trade negotiation message flows
  • Rebuilt the observability layer on Grafana/Prometheus with custom TibcoRV event sources, monitoring pricing flows spanning 10M+ messages per day
Education
University of Waterloo
BCS, Computer Science
Sep 2025 — Apr 2029
Wilfrid Laurier University
BBA, Business Administration
Sep 2025 — Apr 2029

Double degree — CS and business, concurrently. Expected graduation 2029. Cumulative average 81% (3.7 GPA).

Euclid 2025 Honour Roll — top 2% of 27,000
President's Scholarship of Distinction
Qualified for the President's Research Award
Stack
languages
Java 21 · Python · TypeScript · SQL (MySQL, Postgres)
frameworks & libraries
Spring Boot · QuantLib · Vaadin · Next.js · React · FastAPI · Tailwind · NumPy · SciPy · Pandas
tools
Git · Maven · Grafana · Prometheus · TibcoRV · XML · Linux/Bash · Vim · pytest
concepts
Agile · FIX Protocol · Observability · Concurrency · Monte Carlo simulation

Looking for Summer 2027 SWE internships.

Happy to talk about simulation, market microstructure, or fixed-income systems. Fastest way to reach me is email.

lpirvuti@uwaterloo.ca ↗ LinkedIn ↗ GitHub ↗
© 2026 Lucas Pirvuti Toronto, ON