All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.finmath.montecarlo.process.component.factordrift.FactorDriftInterface Maven / Gradle / Ivy

Go to download

finmath lib is a Mathematical Finance Library in Java. It provides algorithms and methodologies related to mathematical finance.

There is a newer version: 6.0.19
Show newest version
package net.finmath.montecarlo.process.component.factordrift;

import net.finmath.exception.CalculationException;
import net.finmath.stochastic.RandomVariable;

/**
 * @author Christian Fries
 *
 * @version 1.0
 */
public interface FactorDriftInterface {

	/**
	 * The interface describes how an additional factor scaling may be specified for the generation of a process (see e.g. LogNormalProcess).
	 * The factor scaling may be used to implement importance sampling or proxy simulation on the level of the discrete process.
	 *
	 * @param timeIndex The time index (associated with the process time discretization).
	 * @param realizationPredictor The realization predictor (in case we use a predictor corrector scheme).
	 * @return The vector of factor scalings.
	 */
	RandomVariable[]	getFactorScaling(int timeIndex, RandomVariable[] realizationPredictor);

	/**
	 * The interface describes how an additional factor drift may be specified for the generation of a process (see e.g. LogNormalProcess).
	 * The factor drift may be used to implement importance sampling or proxy simulation on the level of the discrete process.
	 *
	 * @param timeIndex The time index (associated with the process time discretization).
	 * @param realizationPredictor The realization predictor (in case we use a predictor corrector scheme).
	 * @return A vector of random variables given the factor drift for each factor. If the size is less then the number of factors, then higher order factors have no drift.
	 * @throws net.finmath.exception.CalculationException Thrown if the valuation fails, specific cause may be available via the cause() method.
	 */
	RandomVariable[]	getFactorDrift(int timeIndex, RandomVariable[] realizationPredictor) throws CalculationException;

	/**
	 * The interface describes how an additional factor drift may be specified for the generation of a process (see e.g. LogNormalProcess).
	 * The factor drift may be used to implement importance sampling or proxy simulation on the level of the discrete process.
	 *
	 * @param timeIndex The time index (associated with the process time discretization).
	 * @param realizationPredictor The realization predictor (in case we use a predictor corrector scheme).
	 * @return The determinant of the factor drift.
	 */
	RandomVariable    getFactorDriftDeterminant(int timeIndex, RandomVariable[] realizationPredictor);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy