Skip to content

MadisonMLi/Option-Pricer-Systems

Repository files navigation

Financial Modeling & Options Pricing System

A comprehensive web-based financial derivatives trading and valuation platform built with C# .NET Core and advanced Monte Carlo simulation techniques.

Project Overview

This project is an option pricing and portfolio management system developed for a Financial Modeling course. It demonstrates advanced quantitative finance concepts through practical implementation.

Core Components:

Monte Carlo Option Pricing Engine

  • 6 Option Types: European, Asian, Digital, Lookback, Range, and Barrier options
  • Advanced Simulation Techniques:
    • Box-Muller random number generation
    • Antithetic variance reduction
    • Control variates for improved accuracy
    • Multithreading for performance optimization

Comprehensive Risk Management

  • Greeks Calculation: Delta, Gamma, Vega, Theta, Rho
  • Real-time P&L Analysis
  • Portfolio valuation and risk assessment

Professional Trading Interface

  • 7-Step Workflow: Units → Exchanges → Markets → Underlyings → Derivatives → Trades → Valuation
  • Real-time option pricing with configurable parameters
  • Interactive web interface with Bootstrap styling

Robust Data Architecture

  • Entity Framework Core with PostgreSQL
  • Table-Per-Type inheritance for financial instruments
  • Normalized database design for scalability

Tech Skills

  • Back-end: C# .NET 6.0, ASP.NET Core Web API
  • Database: PostgreSQL with Entity Framework Core
  • Front-end: HTML5, CSS3, JavaScript, Bootstrap
  • Architecture: RESTful API, MVC pattern

Prerequisites

  • .NET 6.0 SDK
  • PostgreSQL database
  • Modern web browser

Installation

  1. Clone the repository
git clone https://github.com/MadisonMLi/financial-modeling.git
  1. Configure database connection in appsettings.json
{
  "ConnectionStrings": {
    "DefaultConnection": "host=localhost;Database=postgres;Username=postgres;Password=your_password"
  }
}
  1. Run database migrations
dotnet ef database update
  1. Start the application
dotnet run
  1. Navigate to http://localhost:5000 to access the web interface

How to use it?

Price a European Call Option

  1. Navigate to Units → Exchanges → Markets → Underlyings
  2. Create the underlying asset and market structure
  3. Go to Derivatives and select "European"
  4. Set strike price, expiration, and option parameters
  5. Create a trade in the Trades section
  6. Use Trade Valuation to get Monte Carlo pricing and Greeks

Risk Analysis

  • Configure simulation parameters (steps, simulations, variance reduction)
  • View real-time Greeks for portfolio risk management
  • Analyze P&L and market sensitivities

Configuration

Monte Carlo Parameters

  • Number of Simulations: 10,000 (default)
  • Time Steps: 100 (default)
  • Variance Reduction: Antithetic variates, Control variates
  • Multithreading: Enabled for performance

Market Parameters

  • Risk-free Rate: Configurable (default: 5%)
  • Dividend Yield: Configurable (default: 3%)
  • Volatility: Configurable (default: 20%)

About

A web-based financial derivatives trading and valuation platform. Built with C# .NET Core, and applied Monte Carlo simulation for accurate option pricing.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors