ConstantLocalVolatility.java
package net.finmath.marketdata.model.volatilities;
/**
* Constant local volatility, representing the classical Black-Scholes case.
*
* @author Alessandro Gnoatto
*/
public class ConstantLocalVolatility implements LocalVolatility {
/**
* The volatility.
*/
private final double volatility;
/**
* Creates a constant local volatility.
*
* @param volatility The volatility.
*/
public ConstantLocalVolatility(final double volatility) {
if (volatility < 0.0 || Double.isNaN(volatility) || Double.isInfinite(volatility)) {
throw new IllegalArgumentException("Volatility must be non-negative and finite.");
}
this.volatility = volatility;
}
@Override
public double getValue(final double time, final double assetValue) {
return volatility;
}
/**
* Returns the constant volatility.
*
* @return The volatility.
*/
public double getVolatility() {
return volatility;
}
}