Class BlackVarianceSurface
- java.lang.Object
-
- org.jquantlib.termstructures.AbstractTermStructure
-
- org.jquantlib.termstructures.volatilities.VolatilityTermStructure
-
- org.jquantlib.termstructures.BlackVolTermStructure
-
- org.jquantlib.termstructures.BlackVarianceTermStructure
-
- org.jquantlib.termstructures.volatilities.BlackVarianceSurface
-
- All Implemented Interfaces:
- Extrapolator, TermStructure, Observable, Observer, PolymorphicVisitable
public class BlackVarianceSurface extends BlackVarianceTermStructure
This class calculates time/strike dependent Black volatilities using as input a matrix of Black volatilities observed in the market. The calculation is performed interpolating on the variance surface. Bilinear interpolation is used as default; this can be changed by the setInterpolation() method.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description static classBlackVarianceSurface.Extrapolation
-
Constructor Summary
Constructors Constructor and Description BlackVarianceSurface(Date referenceDate, Date[] dates, Array strikes, Matrix blackVolMatrix, DayCounter dayCounter)BlackVarianceSurface(Date referenceDate, Date[] dates, Array strikes, Matrix blackVolMatrix, DayCounter dayCounter, BlackVarianceSurface.Extrapolation lowerExtrapolation, BlackVarianceSurface.Extrapolation upperExtrapolation)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidaccept(PolymorphicVisitor pv)This method is intended to extend the semantics of methodVisitable.accept(Visitor)DayCounterdayCounter()Return the day counter used for date/double conversionDatemaxDate()doublemaxStrike()The maximum strike for which the term structure can return volsdoubleminStrike()The minimum strike for which the term structure can return volsvoidsetInterpolation(Interpolation.Interpolator i)-
Methods inherited from class org.jquantlib.termstructures.BlackVolTermStructure
blackForwardVariance, blackForwardVariance, blackForwardVol, blackForwardVol, blackVariance, blackVariance, blackVariance, blackVariance, blackVol, blackVol, blackVol, blackVol
-
Methods inherited from class org.jquantlib.termstructures.volatilities.VolatilityTermStructure
businessDayConvention, optionDateFromTenor
-
Methods inherited from class org.jquantlib.termstructures.AbstractTermStructure
addObserver, allowsExtrapolation, calendar, countObservers, deleteObserver, deleteObservers, disableExtrapolation, enableExtrapolation, getObservers, maxTime, notifyObservers, notifyObservers, referenceDate, settlementDays, timeFromReference, update
-
-
-
-
Constructor Detail
-
BlackVarianceSurface
public BlackVarianceSurface(Date referenceDate, Date[] dates, Array strikes, Matrix blackVolMatrix, DayCounter dayCounter)
-
BlackVarianceSurface
public BlackVarianceSurface(Date referenceDate, Date[] dates, Array strikes, Matrix blackVolMatrix, DayCounter dayCounter, BlackVarianceSurface.Extrapolation lowerExtrapolation, BlackVarianceSurface.Extrapolation upperExtrapolation)
-
-
Method Detail
-
setInterpolation
public void setInterpolation(Interpolation.Interpolator i)
-
dayCounter
public final DayCounter dayCounter()
Description copied from interface:TermStructureReturn the day counter used for date/double conversion- Specified by:
dayCounterin interfaceTermStructure- Overrides:
dayCounterin classAbstractTermStructure- Returns:
- the day counter used for date/double conversion
-
maxDate
public final Date maxDate()
- Returns:
- the latest date for which the curve can return values
-
minStrike
public final double minStrike()
Description copied from class:BlackVolTermStructureThe minimum strike for which the term structure can return vols- Specified by:
minStrikein classBlackVolTermStructure
-
maxStrike
public final double maxStrike()
Description copied from class:BlackVolTermStructureThe maximum strike for which the term structure can return vols- Specified by:
maxStrikein classBlackVolTermStructure
-
accept
public void accept(PolymorphicVisitor pv)
Description copied from interface:PolymorphicVisitableThis method is intended to extend the semantics of methodVisitable.accept(Visitor)In a conventional Visitor design pattern, the
acceptmethod is called when access to visit a data structure is requested. AVisitorobject is passed as argument in case permission is granted to thatVisitorto access the data structure. Obviously,Visitors andVisitables work in pairs and the class which provides the data structure to be visited also implementsVisitablein order to properly grant access when the expectedVisitoris received.In the case of a
PolymorphicVisitable, aPolymorphicVisitoris passed instead of aVisitor. APolymorphicVisitoris in fact, a composition ofVisitors and not only a singleVisitor. APolymorphicVisitoris responsible for returning the correctVisitorresponsible for processing a certain data structure.The initial design of pairs made of <
Visitor,Visitable> is extended to a concept of a matrix made of multipleVisitors against multipleVisitables. Every class which implementsPolymorphicVisitablepasses different data structures when queryingPolymorphicVisitors.- Specified by:
acceptin interfacePolymorphicVisitable- Overrides:
acceptin classBlackVarianceTermStructure- See Also:
PolymorphicVisitor#getVisitor(Class)
-
-
DataMelt 3.0 © DataMelt by jWork.ORG