Case study · Open source · Python
Carry Trade Research Model
A college finance experiment that grew into a documented research system with explicit data provenance, validation, APIs, and a frontend dashboard.
Context
I started the project as a finance major before modern coding agents existed. A rough carry-trade experiment grew as I learned to build data pipelines, model validation, APIs, and frontend systems.
Problem
Market-data demos often blur live inputs, derived signals, and invented fallback values. This public version needed to make those boundaries visible while keeping the system runnable with free data sources.
Approach
The project collects FX data, reads optional macro and news inputs, exposes a Flask API, and presents the available results in a React and TypeScript dashboard.
- Yahoo Finance and public exchange-rate endpoints provide free FX inputs where available.
- News, macro, predictions, and performance stay empty when their required source is missing.
- Time-series checks test for leakage, no-skill behavior, and recovery of planted signals.
Implementation
The current code separates API routes, data providers, collectors, modeling experiments, dashboard integration, and paper-only trading research. Compatibility wrappers keep the original entry points usable while the canonical implementation lives under src/carry_trade.
Tradeoffs and limitations
This is a research and portfolio project, not a trading product. Free data has coverage and reliability limits, older scripts remain for historical context, and model outputs should not be treated as investment advice.
What it demonstrates
The repo shows the progression from a finance idea to a more disciplined software artifact with provenance, fallbacks, tests, documentation, and a usable dashboard contract.