|
FinanceSim 0.1.0
Financial Simulation Library
|
#include <model.hpp>
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 Schedule & | schedule () 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 | |
Base interface for all financial models Models are deterministic and communicate only via the EventBus
|
virtualdefault |
|
protecteddefault |
|
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().
|
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().
|
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().
|
pure virtual |
Human-readable name/description.
Implemented in financesim::AccountBase, financesim::AssetsBase, financesim::ExpensesBase, financesim::IncomeBase, and financesim::LiabilitiesBase.
Referenced by PYBIND11_MODULE().
|
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().
|
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().
|
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().