Skip to content

GeorgeCurioso/quant-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QuantCore

🚀 Short Intro

QuantCore is a personal quant platform where I publish finance-focused projects in a clean and modular way. Right now, the active project is a fixed income analytics app that loads predefined bond portfolios from CSV files, computes core portfolio metrics, and exposes them through a FastAPI backend with a React dashboard.

🛠 Technologies Used

  • Python
  • FastAPI
  • Pytest
  • React
  • Vite
  • Tailwind CSS
  • Recharts
  • CSV-based local datasets

✨ Features

  • Modular full-stack structure with separate backend, frontend, and tests
  • Fixed income analytics for zero-coupon and fixed-rate bonds
  • Portfolio market value, yield, duration, and convexity calculations
  • Aggregated cashflow generation and visualization
  • Preloaded portfolio profiles: conservative, mid, and aggressive
  • REST API endpoints for health checks, bonds, positions, and portfolio summaries
  • Dashboard with portfolio summary cards, cashflow chart, bonds table, and positions table
  • Test coverage for models, loaders, engines, and API routes

👤 What Users Can Do

  • Open the platform and navigate to the available quant projects
  • Enter the Fixed Income module
  • Review the bond universe loaded from local CSV data
  • Inspect portfolio positions and total market exposure
  • Visualize projected cashflows over time
  • Analyze key fixed income risk and return metrics from the dashboard

🧠 The Process — How I Built It

This project is structured as a growing quant workspace rather than a single isolated app.

  • Built a FastAPI backend around domain models such as Bond, Position, and Portfolio
  • Added loaders to transform CSV data into validated objects
  • Implemented bond and portfolio engines for analytics like YTM, duration, convexity, and cashflows
  • Exposed the analytics through focused API routes
  • Built a React frontend to consume the API and present the results in a simple dashboard
  • Added automated tests to validate business logic and route behavior

📚 What I Learned

  • How to structure a quant project with clear separation between data, models, services, schemas, and routes
  • How to model fixed income instruments in code and derive portfolio-level metrics from them
  • How to connect a Python API to a React dashboard in a clean way
  • How to validate finance-related logic through focused unit and integration tests

🚧 Next Steps

QuantCore is evolving from a fixed-income analytics tool into a fully modular quantitative platform. Upcoming developments include:

  • Integrate yield curve modeling and replace YTM-based valuation with interpolation and discount factor frameworks
  • Transition from static CSV inputs to real-time data ingestion via external APIs
  • Generate synthetic portfolios using Monte Carlo-style simulations for testing and analysis
  • Enrich bond data with additional attributes (day count convention, currency, issuer, credit rating)
  • Introduce portfolio optimization techniques to improve risk-return profiles and alpha generation
  • Implement multi-user support and deploy the platform to AWS for scalability

▶️ How to Run the Project

Clone the repository:

git clone https://github.com/GeorgeCurioso/quant-core.git

Go into the project folder:

cd quant-core

Install backend dependencies:

pip install -r backend/requirements.txt

Run the backend:

uvicorn backend.app.main:app --reload

Install frontend dependencies:

cd frontend
npm install

Run the frontend:

npm run dev

Run the tests from the project root:

python -m pytest tests

Releases

No releases published

Packages

 
 
 

Contributors