/**
* Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.analytics.financial.model.volatility.surface;
import org.apache.commons.lang.Validate;
/**
* This is defined as strike/forward
*/
public class Moneyness implements StrikeType {
private final double _value;
public Moneyness(final double value) {
Validate.isTrue(value >= 0, "negative moneyness");
_value = value;
}
public Moneyness(final double strike, final double forward) {
Validate.isTrue(strike >= 0, "negative strike");
Validate.isTrue(forward > 0, "negative or zero forward");
_value = strike / forward;
}
@Override
public double value() {
return _value;
}
@Override
public Moneyness with(double value) {
return new Moneyness(value);
}
}