Skip to content

Commit e80aaf2

Browse files
damienbarkerjenkins
authored andcommitted
QPR-11370 disable DynamicOptionletVolatilityStructure for Proxy surface when evaluation date moves
1 parent 1a52c40 commit e80aaf2

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

QuantExt/qle/termstructures/dynamicoptionletvolatilitystructure.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
*/
1818

1919
#include <qle/termstructures/dynamicoptionletvolatilitystructure.hpp>
20+
#include <qle/termstructures/proxyoptionletvolatility.hpp>
2021

2122
namespace QuantExt {
2223
DynamicOptionletVolatilityStructure::DynamicOptionletVolatilityStructure(
@@ -47,7 +48,11 @@ Date DynamicOptionletVolatilityStructure::maxDate() const {
4748
QL_FAIL("unexpected decay mode (" << decayMode_ << ")");
4849
}
4950

50-
void DynamicOptionletVolatilityStructure::update() { TermStructure::update(); }
51+
void DynamicOptionletVolatilityStructure::update() {
52+
if (boost::dynamic_pointer_cast<ProxyOptionletVolatility>(source_))
53+
QL_FAIL("DynamicOptionletVolatilityStructure does not support ProxyOptionletVolatility surface for moving evalution date.");
54+
TermStructure::update();
55+
}
5156

5257
boost::shared_ptr<SmileSection> DynamicOptionletVolatilityStructure::smileSectionImpl(Time optionTime) const {
5358
// Again, what strikes do we chose? Should not need this in any case.

0 commit comments

Comments
 (0)