Competitive programmer · Singapore

Zheyuan
Yu

  • Codeforces Grandmaster (2488)
  • USACO Platinum, perfect scorer
  • Code Jam & Hacker Cup Top 50
  • USAMO Qualifier

Quant research intern at MS Capital · Cambridge CS this autumn · open to quant internships

  1. Olympiads
  2. GNN research
  3. Huawei
  4. MS Capital
  5. quantnews
  6. Cambridge
01About

About

I'm starting Computer Science at Cambridge this year. Most of my time so far has gone to competitive programming and a graph-neural-network research project; more recently to computer vision at Huawei and quantitative research at MS Capital, where I read the literature and test the strategies myself.

Education

  • University of Cambridge

    BA Computer Science, St John's College

    2026 – 2029 · United Kingdom

  • NUS High School of Math and Science

    Honors in Mathematics; Majors in CS, Physics, Chemistry

    2020 – 2023 · Singapore

Portrait of Zheyuan Yu
02Projects

Three projects: two public and independently checkable (one runs in your browser), one private.

market-gnn

Public · CI passing2026

Does a stock-relationship graph add signal? Twelve leak-controlled experiments.

Twelve pre-registered experiments on whether a stock-relationship graph adds out-of-sample signal — as a correlation proxy and as a real economic link (SEC 13F institutional co-holding), with zero-parameter reads, a GNN-vs-matched-MLP A/B, and a learned temporal model. The answer is mostly no, measured so it can be trusted: every null is powered, every positive is stress-tested. 91 tests, CI green.

  • Nothing is taken on faith: point-in-time everything, purged walk-forward, HAC/FDR statistics with a minimum-detectable-effect next to every null — and planted-signal recoveries proving the pipeline detects exactly what each experiment claims to test before any real-data null is believed.
  • Return alpha: null everywhere. The correlation proxy and the genuine 13F co-holding link (built from the raw SEC filings, filing-lag PIT) are both powered nulls (co-holding IC +0.012 vs MDE 0.025), for a zero-parameter read and a learned GConvGRU alike. Risk too: a graph-structured covariance ties Ledoit–Wolf (graphical lasso 0.98×, n.s.) — no edge for the minimum-variance portfolio.
  • The one positive respects its own pre-registered ceiling: neighbours' vol innovations carry FDR-significant information about forward volatility along the co-holding topology (+0.038, t 2.65, rewire-clean) — reported as information travelling with the topology, never causal spillover, because shared factor-vol exposure is observationally equivalent by design.
  • It demotes its own best result: the López-de-Prado battery (CSCV over the config grid, PBO 0.437 ≈ noise; deflated Sharpe 0.74) downgrades the short-term-reversal control from “real signal” to “association, not a strategy — even gross.” REVIEW.md logs every bug adversarial review caught along the way, including a headline number that turned out to be a linear-algebra artifact.
  • Python
  • PyTorch
  • GraphSAGE · GConvGRU
  • SEC 13F
  • NumPy · pandas
  • GitHub Actions (CI)
View source on GitHub ↗

Clone it and run the tests — the leak controls are verifiable, not claimed.

Method

  1. Point-in-time graph

  2. purged walk-forward

  3. HAC + FDR + MDE

  4. planted-signal recovery

  5. PBO / deflated Sharpe

orderbook

Public · CI · 2026

A low-latency matching engine in C++ — that you can run in your browser.

A header-only, price-time-priority limit order book (limit / market / IOC / FOK), with zero engine allocations on the hot path after sized construction, verified by differential fuzzing against a naive reference — and validated against NASDAQ itself by replaying a full TotalView-ITCH day through it. Compiled to WebAssembly, the same engine runs a live simulated market in the browser — and two quant applications on top of it: an execution / transaction-cost lab and an automated market maker.

  • C++20
  • WebAssembly
  • Emscripten
  • TypeScript
  • GitHub Actions (CI)

quantnews

Private · 2026

News-driven systematic equity signals.

A systematic equity trading system. It reads news and filings, turns them into ranked, risk-checked trade ideas, and tracks which ones I actually took and how they turned out.

  • Python
  • SQLite
  • Anthropic API
  • SEC EDGAR
  • yfinance
  • GitHub Actions

Code private; a personal research system.

03Work

Four roles, from teaching contest algorithms to quant research.

  1. MS Capital

    Apr 2026 – Present · Singapore

    Quantitative Research Intern

    • Researched factor momentum: pulled strategies from the academic literature, implemented them, and backtested out of sample to see which held up.
    • Engineered features from raw market data and evaluated signals on held-out periods, controlling for lookahead and overfitting.
    • Built the agent pipelines that made the whole research loop repeatable, from raw data to backtest.
    • Factor momentum
    • Backtesting
    • Feature engineering
    • AI agents
  2. Huawei Singapore

    Jan 2026 – Mar 2026 · Singapore

    Computer Vision Algorithm Engineer Intern

    • Built models to pull regions of interest out of images under tight compression limits.
    • Looked into the trade-off between latent-space regularization and reconstruction quality in generative models.
    • Put together a hybrid VAE and reinforcement-learning setup for adaptive image compression.
    • VAE
    • Reinforcement learning
    • Image compression
    • PyTorch
  3. Temasek International

    Oct 2023 – Dec 2023 · Singapore

    Data Analytics Intern

    • Analyzed financial datasets with SQL and Tableau to surface trends for the investment team.
    • Built dashboards adopted by senior analysts for portfolio reporting.
    • Presented findings to stakeholders to inform investment decisions.
    • SQL
    • Tableau
    • Dashboards
    • Financial analysis
  4. NUS December Course

    Nov 2022 – Dec 2022 · Singapore

    Lecturer

    • Wrote the curriculum and original contest problems for 100+ of the country's top students.
    • Ran workshops on algorithms, data structures, and problem-solving with the other lecturers.
    • Teaching
    • Curriculum
    • Competitive programming
04Awards

The competitive record.

Programming and olympiad maths. The top ones link out so you can check them.

Competitive Programming

Codeforces GrandmasterRating 2488Verify ↗USACO PlatinumPerfect scorer, Dec 2022Verify ↗
Google Code JamTop 50 worldwide, 2022
Meta Hacker CupTop 50 worldwide, 2022
National Olympiad in Informatics, SingaporeGold 2021 & 2022, Third Runner-Up 2023
Asia-Pacific Informatics OlympiadSilver 2023, Bronze 2022

Mathematics

USA Mathematical OlympiadQualifier, 2021
USA Junior Mathematical OlympiadQualifier, 2020
Singapore Mathematical Olympiad, OpenTop 10, 2020
Singapore Mathematical OlympiadGold, 2020–2022

Scholarships

Tay Eng Soon ScholarshipNUS High School
Edusave Scholarship for Independent Schools
05Research

2022 · Unpublished research

Optimizing Longest Simple Path with Machine Learning

Karimi Zayan, Zheyuan Yu, Tia Shi Wei. Mentored by Rishabh Anand and Ng Chee Loong, NUS High School.

The longest simple path problem is a classic NP-complete problem, with applications from circuit-board design to robotics. We approximate it on general undirected, unweighted graphs by training a GraphSAGE graph neural network to score each edge on its likelihood of lying on the longest path, then running beam search over those scores to construct the path.

  • Trained a GraphSAGE GNN to classify edges by their probability of belonging to the longest simple path, using adjacency-matrix eigenvectors as node features and a weighted loss to correct dataset bias.
  • Drove beam search with the product of predicted edge weights, keeping the top candidates at each extension step.
  • Generalized beyond the training distribution: trained on 20-vertex graphs, evaluated on graphs up to 200 vertices.
View source on GitHub

Results

Our GNN0.977
Genetic algorithm, 20100.971

performance ratio, higher is better. +0.6 points over the 2010 baseline. Axis zoomed to 0.950.98.

99.6%edge-classification accuracy on small graphs

Trained on 20-vertex graphs, the model still finds near-optimal paths on graphs up to 200 vertices, generalizing well beyond its training size, and edges a 2010 genetic-algorithm baseline.