Move the pricing engine sources out of src/ into cpp/, add the closed-form engine and pybind wiring, and align tests/build targets with the new project layout. Made-with: Cursor
23 lines
784 B
C++
23 lines
784 B
C++
/**
|
||
* @file BlackScholesClosedFormEngine.hpp
|
||
* @brief Risk-neutral Black–Scholes formula for European payoffs under GBM (flat or surface inputs via @ref MarketData).
|
||
*/
|
||
|
||
#ifndef QUANTENGINE_BLACKSCHOLESCLOSEDFORMENGINE_HPP
|
||
#define QUANTENGINE_BLACKSCHOLESCLOSEDFORMENGINE_HPP
|
||
|
||
#include "PricingEngine.hpp"
|
||
|
||
/**
|
||
* @brief Analytic European vanilla / digital prices using @f$r@f$ and @f$\sigma(K,T)@f$ from the embedded process’s @ref MarketData.
|
||
*/
|
||
class BlackScholesClosedFormEngine : public PricingEngine {
|
||
public:
|
||
explicit BlackScholesClosedFormEngine(std::unique_ptr<StochasticProcess> process)
|
||
: PricingEngine(std::move(process)) {}
|
||
|
||
double calculate(const Instrument &instrument) const override;
|
||
};
|
||
|
||
#endif // QUANTENGINE_BLACKSCHOLESCLOSEDFORMENGINE_HPP
|