Skip to content

Commit

Permalink
Merge 29a8311 into 542c208
Browse files Browse the repository at this point in the history
  • Loading branch information
lballabio committed May 28, 2021
2 parents 542c208 + 29a8311 commit 692b2b6
Show file tree
Hide file tree
Showing 20 changed files with 58 additions and 52 deletions.
2 changes: 1 addition & 1 deletion ql/experimental/catbonds/catrisk.cpp
Expand Up @@ -88,7 +88,7 @@ namespace QuantLib {
gammaAlpha_(rng_, boost::gamma_distribution<>(alpha)),
gammaBeta_(rng_, boost::gamma_distribution<>(beta))
{
ActualActual dayCounter;
DayCounter dayCounter = ActualActual(ActualActual::ISDA);
dayCount_ = dayCounter.dayCount(start, end);
yearFraction_ = dayCounter.yearFraction(start, end);
}
Expand Down
11 changes: 9 additions & 2 deletions ql/time/daycounters/actualactual.hpp
Expand Up @@ -91,8 +91,15 @@ namespace QuantLib {
Convention c,
const Schedule& schedule);
public:
ActualActual(Convention c = ActualActual::ISDA,
const Schedule& schedule = Schedule())
/*! \deprecated Use the other constructor.
Deprecated in version 1.23.
*/
QL_DEPRECATED
ActualActual()
: DayCounter(implementation(ActualActual::ISDA, Schedule())) {}

explicit ActualActual(Convention c,
const Schedule& schedule = Schedule())
: DayCounter(implementation(c, schedule)) {}
};

Expand Down
6 changes: 3 additions & 3 deletions test-suite/batesmodel.cpp
Expand Up @@ -66,7 +66,7 @@ void BatesModelTest::testAnalyticVsBlack() {
Date settlementDate = Date::todaysDate();
Settings::instance().evaluationDate() = settlementDate;

DayCounter dayCounter = ActualActual();
DayCounter dayCounter = ActualActual(ActualActual::ISDA);
Date exerciseDate = settlementDate + 6*Months;

ext::shared_ptr<StrikedTypePayoff> payoff(
Expand Down Expand Up @@ -179,7 +179,7 @@ void BatesModelTest::testAnalyticAndMcVsJumpDiffusion() {
Date settlementDate = Date::todaysDate();
Settings::instance().evaluationDate() = settlementDate;

DayCounter dayCounter = ActualActual();
DayCounter dayCounter = ActualActual(ActualActual::ISDA);

ext::shared_ptr<StrikedTypePayoff> payoff(
new PlainVanillaPayoff(Option::Put, 95));
Expand Down Expand Up @@ -308,7 +308,7 @@ void BatesModelTest::testAnalyticVsMCPricing() {
Date settlementDate(30, March, 2007);
Settings::instance().evaluationDate() = settlementDate;

DayCounter dayCounter = ActualActual();
DayCounter dayCounter = ActualActual(ActualActual::ISDA);
Date exerciseDate(30, March, 2012);

ext::shared_ptr<StrikedTypePayoff> payoff(
Expand Down
2 changes: 1 addition & 1 deletion test-suite/cdo.cpp
Expand Up @@ -138,7 +138,7 @@ void CdoTest::testHW(unsigned dataSet) {
ext::shared_ptr<DefaultProbabilityTermStructure> ptr (
new FlatHazardRate (asofDate,
hazardRate,
ActualActual()));
ActualActual(ActualActual::ISDA)));
ext::shared_ptr<Pool> pool (new Pool());
vector<string> names;
// probability key items
Expand Down
2 changes: 1 addition & 1 deletion test-suite/daycounters.cpp
Expand Up @@ -1034,7 +1034,7 @@ void DayCounterTest::testIntraday() {
const Time tol = 100*QL_EPSILON;

const DayCounter dayCounters[]
= { ActualActual(), Actual365Fixed(), Actual360() };
= { ActualActual(ActualActual::ISDA), Actual365Fixed(), Actual360() };

for (DayCounter dc : dayCounters) {
const Time expected = ((12*60 + 34)*60 + 17 + 0.231298)
Expand Down
2 changes: 1 addition & 1 deletion test-suite/gjrgarchmodel.cpp
Expand Up @@ -45,7 +45,7 @@ void GJRGARCHModelTest::testEngines() {
"Testing Monte Carlo GJR-GARCH engine against "
"analytic GJR-GARCH engine...");

DayCounter dayCounter = ActualActual();
DayCounter dayCounter = ActualActual(ActualActual::ISDA);

const Date today = Date::todaysDate();
Handle<YieldTermStructure> riskFreeTS(flatRate(today, 0.05, dayCounter));
Expand Down
16 changes: 8 additions & 8 deletions test-suite/hestonmodel.cpp
Expand Up @@ -295,7 +295,7 @@ void HestonModelTest::testAnalyticVsBlack() {

Date settlementDate = Date::todaysDate();
Settings::instance().evaluationDate() = settlementDate;
DayCounter dayCounter = ActualActual();
DayCounter dayCounter = ActualActual(ActualActual::ISDA);
Date exerciseDate = settlementDate + 6*Months;

ext::shared_ptr<StrikedTypePayoff> payoff(
Expand Down Expand Up @@ -366,7 +366,7 @@ void HestonModelTest::testAnalyticVsCached() {

Date settlementDate(27, December, 2004);
Settings::instance().evaluationDate() = settlementDate;
DayCounter dayCounter = ActualActual();
DayCounter dayCounter = ActualActual(ActualActual::ISDA);
Date exerciseDate(28, March, 2005);

ext::shared_ptr<StrikedTypePayoff> payoff(
Expand Down Expand Up @@ -468,7 +468,7 @@ void HestonModelTest::testMcVsCached() {
Date settlementDate(27, December, 2004);
Settings::instance().evaluationDate() = settlementDate;

DayCounter dayCounter = ActualActual();
DayCounter dayCounter = ActualActual(ActualActual::ISDA);
Date exerciseDate(28, March, 2005);

ext::shared_ptr<StrikedTypePayoff> payoff(
Expand Down Expand Up @@ -579,7 +579,7 @@ void HestonModelTest::testFdVanillaVsCached() {
Date settlementDate(27, December, 2004);
Settings::instance().evaluationDate() = settlementDate;

DayCounter dayCounter = ActualActual();
DayCounter dayCounter = ActualActual(ActualActual::ISDA);
Date exerciseDate(28, March, 2005);

ext::shared_ptr<StrikedTypePayoff> payoff(
Expand Down Expand Up @@ -721,7 +721,7 @@ void HestonModelTest::testKahlJaeckelCase() {
Date settlementDate(30, March, 2007);
Settings::instance().evaluationDate() = settlementDate;

DayCounter dayCounter = ActualActual();
DayCounter dayCounter = ActualActual(ActualActual::ISDA);
Date exerciseDate(30, March, 2017);

const ext::shared_ptr<StrikedTypePayoff> payoff(
Expand Down Expand Up @@ -874,7 +874,7 @@ void HestonModelTest::testDifferentIntegrals() {
const Date settlementDate(27, December, 2004);
Settings::instance().evaluationDate() = settlementDate;

const DayCounter dayCounter = ActualActual();
const DayCounter dayCounter = ActualActual(ActualActual::ISDA);

Handle<YieldTermStructure> riskFreeTS(flatRate(0.05, dayCounter));
Handle<YieldTermStructure> dividendTS(flatRate(0.03, dayCounter));
Expand Down Expand Up @@ -998,7 +998,7 @@ void HestonModelTest::testMultipleStrikesEngine() {
Date settlementDate(27, December, 2004);
Settings::instance().evaluationDate() = settlementDate;

DayCounter dayCounter = ActualActual();
DayCounter dayCounter = ActualActual(ActualActual::ISDA);
Date exerciseDate(28, March, 2006);

ext::shared_ptr<Exercise> exercise(
Expand Down Expand Up @@ -1078,7 +1078,7 @@ void HestonModelTest::testAnalyticPiecewiseTimeDependent() {

Date settlementDate(27, December, 2004);
Settings::instance().evaluationDate() = settlementDate;
DayCounter dayCounter = ActualActual();
DayCounter dayCounter = ActualActual(ActualActual::ISDA);
Date exerciseDate(28, March, 2005);

ext::shared_ptr<StrikedTypePayoff> payoff(
Expand Down
20 changes: 10 additions & 10 deletions test-suite/hestonslvmodel.cpp
Expand Up @@ -165,7 +165,7 @@ void HestonSLVModelTest::testBlackScholesFokkerPlanckFwdEquation() {

SavedSettings backup;

const DayCounter dc = ActualActual();
const DayCounter dc = ActualActual(ActualActual::ISDA);
const Date todaysDate = Date(28, Dec, 2012);
Settings::instance().evaluationDate() = todaysDate;

Expand Down Expand Up @@ -694,7 +694,7 @@ namespace {

SavedSettings backup;

const DayCounter dc = ActualActual();
const DayCounter dc = ActualActual(ActualActual::ISDA);
const Date todaysDate = Date(28, Dec, 2014);
Settings::instance().evaluationDate() = todaysDate;

Expand Down Expand Up @@ -1065,7 +1065,7 @@ void HestonSLVModelTest::testHestonFokkerPlanckFwdEquationLogLVLeverage() {

SavedSettings backup;

const DayCounter dc = ActualActual();
const DayCounter dc = ActualActual(ActualActual::ISDA);
const Date todaysDate = Date(28, Dec, 2012);
Settings::instance().evaluationDate() = todaysDate;

Expand Down Expand Up @@ -1236,7 +1236,7 @@ void HestonSLVModelTest::testBlackScholesFokkerPlanckFwdEquationLocalVol() {

SavedSettings backup;

const DayCounter dc = ActualActual();
const DayCounter dc = ActualActual(ActualActual::ISDA);
const Date todaysDate(5, July, 2014);
Settings::instance().evaluationDate() = todaysDate;

Expand Down Expand Up @@ -1627,7 +1627,7 @@ void HestonSLVModelTest::testBarrierPricingViaHestonLocalVol() {
BOOST_TEST_MESSAGE("Testing calibration via vanilla options...");

SavedSettings backup;
const DayCounter dc = ActualActual();
const DayCounter dc = ActualActual(ActualActual::ISDA);
const Date todaysDate(5, Nov, 2015);
Settings::instance().evaluationDate() = todaysDate;

Expand Down Expand Up @@ -1728,7 +1728,7 @@ void HestonSLVModelTest::testBarrierPricingMixedModels() {
BOOST_TEST_MESSAGE("Testing Barrier pricing with mixed models...");

SavedSettings backup;
const DayCounter dc = ActualActual();
const DayCounter dc = ActualActual(ActualActual::ISDA);
const Date todaysDate(5, Nov, 2015);
const Date exerciseDate = todaysDate + Period(1, Years);
Settings::instance().evaluationDate() = todaysDate;
Expand Down Expand Up @@ -1855,7 +1855,7 @@ void HestonSLVModelTest::testMonteCarloVsFdmPricing() {
"Heston SLV models...");

SavedSettings backup;
const DayCounter dc = ActualActual();
const DayCounter dc = ActualActual(ActualActual::ISDA);
const Date todaysDate(5, Dec, 2015);
const Date exerciseDate = todaysDate + Period(1, Years);
Settings::instance().evaluationDate() = todaysDate;
Expand Down Expand Up @@ -1961,7 +1961,7 @@ void HestonSLVModelTest::testMonteCarloCalibration() {

SavedSettings backup;

const DayCounter dc = ActualActual();
const DayCounter dc = ActualActual(ActualActual::ISDA);
const Date todaysDate(5, Jan, 2016);
const Date maturityDate = todaysDate + Period(1, Years);
Settings::instance().evaluationDate() = todaysDate;
Expand Down Expand Up @@ -2084,7 +2084,7 @@ void HestonSLVModelTest::testForwardSkewSLV() {

SavedSettings backup;

const DayCounter dc = ActualActual();
const DayCounter dc = ActualActual(ActualActual::ISDA);
const Date todaysDate(5, Jan, 2017);
const Date maturityDate = todaysDate + Period(2, Years);
Settings::instance().evaluationDate() = todaysDate;
Expand Down Expand Up @@ -2343,7 +2343,7 @@ void HestonSLVModelTest::testMoustacheGraph() {
Foreign Exchange Option Pricing: A Practitioner’s Guide
*/

const DayCounter dc = ActualActual();
const DayCounter dc = ActualActual(ActualActual::ISDA);
const Date todaysDate(5, Jan, 2016);
const Date maturityDate = todaysDate + Period(1, Years);
Settings::instance().evaluationDate() = todaysDate;
Expand Down
2 changes: 1 addition & 1 deletion test-suite/inflationcapfloor.cpp
Expand Up @@ -147,7 +147,7 @@ namespace inflation_capfloor_test {
}

ext::shared_ptr<YieldTermStructure> nominalFF(
new FlatForward(evaluationDate, 0.05, ActualActual()));
new FlatForward(evaluationDate, 0.05, ActualActual(ActualActual::ISDA)));
nominalTS.linkTo(nominalFF);

// now build the YoY inflation curve
Expand Down
2 changes: 1 addition & 1 deletion test-suite/inflationcapflooredcoupon.cpp
Expand Up @@ -156,7 +156,7 @@ namespace inflation_capfloored_coupon_test {
}

ext::shared_ptr<YieldTermStructure> nominalFF(
new FlatForward(evaluationDate, 0.05, ActualActual()));
new FlatForward(evaluationDate, 0.05, ActualActual(ActualActual::ISDA)));
nominalTS.linkTo(nominalFF);

// now build the YoY inflation curve
Expand Down
2 changes: 1 addition & 1 deletion test-suite/inflationcpibond.cpp
Expand Up @@ -101,7 +101,7 @@ namespace inflation_cpi_bond_test {
Date today(25, November, 2009);
evaluationDate = calendar.adjust(today);
Settings::instance().evaluationDate() = evaluationDate;
dayCounter = ActualActual();
dayCounter = ActualActual(ActualActual::ISDA);

Date from(20, July, 2007);
Date to(20, November, 2009);
Expand Down
4 changes: 2 additions & 2 deletions test-suite/inflationcpicapfloor.cpp
Expand Up @@ -144,8 +144,8 @@ namespace inflation_cpi_capfloor_test {
fixingDays = 0;
settlement = calendar.advance(today,settlementDays,Days);
startDate = settlement;
dcZCIIS = ActualActual();
dcNominal = ActualActual();
dcZCIIS = ActualActual(ActualActual::ISDA);
dcNominal = ActualActual(ActualActual::ISDA);

// uk rpi index
// fixing data
Expand Down
6 changes: 3 additions & 3 deletions test-suite/inflationcpiswap.cpp
Expand Up @@ -126,8 +126,8 @@ namespace inflation_cpi_swap_test {
fixingDays = 0;
settlement = calendar.advance(today,settlementDays,Days);
startDate = settlement;
dcZCIIS = ActualActual();
dcNominal = ActualActual();
dcZCIIS = ActualActual(ActualActual::ISDA);
dcNominal = ActualActual(ActualActual::ISDA);

// uk rpi index
// fixing data
Expand Down Expand Up @@ -393,7 +393,7 @@ void CPISwapTest::zciisconsistency() {
Date endDate(25, November, 2059);
Calendar cal = UnitedKingdom();
BusinessDayConvention paymentConvention = ModifiedFollowing;
DayCounter dummyDC, dc = ActualActual();
DayCounter dummyDC, dc = ActualActual(ActualActual::ISDA);
Period observationLag(2,Months);

Rate quote = 0.03714;
Expand Down
5 changes: 2 additions & 3 deletions test-suite/libormarketmodelprocess.cpp
Expand Up @@ -77,9 +77,8 @@ namespace libor_market_model_process_test {
dates.push_back(process->fixingDates()[i+1]);
}

return ext::make_shared<CapletVarianceCurve>(
todaysDate, dates,
capletVols, ActualActual());
return ext::make_shared<CapletVarianceCurve>(todaysDate, dates, capletVols,
ActualActual(ActualActual::ISDA));
}

ext::shared_ptr<LiborForwardModelProcess>
Expand Down
2 changes: 1 addition & 1 deletion test-suite/normalclvmodel.cpp
Expand Up @@ -391,7 +391,7 @@ void NormalCLVModelTest::testMoustacheGraph() {
Foreign Exchange Option Pricing: A Practitioner’s Guide
*/

const DayCounter dc = ActualActual();
const DayCounter dc = ActualActual(ActualActual::ISDA);
const Date todaysDate(5, Aug, 2016);
const Date maturityDate = todaysDate + Period(1, Years);
const Time maturityTime = dc.yearFraction(todaysDate, maturityDate);
Expand Down
4 changes: 2 additions & 2 deletions test-suite/piecewiseyieldcurve.cpp
Expand Up @@ -190,12 +190,12 @@ namespace piecewise_yield_curve_test {
fixedLegFrequency = Annual;
fixedLegDayCounter = Thirty360(Thirty360::BondBasis);
bondSettlementDays = 3;
bondDayCounter = ActualActual();
bondDayCounter = ActualActual(ActualActual::ISDA);
bondConvention = Following;
bondRedemption = 100.0;
bmaFrequency = Quarterly;
bmaConvention = Following;
bmaDayCounter = ActualActual();
bmaDayCounter = ActualActual(ActualActual::ISDA);

deposits = LENGTH(depositData);
fras = LENGTH(fraData);
Expand Down
2 changes: 1 addition & 1 deletion test-suite/quotes.cpp
Expand Up @@ -126,7 +126,7 @@ void QuoteTest::testForwardValueQuoteAndImpliedStdevQuote(){
BOOST_TEST_MESSAGE(
"Testing forward-value and implied-standard-deviation quotes...");
Real forwardRate = .05;
DayCounter dc = ActualActual();
DayCounter dc = ActualActual(ActualActual::ISDA);
Calendar calendar = TARGET();
ext::shared_ptr<SimpleQuote> forwardQuote(new SimpleQuote(forwardRate));
Handle<Quote> forwardHandle(forwardQuote);
Expand Down
2 changes: 1 addition & 1 deletion test-suite/squarerootclvmodel.cpp
Expand Up @@ -92,7 +92,7 @@ void SquareRootCLVModelTest::testSquareRootCLVVanillaPricing() {
const Date todaysDate(5, Oct, 2016);
Settings::instance().evaluationDate() = todaysDate;

const DayCounter dc = ActualActual();
const DayCounter dc = ActualActual(ActualActual::ISDA);
const Date maturityDate = todaysDate + Period(3, Months);
const Time maturity = dc.yearFraction(todaysDate, maturityDate);

Expand Down
6 changes: 3 additions & 3 deletions test-suite/swingoption.cpp
Expand Up @@ -186,7 +186,7 @@ void SwingOptionTest::testExtOUJumpVanillaEngine() {
const Date today = Date::todaysDate();
Settings::instance().evaluationDate() = today;

const DayCounter dc = ActualActual();
const DayCounter dc = ActualActual(ActualActual::ISDA);
const Date maturityDate = today + Period(12, Months);
const Time maturity = dc.yearFraction(today, maturityDate);

Expand Down Expand Up @@ -244,7 +244,7 @@ void SwingOptionTest::testFdBSSwingOption() {

Date settlementDate = Date::todaysDate();
Settings::instance().evaluationDate() = settlementDate;
DayCounter dayCounter = ActualActual();
DayCounter dayCounter = ActualActual(ActualActual::ISDA);
Date maturityDate = settlementDate + Period(12, Months);

Real strike = 30;
Expand Down Expand Up @@ -325,7 +325,7 @@ void SwingOptionTest::testExtOUJumpSwingOption() {

Date settlementDate = Date::todaysDate();
Settings::instance().evaluationDate() = settlementDate;
DayCounter dayCounter = ActualActual();
DayCounter dayCounter = ActualActual(ActualActual::ISDA);
Date maturityDate = settlementDate + Period(12, Months);

Real strike = 30;
Expand Down

0 comments on commit 692b2b6

Please sign in to comment.