FinanceSim 0.1.0
Financial Simulation Library
Loading...
Searching...
No Matches
financesim::Model Class Referenceabstract

#include <model.hpp>

Inheritance diagram for financesim::Model:
[legend]

Public Member Functions

virtual ~Model ()=default
 
virtual const std::string & id () const =0
 Unique identifier for this model instance.
 
virtual const std::string & name () const =0
 Human-readable name/description.
 
virtual const Scheduleschedule () const =0
 Get the model's execution schedule.
 
virtual void initialize (EventBus &bus)=0
 
virtual void update (SimTime time)=0
 
virtual void finalize ()=0
 
virtual void reset ()=0
 Reset model to initial state (for replay)
 

Protected Member Functions

 Model ()=default
 

Detailed Description

Base interface for all financial models Models are deterministic and communicate only via the EventBus

Definition at line 12 of file model.hpp.

Constructor & Destructor Documentation

◆ ~Model()

virtual financesim::Model::~Model ( )
virtualdefault

◆ Model()

financesim::Model::Model ( )
protecteddefault

Member Function Documentation

◆ finalize()

virtual void financesim::Model::finalize ( )
pure virtual

Called once after simulation ends Use for cleanup, final calculations, releasing resources

Implemented in financesim::AccountBase, financesim::SavingsAccount, financesim::AssetsBase, financesim::ExpensesBase, financesim::IncomeBase, and financesim::LiabilitiesBase.

Referenced by PYBIND11_MODULE().

Here is the caller graph for this function:

◆ id()

virtual const std::string & financesim::Model::id ( ) const
pure virtual

Unique identifier for this model instance.

Implemented in financesim::AccountBase, financesim::AssetsBase, financesim::ExpensesBase, financesim::IncomeBase, and financesim::LiabilitiesBase.

Referenced by PYBIND11_MODULE().

Here is the caller graph for this function:

◆ initialize()

virtual void financesim::Model::initialize ( EventBus bus)
pure virtual

Called once before simulation starts Use for setup, subscribing to events, allocating resources

Implemented in financesim::AccountBase, financesim::SavingsAccount, financesim::AssetsBase, financesim::ExpensesBase, financesim::IncomeBase, and financesim::LiabilitiesBase.

Referenced by PYBIND11_MODULE().

Here is the caller graph for this function:

◆ name()

virtual const std::string & financesim::Model::name ( ) const
pure virtual

Human-readable name/description.

Implemented in financesim::AccountBase, financesim::AssetsBase, financesim::ExpensesBase, financesim::IncomeBase, and financesim::LiabilitiesBase.

Referenced by PYBIND11_MODULE().

Here is the caller graph for this function:

◆ reset()

virtual void financesim::Model::reset ( )
pure virtual

Reset model to initial state (for replay)

Implemented in financesim::AccountBase, financesim::SavingsAccount, financesim::AssetsBase, financesim::ExpensesBase, financesim::CareerJob, financesim::IncomeBase, and financesim::LiabilitiesBase.

Referenced by PYBIND11_MODULE().

Here is the caller graph for this function:

◆ schedule()

virtual const Schedule & financesim::Model::schedule ( ) const
pure virtual

Get the model's execution schedule.

Implemented in financesim::AccountBase, financesim::AssetsBase, financesim::ExpensesBase, financesim::IncomeBase, and financesim::LiabilitiesBase.

Referenced by PYBIND11_MODULE().

Here is the caller graph for this function:

◆ update()

virtual void financesim::Model::update ( SimTime  time)
pure virtual

Called at each scheduled execution time Must be deterministic given the same inputs and time

Implemented in financesim::AccountBase, financesim::SavingsAccount, financesim::AssetsBase, financesim::ExpensesBase, financesim::CareerJob, financesim::IncomeBase, and financesim::LiabilitiesBase.

Referenced by PYBIND11_MODULE().

Here is the caller graph for this function:

The documentation for this class was generated from the following file: