http://quantlib.414.s1.nabble.com/calibration-G2-with-defferential-evolution-tp14969p14971.html
> Hello,
>
> Two days ago I posted a question about differential evolution and the
> shortratemodel G2.
> Meanwhile I learned how to minimize the Rosenbrockfunction with differential
> evolution.
> But my goal is to calibrate the G2 shortratemodel.
>
> For the 5 parameters of the G2++ model I want to have boundedconstraints:
> For instance:
> 0 < a < 6
> 0 < b < 6
> 0 < sigma < 0.25
> 0 < eta < 0.25
> -1 < rho < 1
>
> To accomplish this I made a class MyConstraint, see code below.
> ...
> MyConstraint mc;
> DifferentialEvolution deOptim(conf);
> modelG2pp->calibrate(swaptions, deOptim,
> EndCriteria(100,10,1e-10,1e-8,Null<Real>()), mc);
> ...
> But still I isn't not working.
> Can someone give me a hint of parts of code?
>
> Kind regards,
> André
>
>
>
> #include <iostream>
> #include <vector>
> #include <ql/quantlib.hpp>
> using namespace QuantLib;
>
> class MyConstraint : public Constraint {
> class Impl : public Constraint::Impl {
> public:
>
> bool test(const Array& x) const {
> Real a1 = x[0], a2 = x[1], a3 = x[2], a4=x[3], a5=x[4];
>
> return (0.0 <= a1 && a1 <= 6.0) &&
> (0.0 <= a2 && a2 <= 6.0) &&
> (0.0 <= a3 && a3 <= 0.25) &&
> (0.0 <= a4 && a4 <= 0.25) &&
> (-1.0 <= a5 && a5 <= 1.0);
>
> }
>
> };
> public:
>
> MyConstraint()
> : Constraint(boost::shared_ptr<Constraint::Impl>(new MyConstraint::Impl)) {}
>
> };
>
> int main(){
>
> ...
> double a = 0.1;
>
> double b = 0.1;
> double sigma = 0.01;
> double eta = 0.01;
> double rho = -0.75;
> boost::shared_ptr<G2> modelG2pp(new G2(yieldCurve, a, b, sigma, eta, rho));
> std::cout << "G2 (analytic formulae) calibration" << std::endl;
>
> MyConstraint mc;
> DifferentialEvolution::Configuration conf =
> DifferentialEvolution::Configuration()
> .withStepsizeWeight(0.4)
> .withBounds()
> .withCrossoverProbability(0.35)
> .withPopulationMembers(100)
> .withStrategy(DifferentialEvolution::BestMemberWithJitter)
> .withCrossoverType(DifferentialEvolution::Normal)
> .withAdaptiveCrossover()
> .withSeed(0);
>
> MyConstraint mc;
> DifferentialEvolution deOptim(conf);
> modelG2pp->calibrate(swaptions, deOptim,
> EndCriteria(100,10,1e-10,1e-8,Null<Real>()), mc);
>
> }
>
> ------------------------------------------------------------------------------
> Android apps run on BlackBerry 10
> Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
> Now with support for Jelly Bean, Bluetooth, Mapview and more.
> Get your Android app in front of a whole new audience. Start now.
>
http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk> _______________________________________________
> QuantLib-users mailing list
>
[hidden email]
>
https://lists.sourceforge.net/lists/listinfo/quantlib-users>
Get your Android app in front of a whole new audience. Start now.