Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Avhz RustQuant BlackScholes73 Model

From Leeroopedia


Knowledge Sources
Domains Option_Pricing, Equity_Options, Quantitative_Finance
Last Updated 2026-02-07 19:00 GMT

Overview

Concrete tool for Black-Scholes (1973) stock option pricing provided by the RustQuant library.

Description

The BlackScholes73 struct defines the parameter set for the original Black-Scholes (1973) stock option pricing model. This is the foundational case of the Generalized Black-Scholes-Merton framework where the cost of carry b equals the risk-free rate r, corresponding to a non-dividend-paying stock.

Under this model, the underlying stock price follows geometric Brownian motion with constant drift equal to the risk-free rate (under the risk-neutral measure) and constant volatility. The cost of carry equals the risk-free rate because holding a stock requires financing at rate r with no offsetting dividend income.

The struct stores three parameters:

  • s -- The current stock price.
  • r -- The risk-free interest rate.
  • v -- The volatility of the stock price.

The actual option pricing, Greeks, and implied volatility computations are provided by the shared Generalized Black-Scholes-Merton engine, which dispatches based on the s(), r(), and b() accessor methods.

Usage

Use the Black-Scholes 1973 model for pricing European options on non-dividend-paying stocks. It is the simplest and most well-known option pricing model, serving as a baseline for more complex models. For dividend-paying stocks, use the Merton73 model instead.

Code Reference

Source Location

Signature

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BlackScholes73 {
    s: f64,  // Stock price
    r: f64,  // Risk-free rate
    v: f64,  // Volatility
}

impl BlackScholes73 {
    pub fn new(s: f64, r: f64, v: f64) -> Self;
    fn s(&self) -> f64;  // Returns s (stock price)
    fn r(&self) -> f64;  // Returns r (risk-free rate)
    fn b(&self) -> f64;  // Returns r (cost of carry = risk-free rate)
}

Import

use RustQuant::models::BlackScholes73;

I/O Contract

Inputs

Name Type Required Description
s f64 Yes Current stock price.
r f64 Yes Risk-free interest rate.
v f64 Yes Volatility of the stock price.

Outputs

Name Type Description
s() f64 Returns the stock price s.
r() f64 Returns the risk-free rate r.
b() f64 Returns r (cost of carry equals risk-free rate for non-dividend stocks).

Usage Examples

use RustQuant::models::BlackScholes73;
use RustQuant::instruments::{BlackScholesMerton, TypeFlag};

// Create Black-Scholes 1973 model for a stock option
let model = BlackScholes73::new(
    100.0,  // stock price
    0.05,   // risk-free rate
    0.20,   // volatility (20%)
);

// The BlackScholes73 model parameters feed into the Generalized BSM pricer:
// s = 100.0, r = 0.05, b = 0.05 (b = r for non-dividend stocks)
// These are used by the shared GBS option pricing engine.

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment