2026-04-02 16:30:33 +02:00
|
|
|
/**
|
|
|
|
|
* @file Payoff.cpp
|
|
|
|
|
* @brief Payoff function implementations.
|
|
|
|
|
*/
|
2026-03-08 10:15:23 +01:00
|
|
|
|
|
|
|
|
#include "Payoff.hpp"
|
|
|
|
|
#include <algorithm>
|
|
|
|
|
|
|
|
|
|
double CallPayoff::operator()(double S) {
|
|
|
|
|
return std::max(0., S - strike_);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
double PutPayoff::operator()(double S) {
|
|
|
|
|
return std::max(0., strike_ - S);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
double DigitalPayoff::operator()(double S) {
|
|
|
|
|
return S > strike_ ? 1. : 0.;
|
|
|
|
|
}
|