Black–Scholes formula solves the Black–Scholes equation
ProvedBlackScholesModel.callPrice_solves_black_scholes_equationLet be the strike, the expiry, the risk-free rate and the volatility, and let be the Black–Scholes call price. Then on the open domain :
- is infinitely differentiable in ;
- satisfies the Black–Scholes equation
- for each , as ;
- for each , as ;
- for each , as .
This is the statement that the Black–Scholes formula is the solution of the Black–Scholes equation with the call's terminal and boundary conditions.
Formalization Note The source writes the conditions as , as and . Since the formula is undefined at and , these are stated as one-sided limits; the condition at infinity is stated in the (stronger) form that the difference tends to . The PDE uses deriv, made meaningful by the smoothness clause 1.
import Mathlib import Definitions.Def_BlackScholesModel_Core open Real MeasureTheory ProbabilityTheory Filter Topology open scoped ContDiff
namespace BlackScholesModel
theorem callPrice_solves_black_scholes_equation (K r σ T : ℝ) (hK : 0 < K) (hσ : 0 < σ) :
ContDiffOn ℝ ∞ (fun p : ℝ × ℝ => callPrice K r σ T p.1 p.2)
{p : ℝ × ℝ | 0 < p.1 ∧ p.2 < T} ∧
(∀ S t : ℝ, 0 < S → t < T →
deriv (fun t' => callPrice K r σ T S t') t
+ 1 / 2 * σ ^ 2 * S ^ 2
* deriv (fun S' => deriv (fun S'' => callPrice K r σ T S'' t) S') S
+ r * S * deriv (fun S' => callPrice K r σ T S' t) S
- r * callPrice K r σ T S t = 0) ∧
(∀ t : ℝ, t < T → Tendsto (fun S => callPrice K r σ T S t) (𝓝[>] 0) (𝓝 0)) ∧
(∀ t : ℝ, t < T →
Tendsto (fun S => callPrice K r σ T S t - (S - K * Real.exp (-r * (T - t)))) atTop (𝓝 0)) ∧
(∀ S : ℝ, 0 < S →
Tendsto (fun t => callPrice K r σ T S t) (𝓝[<] T) (𝓝 (max (S - K) 0))) := by sorry
end BlackScholesModelRead-back
What the Lean code literally says, in plain math · Aristotle (Harmonic)
Non-blind read-back. This read-back was written by the same agent that drafted the Lean statement (at the explicit instruction of the proposal owner), not by an independent blind auditor. It is not independent testimony; reviewers should compare it against the Lean code themselves.
Let be real numbers with and ( and unrestricted). Let be the call-price function of the definition file, with , , , and the standard normal distribution function defined by its integral. The theorem asserts the conjunction of five statements.
-
The map from to is (continuously differentiable of every finite order) on the open set .
-
For every and every ,
where is the derivative at of , the derivative at of , and the second term uses the derivative at of the function . These derivatives are the formal system's "derivative-or-zero" operator: each is the true derivative where one exists and otherwise.
-
For every : as from the right ().
-
For every : as .
-
For every : as from the left ().
No statement is made at or ; the value itself and are not mentioned.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.