/*
Copyright (C) 2008 Praneet Tiwari
This source code is release under the BSD License.
This file is part of JQuantLib, a free-software/open-source library
for financial quantitative analysts and developers - http://jquantlib.org/
JQuantLib is free software: you can redistribute it and/or modify it
under the terms of the JQuantLib license. You should have received a
copy of the license along with this program; if not, please email
. The license is also available online at
.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the license for more details.
JQuantLib is based on QuantLib. http://quantlib.org/
When applicable, the original copyright notice follows this notice.
*/
package org.jquantlib.instruments;
import org.jquantlib.exercise.Exercise;
import org.jquantlib.pricingengines.PricingEngine.Arguments;
/**
*
* @author Praneet Tiwari
*/
// ! %Swaption class
/*
* ! \ingroup instruments
*
* \test - the correctness of the returned value is tested by checking that the price of a payer (resp. receiver) swaption decreases
* (resp. increases) with the strike. - the correctness of the returned value is tested by checking that the price of a payer (resp.
* receiver) swaption increases (resp. decreases) with the spread. - the correctness of the returned value is tested by checking it
* against that of a swaption on a swap with no spread and a correspondingly adjusted fixed rate. - the correctness of the returned
* value is tested by checking it against a known good value. - the correctness of the returned value of cash settled swaptions is
* tested by checking the modified annuity against a value calculated without using the Swaption class.
*
*
* \todo add greeks and explicit exercise lag
*/
//TODO: code review
public class Swaption {// extends Option {
// ! %settlement information
public Swaption(final VanillaSwap swap, final Exercise exercise, final Settlement.Type delivery /* = Settlement::Physical */) {
if (System.getProperty("EXPERIMENTAL") == null) {
throw new UnsupportedOperationException("Work in progress");
}
}
// @Override
protected void setupArguments(final Arguments arguments) {
throw new UnsupportedOperationException("Not supported yet.");
}
/*****
* class arguments extends VanillaSwap::arguments, public Option::arguments { public: arguments() :
* settlementType(Settlement::Physical) {} boost::shared_ptr swap; Settlement::Type settlementType; void validate()
* const; }
********/
}
Ads help maintain this website.