finMath lib documentation
net.finmath.montecarlo.interestrate.products

## Class MoneyMarketAccount

• All Implemented Interfaces:
Product, TermStructureMonteCarloProduct, MonteCarloProduct

public class MoneyMarketAccount
extends AbstractLIBORMonteCarloProduct
Implements the valuation of a money market account. The money market account is characterized by its inception time t0 and its accrual period Δ t.
With ti := t0 + i Δ t the money market account value N(t0) = 1 and N(t) = N(ti) (1 + L(ti,ti+1;ti) (t - ti)). for ti < t < ti+1.
The value of the account at inception is 1.0. The value of the account prior to inception is zero.
Version:
1.0
Author:
Christian Fries
• ### Constructor Summary

Constructors
Constructor and Description
MoneyMarketAccount()
Create a default money market account.
MoneyMarketAccount(double inceptionTime, double accrualPeriod)
Create a money market account.
MoneyMarketAccount(double inceptionTime, double initialValue, double accrualPeriod)
Create a money market account.
• ### Method Summary

All Methods
Modifier and Type Method and Description
RandomVariable getValue(double evaluationTime, LIBORModelMonteCarloSimulationModel model)
This method returns the value random variable of the product within the specified model, evaluated at a given evalutationTime.
• ### Methods inherited from class net.finmath.montecarlo.interestrate.products.AbstractLIBORMonteCarloProduct

getFactorDrift, getValue, getValueForModifiedData, getValues
• ### Methods inherited from class net.finmath.montecarlo.AbstractMonteCarloProduct

getCurrency, getValue, getValue, getValues, getValues, getValues, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, toString
• ### Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
• ### Methods inherited from interface net.finmath.montecarlo.MonteCarloProduct

getCurrency, getValue, getValue, getValues, getValues, getValues, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData
• ### Constructor Detail

• #### MoneyMarketAccount

public MoneyMarketAccount(double inceptionTime,
double initialValue,
double accrualPeriod)
Create a money market account.
Parameters:
inceptionTime - The inception time. The value of the account at inception is 1.0. The value of the account prior to inception is zero.
initialValue - The initial value, i.e., the value at inception time.
accrualPeriod - The accrual period. If this period is < 0, then the finest model LIBOR period discretization is used
• #### MoneyMarketAccount

public MoneyMarketAccount(double inceptionTime,
double accrualPeriod)
Create a money market account.
Parameters:
inceptionTime - The inception time. The value of the account at inception is 1.0. The value of the account prior to inception is zero.
accrualPeriod - The accrual period. If this period is < 0, then the finest model LIBOR period discretization is used
• #### MoneyMarketAccount

public MoneyMarketAccount()
Create a default money market account. The money market account will use the models tenor discretization as the accrual period and its inception time is 0.
• ### Method Detail

• #### getValue

public RandomVariable getValue(double evaluationTime,
LIBORModelMonteCarloSimulationModel model)
throws CalculationException
Description copied from interface: TermStructureMonteCarloProduct
This method returns the value random variable of the product within the specified model, evaluated at a given evalutationTime. Note: For a lattice this is often the value conditional to evalutationTime, for a Monte-Carlo simulation this is the (sum of) value discounted to evaluation time. Cashflows prior evaluationTime are not considered.
Specified by:
getValue in interface TermStructureMonteCarloProduct
Specified by:
getValue in class AbstractLIBORMonteCarloProduct
Parameters:
evaluationTime - The time on which this products value should be observed.
model - The model used to price the product.
Returns:
The random variable representing the value of the product discounted to evaluation time
Throws:
CalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.