QuantLib: a free/open-source library for quantitative finance
Fully annotated sources - version 1.32
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
MakeArithmeticAverageOIS Class Reference

helper class More...

#include <ql/experimental/averageois/makearithmeticaverageois.hpp>

+ Collaboration diagram for MakeArithmeticAverageOIS:

Public Member Functions

 MakeArithmeticAverageOIS (const Period &swapTenor, const ext::shared_ptr< OvernightIndex > &overnightIndex, Rate fixedRate=Null< Rate >(), const Period &fwdStart=0 *Days)
 
 operator ArithmeticAverageOIS () const
 
 operator ext::shared_ptr< ArithmeticAverageOIS > () const
 
MakeArithmeticAverageOISreceiveFixed (bool flag=true)
 
MakeArithmeticAverageOISwithType (Swap::Type type)
 
MakeArithmeticAverageOISwithNominal (Real n)
 
MakeArithmeticAverageOISwithSettlementDays (Natural settlementDays)
 
MakeArithmeticAverageOISwithEffectiveDate (const Date &)
 
MakeArithmeticAverageOISwithTerminationDate (const Date &)
 
MakeArithmeticAverageOISwithRule (DateGeneration::Rule r)
 
MakeArithmeticAverageOISwithFixedLegPaymentFrequency (Frequency f)
 
MakeArithmeticAverageOISwithOvernightLegPaymentFrequency (Frequency f)
 
MakeArithmeticAverageOISwithEndOfMonth (bool flag=true)
 
MakeArithmeticAverageOISwithFixedLegDayCount (const DayCounter &dc)
 
MakeArithmeticAverageOISwithOvernightLegSpread (Spread sp)
 
MakeArithmeticAverageOISwithDiscountingTermStructure (const Handle< YieldTermStructure > &discountingTermStructure)
 
MakeArithmeticAverageOISwithPricingEngine (const ext::shared_ptr< PricingEngine > &engine)
 
MakeArithmeticAverageOISwithArithmeticAverage (Real meanReversionSpeed=0.03, Real volatility=0.00, bool byApprox=false)
 

Private Attributes

Period swapTenor_
 
ext::shared_ptr< OvernightIndexovernightIndex_
 
Rate fixedRate_
 
Period forwardStart_
 
Natural settlementDays_ = 2
 
Date effectiveDate_
 
Date terminationDate_
 
Calendar calendar_
 
Frequency fixedLegPaymentFrequency_ = Annual
 
Frequency overnightLegPaymentFrequency_ = Annual
 
DateGeneration::Rule rule_ = DateGeneration::Backward
 
bool endOfMonth_
 
bool isDefaultEOM_ = true
 
bool byApprox_ = false
 
Real mrs_ = 0.03
 
Real vol_ = 0.00
 
Swap::Type type_ = Swap::Payer
 
Real nominal_ = 1.0
 
Spread overnightSpread_ = 0.0
 
DayCounter fixedDayCount_
 
ext::shared_ptr< PricingEngineengine_
 

Detailed Description

helper class

This class provides a more comfortable way to instantiate arithemtic average overnight indexed swaps.

Definition at line 37 of file makearithmeticaverageois.hpp.

Constructor & Destructor Documentation

◆ MakeArithmeticAverageOIS()

MakeArithmeticAverageOIS ( const Period swapTenor,
const ext::shared_ptr< OvernightIndex > &  overnightIndex,
Rate  fixedRate = Null<Rate>(),
const Period fwdStart = 0*Days 
)

Definition at line 27 of file makearithmeticaverageois.cpp.

Member Function Documentation

◆ operator ArithmeticAverageOIS()

operator ArithmeticAverageOIS ( ) const

Definition at line 39 of file makearithmeticaverageois.cpp.

◆ operator ext::shared_ptr< ArithmeticAverageOIS >()

operator ext::shared_ptr< ArithmeticAverageOIS > ( ) const

Definition at line 44 of file makearithmeticaverageois.cpp.

+ Here is the call graph for this function:

◆ receiveFixed()

MakeArithmeticAverageOIS & receiveFixed ( bool  flag = true)

Definition at line 142 of file makearithmeticaverageois.cpp.

◆ withType()

MakeArithmeticAverageOIS & withType ( Swap::Type  type)

Definition at line 147 of file makearithmeticaverageois.cpp.

◆ withNominal()

MakeArithmeticAverageOIS & withNominal ( Real  n)

Definition at line 152 of file makearithmeticaverageois.cpp.

◆ withSettlementDays()

MakeArithmeticAverageOIS & withSettlementDays ( Natural  settlementDays)

Definition at line 157 of file makearithmeticaverageois.cpp.

+ Here is the caller graph for this function:

◆ withEffectiveDate()

MakeArithmeticAverageOIS & withEffectiveDate ( const Date effectiveDate)

Definition at line 163 of file makearithmeticaverageois.cpp.

◆ withTerminationDate()

MakeArithmeticAverageOIS & withTerminationDate ( const Date terminationDate)

Definition at line 168 of file makearithmeticaverageois.cpp.

◆ withRule()

Definition at line 188 of file makearithmeticaverageois.cpp.

◆ withFixedLegPaymentFrequency()

MakeArithmeticAverageOIS & withFixedLegPaymentFrequency ( Frequency  f)

Definition at line 174 of file makearithmeticaverageois.cpp.

+ Here is the caller graph for this function:

◆ withOvernightLegPaymentFrequency()

MakeArithmeticAverageOIS & withOvernightLegPaymentFrequency ( Frequency  f)

Definition at line 181 of file makearithmeticaverageois.cpp.

+ Here is the caller graph for this function:

◆ withEndOfMonth()

MakeArithmeticAverageOIS & withEndOfMonth ( bool  flag = true)

Definition at line 216 of file makearithmeticaverageois.cpp.

◆ withFixedLegDayCount()

MakeArithmeticAverageOIS & withFixedLegDayCount ( const DayCounter dc)

Definition at line 211 of file makearithmeticaverageois.cpp.

◆ withOvernightLegSpread()

MakeArithmeticAverageOIS & withOvernightLegSpread ( Spread  sp)

Definition at line 222 of file makearithmeticaverageois.cpp.

◆ withDiscountingTermStructure()

MakeArithmeticAverageOIS & withDiscountingTermStructure ( const Handle< YieldTermStructure > &  discountingTermStructure)

Definition at line 197 of file makearithmeticaverageois.cpp.

+ Here is the caller graph for this function:

◆ withPricingEngine()

MakeArithmeticAverageOIS & withPricingEngine ( const ext::shared_ptr< PricingEngine > &  engine)

Definition at line 205 of file makearithmeticaverageois.cpp.

◆ withArithmeticAverage()

MakeArithmeticAverageOIS & withArithmeticAverage ( Real  meanReversionSpeed = 0.03,
Real  volatility = 0.00,
bool  byApprox = false 
)

Definition at line 227 of file makearithmeticaverageois.cpp.

+ Here is the caller graph for this function:

Member Data Documentation

◆ swapTenor_

Period swapTenor_
private

Definition at line 73 of file makearithmeticaverageois.hpp.

◆ overnightIndex_

ext::shared_ptr<OvernightIndex> overnightIndex_
private

Definition at line 74 of file makearithmeticaverageois.hpp.

◆ fixedRate_

Rate fixedRate_
private

Definition at line 75 of file makearithmeticaverageois.hpp.

◆ forwardStart_

Period forwardStart_
private

Definition at line 76 of file makearithmeticaverageois.hpp.

◆ settlementDays_

Natural settlementDays_ = 2
private

Definition at line 78 of file makearithmeticaverageois.hpp.

◆ effectiveDate_

Date effectiveDate_
private

Definition at line 79 of file makearithmeticaverageois.hpp.

◆ terminationDate_

Date terminationDate_
private

Definition at line 79 of file makearithmeticaverageois.hpp.

◆ calendar_

Calendar calendar_
private

Definition at line 80 of file makearithmeticaverageois.hpp.

◆ fixedLegPaymentFrequency_

Frequency fixedLegPaymentFrequency_ = Annual
private

Definition at line 82 of file makearithmeticaverageois.hpp.

◆ overnightLegPaymentFrequency_

Frequency overnightLegPaymentFrequency_ = Annual
private

Definition at line 83 of file makearithmeticaverageois.hpp.

◆ rule_

Definition at line 84 of file makearithmeticaverageois.hpp.

◆ endOfMonth_

bool endOfMonth_
private

Definition at line 85 of file makearithmeticaverageois.hpp.

◆ isDefaultEOM_

bool isDefaultEOM_ = true
private

Definition at line 85 of file makearithmeticaverageois.hpp.

◆ byApprox_

bool byApprox_ = false
private

Definition at line 87 of file makearithmeticaverageois.hpp.

◆ mrs_

Real mrs_ = 0.03
private

Definition at line 88 of file makearithmeticaverageois.hpp.

◆ vol_

Real vol_ = 0.00
private

Definition at line 89 of file makearithmeticaverageois.hpp.

◆ type_

Swap::Type type_ = Swap::Payer
private

Definition at line 91 of file makearithmeticaverageois.hpp.

◆ nominal_

Real nominal_ = 1.0
private

Definition at line 92 of file makearithmeticaverageois.hpp.

◆ overnightSpread_

Spread overnightSpread_ = 0.0
private

Definition at line 94 of file makearithmeticaverageois.hpp.

◆ fixedDayCount_

DayCounter fixedDayCount_
private

Definition at line 95 of file makearithmeticaverageois.hpp.

◆ engine_

ext::shared_ptr<PricingEngine> engine_
private

Definition at line 97 of file makearithmeticaverageois.hpp.