use crate::{ad::scalar::Scalar, indices::marketindex::MarketIndex, time::date::Date};
type Matrix<T> = Vec<Vec<T>>;
pub trait MonteCarloSimulation<T>
where
T: Scalar,
{
fn path(&self) -> &Matrix<T>;
fn n_paths(&self) -> i64;
fn dates(&self) -> &[Date];
fn dt(&self) -> f64;
fn market_index(&self) -> MarketIndex;
}