ContinuousTimeOption.h
#pragma once
#include "stdafx.h"
#include "Priceable.h"
#include "Matrix.h"
/**
* Interface class for an option whose payoff should
* be approximated by looking at stock prices over all time
* time points
*/
class ContinuousTimeOption : public Priceable {
public:
/* Virtual destructor */
virtual ~ContinuousTimeOption() {};
/* The maturity of the option */
virtual double getMaturity() const = 0;
/* Calculate the payoff of the option given
a history of prices */
virtual Matrix payoff(
const MarketSimulation& simulation
) const = 0;
/* Is the option path-dependent?*/
virtual bool isPathDependent() const = 0;
/* What stocks does the contract depend upon? */
virtual std::set<std::string>
getStocks() const = 0;
};