Rasheed
Khoshnaw

Software Engineer

Black-Scholes Option Pricer

Project Overview

Deployed Site: https://black-scholes-pricer.streamlit.app/

GitHub Repo: https://github.com/gitRasheed/black-scholes-pricer-streamlit/tree/main


I developed a comprehensive Black-Scholes option pricing tool using Python and Streamlit. This interactive web application allows users to price options, visualize Greeks, and analyze option strategies in real-time.

Key Features

  • Real-time Data Integration:

    • Utilizes yfinance for fetching current stock prices upon entering a stock ticker.

    • Integrates with FRED API to dynamically retrieve risk-free rates based on option maturity.

  • Dynamic Option Pricing: Calculates prices for both call and put options using the Black-Scholes model.

  • Responsive Parameter Updates:

    • Automatically updates option details when a new stock ticker is entered.

    • Adjusts the risk-free rate when the time to maturity is changed, using the closest matching Treasury rate from FRED.

  • Greek Calculations: Computes and displays key option Greeks (Delta, Gamma, Vega, Theta, Rho) for comprehensive risk analysis.

  • Interactive Visualizations:

    • Heatmaps showing option prices and PnL across different stock prices and volatilities.

    • Profit/Loss charts for visual analysis of option strategies.

  • Customizable Parameters: Users can adjust stock price, strike price, time to maturity, volatility, risk-free rate, and dividend yield.

Technical Highlights

  • Frontend: Built with Streamlit for a responsive and interactive user interface.

  • Backend: Implemented in Python, leveraging NumPy for numerical computations and Pandas for data manipulation.

  • Data Visualization: Utilized Plotly for creating dynamic and interactive charts.

  • API Integration:

    • Incorporated yfinance for real-time stock data fetching.

    • Integrated FRED API for dynamic risk-free rate retrieval based on option maturity.

  • Version Control & CI/CD: Implemented a GitHub Actions pipeline for continuous integration and deployment.

  • Code Quality: Utilized Ruff for linting and formatting to maintain high code quality standards.