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

net.finmath.montecarlo.interestrate.models.covariance.TermStructureFactorLoadingsModel Maven / Gradle / Ivy

Go to download

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

The newest version!
/*
 * (c) Copyright Christian P. Fries, Germany. Contact: [email protected].
 *
 * Created on 24.12.2016
 */
package net.finmath.montecarlo.interestrate.models.covariance;

import net.finmath.montecarlo.interestrate.TermStructureModel;
import net.finmath.stochastic.RandomVariable;
import net.finmath.time.TimeDiscretization;

/**
 * A base class and interface description for the instantaneous covariance of
 * an forward rate interest rate model.
 *
 * @author Christian Fries
 * @version 1.0
 */
public interface TermStructureFactorLoadingsModel {

	/**
	 * Return the factor loading for a given time and a term structure period.
	 *
	 * The factor loading is the vector fi such that the scalar product 
* fjfk = fj,1fk,1 + ... + fj,mfk,m
* is the instantaneous covariance of the component j and k. * * With respect to simulation time t, this method uses a piece wise constant interpolation, i.e., * it calculates t_i such that t_i is the largest point in getTimeDiscretization * such that t_i ≤ t . * * The component here, it given via a double T which may be associated with the LIBOR fixing date. * With respect to component time T, this method uses a piece wise constant interpolation, i.e., * it calculates T_j such that T_j is the largest point in getTimeDiscretization * such that T_j ≤ T . * * @param time The time t at which factor loading is requested. * @param periodStart Period start of the component. * @param periodEnd Period end of the component. * @param periodDiscretization The period discretization associated with the realizationAtTimeIndex * @param realizationAtTimeIndex The realization of the stochastic process (may be used to implement local volatility/covariance/correlation models). * @param model The term structure model. * @return The factor loading fi(t). */ RandomVariable[] getFactorLoading(double time, double periodStart, double periodEnd, TimeDiscretization periodDiscretization, RandomVariable[] realizationAtTimeIndex, TermStructureModel model); /** * @return the numberOfFactors */ int getNumberOfFactors(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy