Skip to content

RazerArdi/JPMorgan-Chase-Quantitative-Research-Virtual-Experience

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JPMorgan Chase Logo

JPMorgan Chase Quantitative Research Virtual Experience

A comprehensive portfolio of quantitative modeling tasks ranging from commodity pricing mechanisms to credit risk assessment and algorithmic quantization.

Python Version Domain Libraries Framework Status

📖 Project Overview

This repository contains the solutions for the JPMorgan Chase Quantitative Research Virtual Experience. The project simulates real-world tasks encountered by quantitative researchers and risk analysts at a top-tier investment bank.

The work is divided into two primary domains:

  • Commodities Trading: Developing pricing models for natural gas storage contracts using seasonality analysis and extrapolation.
  • Retail Banking Risk: Constructing predictive models for loan default probability (PD) and optimizing credit score quantization using Dynamic Programming.

📂 Repository Structure

📦 ROOT
 ┣ 📜 JP-Morgan-Chase-Emblem.png      # Project Logo
 ┣ 📂 Dataset                          # Input Data Sources
 ┃ ┣ 📜 Nat_Gas.csv                    # Task 1 Data
 ┃ ┣ 📜 Nat_Gas2.csv                   # Task 2 Data
 ┃ ┣ 📜 Task 3 and 4_Loan_Data.csv
 ┃ ┗ 📂 Task4
 ┃   ┗ 📜 Task 3 and 4_Loan_Data.csv
 ┣ 📂 ExampleORIGIN                    # Reference documentation from JPMC
 ┣ 📂 Task                             # Computational Notebooks (Source Code)
 ┃ ┣ 📓 Task1.ipynb                    # Price Analysis & Extrapolation
 ┃ ┣ 📓 Task2.ipynb                    # Contract Pricing Model
 ┃ ┣ 📓 Task3.ipynb                    # Credit Risk Analysis (PD/EL)
 ┃ ┗ 📓 Task4.ipynb                    # FICO Score Quantization
 ┗ 📜 README.md

🛠️ Module Breakdown

Task 1: Natural Gas Price Analysis

Quantitative Research | Commodities Desk

Objective: To extrapolate monthly snapshots of natural gas prices to provide a granular, daily price estimate for future dates, enabling accurate contract pricing.

Methodology:

  • Utilized historical monthly data (2020-2024)
  • Implemented a regression model combining Linear Trend (for long-term inflation/drift) and Sinusoidal Functions (to capture seasonal winter/summer oscillations)
  • Used scipy.optimize.curve_fit for non-linear least squares optimization

Outcome: A robust function capable of estimating gas prices for any arbitrary date in the past or future (extrapolation).


Task 2: Commodity Storage Contract Pricing

Quantitative Research | Commodities Desk

Objective: To prototype a valuation model for a natural gas storage contract, allowing the trading desk to quote prices to clients based on injection/withdrawal strategies.

Methodology:

  • Developed a GasStorageContract class to simulate cash flows
  • Valuation Logic: Value = Σ(Sales) - Σ(Purchases) - Σ(Storage Costs) - Σ(Injection/Withdrawal Costs)
  • Implemented logical constraints for maximum storage capacity and daily rate limits
  • Assumed zero interest rates and negligible transport delays for the prototype

Outcome: A pricing engine that outputs the Net Present Value (NPV) of a specific storage strategy.


Task 3: Credit Risk Analysis

Risk Management | Retail Banking

Objective: To build a predictive model estimating the Probability of Default (PD) for personal loans and calculate the Expected Loss (EL).

Methodology:

  • Analyzed borrower characteristics (Income, Total Debt, FICO, etc.)
  • Modeling: Trained and compared Logistic Regression (for interpretability) and Random Forest Classifiers (for non-linear accuracy)
  • Risk Metric: Calculated Expected Loss using the formula: EL = PD × EAD × LGD (assuming 10% Recovery Rate)

Outcome: A machine learning pipeline that flags high-risk loans and quantifies financial exposure.


Task 4: FICO Score Quantization (Bucketing)

Risk Management | Retail Banking

Objective: To discretize continuous FICO scores into categorical "Ratings" (Buckets) to optimize the performance of downstream risk models.

Methodology:

  • Formulated the bucketing process as an optimization problem maximizing the Log-Likelihood of default prediction
  • Implemented a Dynamic Programming algorithm to find the optimal boundaries for k buckets
  • Mapped FICO ranges to a standardized Rating scale (Rating 1 = Lowest Risk)

Outcome: An optimal mapping table that summarizes credit risk while minimizing information loss.


📜 License & Usage

License: MIT

MIT License

Usage Rights: This repository contains code developed for educational simulation purposes. It may be used for academic review and personal portfolio demonstration.


🤝 Contribution & Feedback

This project represents a simulation of tasks performed within the Quantitative Research division. For technical inquiries or collaboration regarding the modeling approaches used, please feel free to contact the author.


⚖️ Disclaimer: This project is a virtual experience simulation. The data provided is synthetic or anonymized for educational purposes and does not represent actual proprietary data of JPMorgan Chase & Co. The models are prototypes and should not be used for actual financial trading or risk assessment without further validation.

Releases

No releases published

Packages

 
 
 

Contributors