Class MonteCarloSimulator

java.lang.Object
com.quantfinlib.simulation.MonteCarloSimulator

public final class MonteCarloSimulator extends Object
Monte Carlo Portfolio Simulation. Runs tens of thousands to hundreds of thousands of GBM scenarios in parallel across all cores; results are deterministic for a given seed regardless of thread scheduling.
  • Constructor Details

    • MonteCarloSimulator

      public MonteCarloSimulator()
    • MonteCarloSimulator

      public MonteCarloSimulator(long seed)
  • Method Details

    • simulate

      public SimulationResult simulate(double initialValue, double annualReturn, double annualVol, int horizonDays, int simulations)
      Single-asset / whole-portfolio GBM simulation with daily steps.
      Parameters:
      initialValue - starting portfolio value
      annualReturn - annualized drift (e.g. 0.08)
      annualVol - annualized volatility (e.g. 0.15)
      horizonDays - trading days to simulate
      simulations - number of scenarios (10_000+ recommended)
    • simulatePortfolio

      public SimulationResult simulatePortfolio(double initialValue, double[] weights, double[] dailyMeanReturns, double[][] dailyCovariance, int horizonDays, int simulations)
      Correlated multi-asset portfolio simulation using daily mean returns and daily covariance (e.g. estimated from historical returns).