/*
 * (c) Copyright Christian P. Fries, Germany. All rights reserved. Contact: email@christian-fries.de.
 *
 * Created on 20.05.2005
 */
package net.finmath.marketdata.model.volatilities;

import net.finmath.time.TimeDiscretizationInterface;

/**
 * Basic interface to be implemented by classes
 * providing swaption market data.
 * 
 * @author Christian Fries
 */
public interface AbstractSwaptionMarketData {

	TimeDiscretizationInterface	getOptionMaturities();
	TimeDiscretizationInterface	getTenor();
	double						getSwapPeriodLength();

	/**
	 * Returns the option price of a swaption for a given option maturity and tenor length.
	 * @param optionMaturity The option maturity.
	 * @param tenorLength The tenor length.
	 * @param periodLength The period length of the floating rate period.
	 * @param strike The strike (swap) rate.
	 * @return The option price.
	 */
    double getValue(double optionMaturity, double tenorLength, double periodLength, double strike);

	/**
	 * Returns the option implied volatility of a swaption for a given option maturity and tenor length.
	 * 
	 * @param optionMaturity The option maturity.
	 * @param tenorLength The tenor length.
	 * @param periodLength The period length of the floating rate period.
	 * @param strike The strike (swap) rate.
	 * @return The implied volatility.
	 */
    double getVolatility(double optionMaturity, double tenorLength, double periodLength, double strike);
}

 

Ads help maintain this website.