Mathematics & Computer Science

Angelo Rizzieri

I am a math and computer science student at the University of Chicago, a software engineer at Armatus Capital, and a mathematics researcher.

Chicago, Illinois

Interactive Fig. 01
Circular billiards5 reflections

A rational turn closes the orbit after 5 reflections. The same path repeats.

From my work in dynamical systems

01 Research

  1. Billiards, Dynamics, and Geometry

    Work in progress

    REU in Topological Dynamical Systems, advised by Dr. Tina Torkaman, with Charlotte Zelin, Summer 2026

    An expository paper on how the geometry of a table shapes a billiard's trajectory, from circular and polygonal tables to translation surfaces and the illumination problem.

    A closer look at the mathematics

    For a circular table, the orbit is periodic when the angle between successive impact points is a rational multiple of 2π; otherwise, those impact points are dense on the boundary. On the torus we use Weyl equidistribution to prove a trajectory of irrational slope meets a region in proportion to its area. We then code trajectories as infinite words, prove the Morse-Hedlund classification, and show an irrational slope gives complexity k+1, so the coding is Sturmian. The last sections construct translation surfaces from polygons glued in parallel pairs, define the SL(2,R) action and the Veech group, and take up the illumination problem following Hubert, Schmoll, and Troubetzkoy.

  2. Feasibility Bound for the Invariant-Based Rank-1 OCRS in the Adversarial Order Model

    Algorithmic Game Theory, advised by Dr. Ishan Agarwal, August 2025

    α ≤ ½The bound is tight, and a
    known construction reaches it.

    An online contention resolution scheme decides item by item, and permanently, whether to accept what arrives. I proved that in the rank 1 matroid setting with adversarial ordering, feasibility forces the selection guarantee to α ≤ ½. Combined with the known construction that achieves ½, this pins the scheme at exactly ½ selectable. Every active item gets a 50% chance of acceptance, and no scheme of this form does better.

02 Selected projects

  1. TRACE

    January 2026

    Explains why a stock moved

    A scoring model with eight factors, built on data from six financial APIs. It constructs and ranks causal graphs that explain a stock's price movement on a given day. FastAPI backend, React frontend, with results streamed to the browser as they are computed.

    RATE CUT EARNINGS BEAT SUPPLIER NEWS SEMIS RALLY SECTOR FLOWS NVDA +3.2%
    Each candidate cause is scored on eight factors. The graphs are then ranked by how much of the day's move they account for.
    • Python
    • FastAPI
    • React
    • Causal graphs
    • Streaming
  2. Site Memory

    2026

    Chrome extension, published on the Chrome Web Store

    Saves your text highlights and notes on any web page or PDF, then restores them automatically the next time you visit. Highlights re-anchor themselves, so they survive changes to the page. Everything is stored on your own device. No accounts, no syncing, no tracking.

    FIRST VISIT ON DEVICE NEXT VISIT
    The highlight is written to local storage, then re-anchored to the same text when you come back.
    • JavaScript
    • Chrome MV3
    • PDF.js
    • Local storage
  3. Google Drive Search Agent

    February 2026

    Answers questions about your documents

    An agent that searches Google Drive and answers questions about what it finds, across more than 10 file types. It runs a tool loop: search, open a file, read it, then repeat until it can answer. Caching the prompt and the tool results cut inference cost by about 90%, measured with an eval harness that scores each system prompt on token count and answer correctness.

    ANSWER QUESTION MODEL TOOL CALL DRIVE API tool result, repeat until it can answer
    The model picks a tool, reads the result, and repeats until it can answer.
    • Python
    • Anthropic API
    • Flask
    • OAuth
    • Prompt caching
    • Evals

    Not hosted online. Reading a visitor's Drive needs Google's restricted scope verification, so the agent runs locally with your own credentials. Setup steps are in the README.

  4. Do LLMs Sample Randomly?

    December 2025

    An experiment on how models pick numbers

    1,000 API calls testing whether a model gives a less biased number when asked to hide one inside a story, compared to asking for a number directly. Both methods fail a chi square test against a uniform distribution (p < 0.001), but the gap is large. Direct requests return 7 in 94.6% of samples, compared to 31.2% when the number is embedded in a story.

    How often the model chose 7
    Asked directly94.6%
    Inside a story31.2%

    Both prompts still favor 7.

    • Python
    • Chi square test
    • Experiment design
    • Matplotlib

03 Experience

  1. Armatus Capital

    Software Engineering Intern, LLM Infrastructure and Data Platform

    July 2026 to Present
    • Built and deployed a financial analytics platform with over 3,400 automated tests. It turns daily market data for over 3,200 equities into six visualization tools used daily by a portfolio manager.
    • Mined 3,152 SEC filings into a knowledge graph of 2,390 supply-chain relationships.
    • Cut LLM pipeline latency from 14 minutes to under 5 without increasing the request rate, using a shared pacer and concurrent processing.
    • Modeled inference costs across 21 production runs and uncovered a cache-key issue that had prevented reuse of a 170,000-token prompt prefix.
    • Cut false positives in a market-signal detector from 3.8 per day to 0.03 per day, and built a 30-rule gate that checks every model-generated claim against its source.
  2. University of Chicago

    Researcher (REU), Topological Dynamical Systems

    June to September 2026
    • Studying illumination problems in mathematical billiards and Veech surfaces under Dr. Tina Torkaman.
  3. University of Chicago

    Researcher, Algorithmic Game Theory

    June to September 2025
    • Proved a tight optimality bound for online contention resolution schemes on rank 1 matroids, a framework used in auction design and online pricing under uncertainty.
    • Constructed a matching algorithm that achieves the bound, confirming that 50% acceptance probability is exactly optimal under adversarial ordering.
  4. Maroon Capital

    Analyst, UChicago quantitative finance and trading club

    October 2025 to Present
    • Developed a systematic trading strategy that placed 1st out of 13 teams in the club competition.
    • Built a stock screener that uses regression on company fundamentals to flag potentially mispriced stocks.
  5. University of Chicago

    Course Assistant, Calculus I to III

    September 2025 to Present
    • Grade weekly problem sets for over 60 students per quarter.

04 Background

Education

University of Chicago

B.S. Mathematics and Computer Science, 2028

GPA 3.72 / 4.00

Honors Combinatorics, Real Analysis I to III, Probability, Abstract Linear Algebra, Systems Programming

Honors

  • Harvard Trading Competition
    3rd place, Jump Trading Challenge 2026
  • UChicago Hackathon
    Finalist 2026
  • PicoCTF
    135th out of 10,460 teams 2023 to 2025

Skills

Languages
Python, JavaScript, TypeScript, SQL, R, Java, C
Data and ML
NumPy, pandas, statsmodels, SciPy, PyTorch, HuggingFace Transformers
Tools
React, FastAPI, Flask, Node.js, REST APIs, LLM APIs, Vercel, Git, Linux, LaTeX

05 Contact

Get in touch.

I am looking for data science and quantitative research internships for summer 2027. Email is the best way to reach me.