2026-03-08 10:15:23 +01:00
|
|
|
//
|
|
|
|
|
// Created by David Doebel on 05.03.2026.
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#ifndef QUANTENGINE_STOCHASTICPROCESS_HPP
|
|
|
|
|
#define QUANTENGINE_STOCHASTICPROCESS_HPP
|
|
|
|
|
#include "MarketData.hpp"
|
|
|
|
|
#include <memory>
|
|
|
|
|
|
|
|
|
|
class StochasticProcess {
|
|
|
|
|
public:
|
2026-03-12 12:10:13 +01:00
|
|
|
StochasticProcess() = delete;
|
|
|
|
|
explicit StochasticProcess(MarketData data) : data_(std::move(data)){}
|
2026-03-08 10:15:23 +01:00
|
|
|
|
|
|
|
|
virtual ~StochasticProcess() = default;
|
|
|
|
|
virtual double drift(double t, double s) = 0;
|
|
|
|
|
virtual double diffusion(double t, double s) = 0;
|
|
|
|
|
virtual double step(double t, double s, double dt, double dW) = 0;
|
2026-03-12 12:10:13 +01:00
|
|
|
const MarketData& data() const {return data_;}
|
2026-03-08 10:15:23 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
2026-03-12 12:10:13 +01:00
|
|
|
MarketData data_;
|
2026-03-08 10:15:23 +01:00
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
2026-03-12 12:10:13 +01:00
|
|
|
#endif //QUANTENGINE_STOCHASTICPROCESS_HPP
|