Update of /cvsroot/quantlibaddin/QuantLibAddin/qlo
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv20459/qlo
Modified Files:
pricingengines.cpp pricingengines.hpp
Log Message:
exported BlackCalculator and BlackScholesCalculator
Index: pricingengines.cpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/pricingengines.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** pricingengines.cpp 23 Oct 2006 08:37:22 -0000 1.10
--- pricingengines.cpp 13 Nov 2006 09:33:44 -0000 1.11
***************
*** 18,21 ****
--- 18,22 ----
#include <qlo/pricingengines.hpp>
#include <qlo/typefactory.hpp>
+ #include <ql/PricingEngines/blackscholescalculator.hpp>
namespace QuantLibAddin {
***************
*** 70,73 ****
--- 71,97 ----
}
+ BlackCalculator::BlackCalculator(
+ const boost::shared_ptr<QuantLib::StrikedTypePayoff>& payoff,
+ QuantLib::Real forward,
+ QuantLib::Real stdDev,
+ QuantLib::DiscountFactor discount) {
+ libraryObject_ = boost::shared_ptr<QuantLib::BlackCalculator>(new
+ QuantLib::BlackCalculator(payoff, forward, stdDev, discount));
+ }
+
+ BlackScholesCalculator::BlackScholesCalculator(
+ const boost::shared_ptr<QuantLib::StrikedTypePayoff>& payoff,
+ QuantLib::Real spot,
+ QuantLib::DiscountFactor growth,
+ QuantLib::Real stdDev,
+ QuantLib::DiscountFactor discount)
+ {
+ QL_REQUIRE(discount>0.0, "discount must be greater than zero: " <<
+ discount << " not allowed");
+ libraryObject_ = boost::shared_ptr<QuantLib::BlackCalculator>(new
+ QuantLib::BlackScholesCalculator(payoff, spot, growth, stdDev,
+ discount));
+ }
+
}
Index: pricingengines.hpp
===================================================================
RCS file: /cvsroot/quantlibaddin/QuantLibAddin/qlo/pricingengines.hpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** pricingengines.hpp 23 Oct 2006 08:37:22 -0000 1.9
--- pricingengines.hpp 13 Nov 2006 09:33:44 -0000 1.10
***************
*** 22,25 ****
--- 22,26 ----
#include <oh/objhandler.hpp>
#include <ql/pricingengine.hpp>
+ #include <ql/PricingEngines/blackcalculator.hpp>
#include <ql/PricingEngines/Swaption/blackswaptionengine.hpp>
#include <ql/PricingEngines/CapFloor/blackcapfloorengine.hpp>
***************
*** 58,61 ****
--- 59,82 ----
};
+ class BlackCalculator : public ObjHandler::LibraryObject<QuantLib::BlackCalculator> {
+ public:
+ BlackCalculator(
+ const boost::shared_ptr<QuantLib::StrikedTypePayoff>& payoff,
+ QuantLib::Real forward,
+ QuantLib::Real variance,
+ QuantLib::DiscountFactor discount);
+ protected:
+ BlackCalculator() {}
+ };
+
+ class BlackScholesCalculator : public BlackCalculator {
+ public:
+ BlackScholesCalculator(
+ const boost::shared_ptr<QuantLib::StrikedTypePayoff>& payoff,
+ QuantLib::Real spot,
+ QuantLib::DiscountFactor growth,
+ QuantLib::Real variance,
+ QuantLib::DiscountFactor discount);
+ };
}
|