Logo
Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
analyticdoublebarrierbinaryengine.hpp
Go to the documentation of this file.
1/*
2 Copyright (C) 2022 Quaternion Risk Management Ltd
3 All rights reserved.
4
5 This file is part of ORE, a free-software/open-source library
6 for transparent pricing and risk analysis - http://opensourcerisk.org
7
8 ORE is free software: you can redistribute it and/or modify it
9 under the terms of the Modified BSD License. You should have received a
10 copy of the license along with this program.
11 The license is also available online at <http://opensourcerisk.org>
12
13 This program is distributed on the basis that it will form a useful
14 contribution to risk analytics and model standardisation, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16 FITNESS FOR A PARTICULAR PURPOSE. See the license for more details.
17*/
18
19/*! \file qle/pricingengines/analyticdoublebarrierbinaryengine.hpp
20 \brief Wrapper of QuantLib analytic double barrier binary engine to allow for flipping back some of the additional
21 results in the case of FX instruments where the trade builder may have inverted the underlying pair
22*/
23
24#pragma once
25
26#include <ql/pricingengines/barrier/analyticdoublebarrierbinaryengine.hpp>
27#include <ql/instruments/doublebarrieroption.hpp>
28
29namespace QuantExt {
30
31 using namespace QuantLib;
32
33 //! Analytic pricing engine for double barrier binary options
34 class AnalyticDoubleBarrierBinaryEngine : public QuantLib::AnalyticDoubleBarrierBinaryEngine {
35 public:
36 explicit AnalyticDoubleBarrierBinaryEngine(ext::shared_ptr<GeneralizedBlackScholesProcess> gbsp, const Date& payDate,
37 const bool flipResults = false)
38 : QuantLib::AnalyticDoubleBarrierBinaryEngine(gbsp), process_(std::move(gbsp)), payDate_(payDate),
39 flipResults_(flipResults) {
40 registerWith(process_);
41 }
42 void calculate() const override;
43
44 private:
45 ext::shared_ptr<GeneralizedBlackScholesProcess> process_;
48 };
49
50}
Analytic pricing engine for double barrier binary options.
AnalyticDoubleBarrierBinaryEngine(ext::shared_ptr< GeneralizedBlackScholesProcess > gbsp, const Date &payDate, const bool flipResults=false)
ext::shared_ptr< GeneralizedBlackScholesProcess > process_