QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
BlackCalculator Class Reference

Black 1976 calculator class. More...

#include <ql/pricingengines/blackcalculator.hpp>

+ Inheritance diagram for BlackCalculator:

Public Member Functions

 BlackCalculator (const ext::shared_ptr< StrikedTypePayoff > &payoff, Real forward, Real stdDev, Real discount=1.0)
 
 BlackCalculator (Option::Type optionType, Real strike, Real forward, Real stdDev, Real discount=1.0)
 
Real value () const
 
Real deltaForward () const
 
virtual Real delta (Real spot) const
 
Real elasticityForward () const
 
virtual Real elasticity (Real spot) const
 
Real gammaForward () const
 
virtual Real gamma (Real spot) const
 
virtual Real theta (Real spot, Time maturity) const
 
virtual Real thetaPerDay (Real spot, Time maturity) const
 
Real vega (Time maturity) const
 
Real rho (Time maturity) const
 
Real dividendRho (Time maturity) const
 
Real itmCashProbability () const
 
Real itmAssetProbability () const
 
Real strikeSensitivity () const
 
Real alpha () const
 
Real beta () const
 

Protected Member Functions

void initialize (const ext::shared_ptr< StrikedTypePayoff > &p)
 

Protected Attributes

Real strike_
 
Real forward_
 
Real stdDev_
 
Real discount_
 
Real variance_
 
Real d1_
 
Real d2_
 
Real alpha_
 
Real beta_
 
Real DalphaDd1_
 
Real DbetaDd2_
 
Real n_d1_
 
Real cum_d1_
 
Real n_d2_
 
Real cum_d2_
 
Real x_
 
Real DxDs_
 
Real DxDstrike_
 

Friends

class Calculator
 

Detailed Description

Black 1976 calculator class.

Bug:
When the variance is null, division by zero occur during the calculation of delta, delta forward, gamma, gamma forward, rho, dividend rho, vega, and strike sensitivity.
Examples
DiscreteHedging.cpp.

Member Function Documentation

◆ deltaForward()

Real deltaForward ( ) const

Sensitivity to change in the underlying forward price.

◆ delta()

virtual Real delta ( Real  spot) const
virtual

Sensitivity to change in the underlying spot price.

◆ elasticityForward()

Real elasticityForward ( ) const

Sensitivity in percent to a percent change in the underlying forward price.

◆ elasticity()

virtual Real elasticity ( Real  spot) const
virtual

Sensitivity in percent to a percent change in the underlying spot price.

◆ gammaForward()

Real gammaForward ( ) const

Second order derivative with respect to change in the underlying forward price.

◆ gamma()

virtual Real gamma ( Real  spot) const
virtual

Second order derivative with respect to change in the underlying spot price.

◆ theta()

virtual Real theta ( Real  spot,
Time  maturity 
) const
virtual

Sensitivity to time to maturity.

◆ thetaPerDay()

Real thetaPerDay ( Real  spot,
Time  maturity 
) const
virtual

Sensitivity to time to maturity per day, assuming 365 day per year.

◆ vega()

Real vega ( Time  maturity) const

Sensitivity to volatility.

◆ rho()

Real rho ( Time  maturity) const

Sensitivity to discounting rate.

◆ dividendRho()

Real dividendRho ( Time  maturity) const

Sensitivity to dividend/growth rate.

◆ itmCashProbability()

Real itmCashProbability ( ) const

Probability of being in the money in the bond martingale measure, i.e. N(d2). It is a risk-neutral probability, not the real world one.

◆ itmAssetProbability()

Real itmAssetProbability ( ) const

Probability of being in the money in the asset martingale measure, i.e. N(d1). It is a risk-neutral probability, not the real world one.

◆ strikeSensitivity()

Real strikeSensitivity ( ) const

Sensitivity to strike.