Create option pricing engine structure, test architecture.
Some checks failed
C++ CI / build (push) Has been cancelled
Some checks failed
C++ CI / build (push) Has been cancelled
This commit is contained in:
34
src/Instrument.hpp
Normal file
34
src/Instrument.hpp
Normal file
@@ -0,0 +1,34 @@
|
||||
//
|
||||
// Created by David Doebel on 05.03.2026.
|
||||
//
|
||||
|
||||
#ifndef QUANTENGINE_INSTRUMENT_HPP
|
||||
#define QUANTENGINE_INSTRUMENT_HPP
|
||||
#include "Payoff.hpp"
|
||||
#include "PricingEngine.hpp"
|
||||
#include <memory>
|
||||
|
||||
class PricingEngine;
|
||||
|
||||
class Instrument {
|
||||
public:
|
||||
Instrument() = default;
|
||||
Instrument(double maturity, std::unique_ptr<Payoff> payoff, std::unique_ptr<PricingEngine> engine);
|
||||
double price() const;
|
||||
|
||||
[[nodiscard]] double maturity() const {
|
||||
return maturity_;
|
||||
}
|
||||
|
||||
[[nodiscard]] Payoff& payoff() const {
|
||||
return *payoff_;
|
||||
}
|
||||
|
||||
protected:
|
||||
double maturity_;
|
||||
std::unique_ptr<Payoff> payoff_;
|
||||
std::unique_ptr<PricingEngine> engine_;
|
||||
};
|
||||
|
||||
|
||||
#endif //QUANTENGINE_INSTRUMENT_HPP
|
||||
Reference in New Issue
Block a user