Hi all, I'm trying to build the Eonia Yield curve, I've used two sets of data : -1st from https://gist.github.com/pcaspers/9366298 (output without errors). - the 2nd set of data from the attached picture (error: 1st iteration: failed at 8th alive instrument, maturity June 6th, 2014.....). With this set, I'm not getting the way to include EONECBFEB13, EONECBMAR13, EONECBAPR13, EONECBMAY13, EONECBJUN13, EONECBJUL13. I've used Period forwardTenor(3, Months); // 3 month forward, what would be the good forward tenor here? Is there a way to plot the result ? I'm using QuantLib on Ubuntu. Below is the code, and any help, suggestion, comments are welcome. Thanks in advance. #include <ql/quantlib.hpp> #include <iostream> #include <boost/assign/std/vector.hpp> #include <boost/make_shared.hpp> #include <iomanip> using namespace QuantLib; using namespace boost::assign; int main(int, char **) { try { std::cout << "EONIA curve test ... " << std::endl; // set evalulation date Date evalDate = Date(4, February, 2014); // for the 1st set of data //Date evalDate = Date(11, December, 2012); // for the 2nd set of data Date settlDate = TARGET().advance(evalDate, 2 * Days); Settings::instance().evaluationDate() = evalDate; DayCounter dayCounterOIS = Actual360(); double tolerance = 1.0e-15; // set up the interest rate curve // 1st set of data Real eoniaquotes[] = { 0.0013, 0.00156, 0.00163, 0.0016, 0.00163, 0.00147, 0.00139, 0.00131, 0.00125, 0.0012, 0.00117, 0.00114, 0.00112, 0.0011, 0.00111, 0.0011, 0.00111, 0.00117, 0.00127, 0.00143, 0.00264, 0.0045, 0.00656, 0.00866, 0.01065, 0.01247, 0.01411, 0.01558, 0.01687, 0.01799, 0.02051, 0.02238, 0.02302, 0.02322 , 0.02322, 0.02322 }; //2nd set of data /* Real eoniaquotes[] ={ 0.040, 0.070, 0.069, 0.078, 0.074, 0.061, 0.047, 0.033, 0.024, 0.018, 0.013, 0.009, 0.005, 0.003, 0.001, 0.000, 0.002, 0.008, 0.021, 0.036, 0.127, 0.274, 0.456, 0.647, 0.827, 0.996, 1.147, 1.280, 1.404, 1.516, 1.764,1.939, 2.003, 2.038, 0.046, 0.016}; //, -0.007, -0.013, -0.014,-0.016};*/ boost::shared_ptr<RateHelper> rhon = boost::make_shared<DepositRateHelper>( eoniaquotes[0], 1 * Days, 0, TARGET(), Following, false, Actual360()); boost::shared_ptr<OvernightIndex> eoniaBt = boost::make_shared<Eonia>(); boost::shared_ptr<RateHelper> rhe1w = boost::make_shared<OISRateHelper>( 2, 1 * Weeks, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[1])), eoniaBt); boost::shared_ptr<RateHelper> rhe2w = boost::make_shared<OISRateHelper>( 2, 2 * Weeks, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[2])), eoniaBt); boost::shared_ptr<RateHelper> rhe3w = boost::make_shared<OISRateHelper>( 2, 3 * Weeks, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[3])), eoniaBt); boost::shared_ptr<RateHelper> rhe1m = boost::make_shared<OISRateHelper>( 2, 1 * Months, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[4])), eoniaBt); boost::shared_ptr<RateHelper> rhe2m = boost::make_shared<OISRateHelper>( 2, 2 * Months, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[5])), eoniaBt); boost::shared_ptr<RateHelper> rhe3m = boost::make_shared<OISRateHelper>( 2, 3 * Months, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[6])), eoniaBt); boost::shared_ptr<RateHelper> rhe4m = boost::make_shared<OISRateHelper>( 2, 4 * Months, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[7])), eoniaBt); boost::shared_ptr<RateHelper> rhe5m = boost::make_shared<OISRateHelper>( 2, 5 * Months, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[8])), eoniaBt); boost::shared_ptr<RateHelper> rhe6m = boost::make_shared<OISRateHelper>( 2, 6 * Months, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[9])), eoniaBt); boost::shared_ptr<RateHelper> rhe7m = boost::make_shared<OISRateHelper>( 2, 7 * Months, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[10])), eoniaBt); boost::shared_ptr<RateHelper> rhe8m = boost::make_shared<OISRateHelper>( 2, 8 * Months, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[11])), eoniaBt); boost::shared_ptr<RateHelper> rhe9m = boost::make_shared<OISRateHelper>( 2, 9 * Months, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[12])), eoniaBt); boost::shared_ptr<RateHelper> rhe10m = boost::make_shared<OISRateHelper>( 2, 10 * Months, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[13])), eoniaBt); boost::shared_ptr<RateHelper> rhe11m = boost::make_shared<OISRateHelper>( 2, 11 * Months, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[14])), eoniaBt); boost::shared_ptr<RateHelper> rhe1y = boost::make_shared<OISRateHelper>( 2, 1 * Years, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[15])), eoniaBt); boost::shared_ptr<RateHelper> rhe15m = boost::make_shared<OISRateHelper>( 2, 15 * Months, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[16])), eoniaBt); boost::shared_ptr<RateHelper> rhe18m = boost::make_shared<OISRateHelper>( 2, 18 * Months, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[17])), eoniaBt); boost::shared_ptr<RateHelper> rhe21m = boost::make_shared<OISRateHelper>( 2, 21 * Months, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[18])), eoniaBt); boost::shared_ptr<RateHelper> rhe2y = boost::make_shared<OISRateHelper>( 2, 2 * Years, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[19])), eoniaBt); boost::shared_ptr<RateHelper> rhe3y = boost::make_shared<OISRateHelper>( 2, 3 * Years, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[20])), eoniaBt); boost::shared_ptr<RateHelper> rhe4y = boost::make_shared<OISRateHelper>( 2, 4 * Years, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[21])), eoniaBt); boost::shared_ptr<RateHelper> rhe5y = boost::make_shared<OISRateHelper>( 2, 5 * Years, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[22])), eoniaBt); boost::shared_ptr<RateHelper> rhe6y = boost::make_shared<OISRateHelper>( 2, 6 * Years, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[23])), eoniaBt); boost::shared_ptr<RateHelper> rhe7y = boost::make_shared<OISRateHelper>( 2, 7 * Years, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[24])), eoniaBt); boost::shared_ptr<RateHelper> rhe8y = boost::make_shared<OISRateHelper>( 2, 8 * Years, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[25])), eoniaBt); boost::shared_ptr<RateHelper> rhe9y = boost::make_shared<OISRateHelper>( 2, 9 * Years, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[26])), eoniaBt); boost::shared_ptr<RateHelper> rhe10y = boost::make_shared<OISRateHelper>( 2, 10 * Years, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[27])), eoniaBt); boost::shared_ptr<RateHelper> rhe11y = boost::make_shared<OISRateHelper>( 2, 11 * Years, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[28])), eoniaBt); boost::shared_ptr<RateHelper> rhe12y = boost::make_shared<OISRateHelper>( 2, 12 * Years, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[29])), eoniaBt); boost::shared_ptr<RateHelper> rhe15y = boost::make_shared<OISRateHelper>( 2, 15 * Years, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[30])), eoniaBt); boost::shared_ptr<RateHelper> rhe20y = boost::make_shared<OISRateHelper>( 2, 20 * Years, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[31])), eoniaBt); boost::shared_ptr<RateHelper> rhe25y = boost::make_shared<OISRateHelper>( 2, 25 * Years, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[32])), eoniaBt); boost::shared_ptr<RateHelper> rhe30y = boost::make_shared<OISRateHelper>( 2, 30 * Years, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[33])), eoniaBt); boost::shared_ptr<RateHelper> rhe40y = boost::make_shared<OISRateHelper>( 2, 40 * Years, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[34])), eoniaBt); boost::shared_ptr<RateHelper> rhe50y = boost::make_shared<OISRateHelper>( 2, 50 * Years, Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[35])), eoniaBt); std::vector<boost::shared_ptr<RateHelper> > eoniaratehelpers; eoniaratehelpers += rhon, rhe1w, rhe2w, rhe3w, rhe1m, rhe2m, rhe3m, rhe4m, rhe5m, rhe6m, rhe7m, rhe8m, rhe9m, rhe10m, rhe11m, rhe1y, rhe15m, rhe18m, rhe21m, rhe2y, rhe3y, rhe4y, rhe5y, rhe6y, rhe7y, rhe8y, rhe9y, rhe10y, rhe11y, rhe12y, rhe15y, rhe20y, rhe30y, rhe40y, rhe50y; // Handle<YieldTermStructure> ytsEonia( // boost::make_shared<PiecewiseYieldCurve<Discount, LogLinear> >curve( // 0, TARGET(), eoniaratehelpers, Actual365Fixed(), tolerance)); //ytsEonia->enableExtrapolation(); PiecewiseYieldCurve<Discount, LogLinear> curve(0, TARGET(), eoniaratehelpers, Actual365Fixed(), tolerance); curve.recalculate(); std::vector<Rate> spotRates, discountFactors, forwardRates; Period forwardTenor(3, Months); // 3 month forward // Construct spot curve, forward curve and discount curve for(Size i=0;i<eoniaratehelpers.size();i++) { Rate rate; Date d = eoniaratehelpers[i]->latestDate(); // spot rate rate = curve.zeroRate(d, Actual365Fixed(), Continuous, Annual, true); spotRates.push_back(rate); // forward rate rate = curve.forwardRate(d, TARGET().advance(d, forwardTenor),dayCounterOIS, Simple, Annual, true); forwardRates.push_back(rate); // discount rate rate = curve.discount(d, true); discountFactors.push_back(rate); } /////////////////////// Print out four sets of rates ////////////////////////////////// std::cout << std::setw(20) << std::left << "Spot Rate"<< std::setw(20) << std::left << "Forward Rate" << std::setw(20) << std::left << "Discount Rate"<< std::endl; for (int i = 0; i < spotRates.size(); i++) { std::cout.precision(5); std::cout << std::setw(20) << std::left << spotRates[i]*100 << std::setw(20) << std::left << forwardRates[i]*100 << std::setw(20) << std::left << discountFactors[i]*100 << std::endl; } return 0; } catch (std::exception& e) { std::cerr << e.what() << std::endl; return 1; } catch (...) { std::cerr << "unknown error" << std::endl; return 1; } } ------------------------------------------------------------------------------ Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users OISdata.png (384K) Download Attachment |
Hello Jeffrey,
your code is almost ok. A couple of things: - you have to insert rates as decimals, not percentages; that is, you should write 2% as 0.02, not 2.0. With this correction, the curve bootstraps also with the second set of data; - to insert forwards, you can use DatedOISRateHelper, that takes start and end date explicitly. For instance, you can write EONECBFEB13 as: boost::shared_ptr<RateHelper> rhefeb13 = boost::make_shared<DatedOISRateHelper>( Date(16, January, 2013), Date(13, February, 2013), Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[34])), eoniaBt); - finally, if you insert the forwards, you have to remove the swaps with the same maturity, or the curve will complain. For instance, if you use EONECBFEB13, remove the 2-months spot. I'm attaching a copy of your code with the corrections above. It runs and bootstraps the curve. I don't have a program to suggest for plotting. Worst case, you can just import the data into a spreadsheet and plot from there. Hope this helps, Luigi On Fri, May 2, 2014 at 7:45 PM, Mbongo Nkounga Jeffrey Ted Johnattan <[hidden email]> wrote: > > Hi all, > > I'm trying to build the Eonia Yield curve, I've used two sets of data : > -1st from https://gist.github.com/pcaspers/9366298 (output without errors). > - the 2nd set of data from the attached picture (error: 1st iteration: > failed at 8th alive instrument, maturity June 6th, 2014.....). With this > set, I'm not getting the way to include EONECBFEB13, EONECBMAR13, > EONECBAPR13, EONECBMAY13, EONECBJUN13, EONECBJUL13. I've used Period > forwardTenor(3, Months); // 3 month forward, what would be the good > forward tenor here? > Is there a way to plot the result ? I'm using QuantLib on Ubuntu. > > Below is the code, and any help, suggestion, comments are welcome. > > Thanks in advance. > > > #include <ql/quantlib.hpp> > #include <iostream> > > #include <boost/assign/std/vector.hpp> > > #include <boost/make_shared.hpp> > > #include <iomanip> > > using namespace QuantLib; > > using namespace boost::assign; > > int main(int, char **) { > > try { > > > > std::cout << "EONIA curve test ... " << std::endl; > > // set evalulation date > > Date evalDate = Date(4, February, 2014); // for the 1st set of data > > //Date evalDate = Date(11, December, 2012); // for the 2nd set of data > Date settlDate = TARGET().advance(evalDate, 2 * Days); > Settings::instance().evaluationDate() = evalDate; > > DayCounter dayCounterOIS = Actual360(); > > double tolerance = 1.0e-15; > > // set up the interest rate curve > > // 1st set of data > > Real eoniaquotes[] = { > 0.0013, 0.00156, 0.00163, 0.0016, 0.00163, 0.00147, 0.00139, 0.00131, > 0.00125, 0.0012, 0.00117, 0.00114, 0.00112, 0.0011, 0.00111, 0.0011, > 0.00111, 0.00117, 0.00127, 0.00143, 0.00264, 0.0045, 0.00656, 0.00866, > 0.01065, 0.01247, 0.01411, 0.01558, 0.01687, 0.01799, 0.02051, 0.02238, > 0.02302, 0.02322 , 0.02322, 0.02322 > }; > > //2nd set of data > /* > Real eoniaquotes[] ={ > 0.040, 0.070, 0.069, 0.078, 0.074, 0.061, 0.047, 0.033, 0.024, 0.018, > 0.013, 0.009, 0.005, 0.003, 0.001, 0.000, 0.002, 0.008, 0.021, 0.036, > 0.127, 0.274, 0.456, 0.647, 0.827, 0.996, 1.147, 1.280, 1.404, 1.516, > 1.764,1.939, 2.003, 2.038, 0.046, 0.016}; > //, -0.007, -0.013, -0.014,-0.016};*/ > > boost::shared_ptr<RateHelper> rhon = > boost::make_shared<DepositRateHelper>( > eoniaquotes[0], 1 * Days, 0, TARGET(), Following, false, Actual360()); > > boost::shared_ptr<OvernightIndex> eoniaBt = boost::make_shared<Eonia>(); > > boost::shared_ptr<RateHelper> rhe1w = boost::make_shared<OISRateHelper>( > 2, 1 * Weeks, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[1])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe2w = boost::make_shared<OISRateHelper>( > 2, 2 * Weeks, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[2])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe3w = boost::make_shared<OISRateHelper>( > 2, 3 * Weeks, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[3])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe1m = boost::make_shared<OISRateHelper>( > 2, 1 * Months, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[4])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe2m = boost::make_shared<OISRateHelper>( > 2, 2 * Months, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[5])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe3m = boost::make_shared<OISRateHelper>( > 2, 3 * Months, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[6])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe4m = boost::make_shared<OISRateHelper>( > 2, 4 * Months, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[7])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe5m = boost::make_shared<OISRateHelper>( > 2, 5 * Months, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[8])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe6m = > boost::make_shared<OISRateHelper>( > 2, 6 * Months, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[9])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe7m = boost::make_shared<OISRateHelper>( > 2, 7 * Months, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[10])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe8m = boost::make_shared<OISRateHelper>( > 2, 8 * Months, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[11])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe9m = boost::make_shared<OISRateHelper>( > 2, 9 * Months, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[12])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe10m = > boost::make_shared<OISRateHelper>( > 2, 10 * Months, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[13])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe11m = > boost::make_shared<OISRateHelper>( > 2, 11 * Months, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[14])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe1y = boost::make_shared<OISRateHelper>( > 2, 1 * Years, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[15])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe15m = > boost::make_shared<OISRateHelper>( > 2, 15 * Months, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[16])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe18m = > boost::make_shared<OISRateHelper>( > 2, 18 * Months, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[17])), > eoniaBt); > > boost::shared_ptr<RateHelper> rhe21m = > boost::make_shared<OISRateHelper>( > 2, 21 * Months, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[18])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe2y = boost::make_shared<OISRateHelper>( > 2, 2 * Years, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[19])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe3y = boost::make_shared<OISRateHelper>( > 2, 3 * Years, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[20])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe4y = boost::make_shared<OISRateHelper>( > 2, 4 * Years, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[21])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe5y = boost::make_shared<OISRateHelper>( > 2, 5 * Years, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[22])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe6y = boost::make_shared<OISRateHelper>( > 2, 6 * Years, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[23])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe7y = boost::make_shared<OISRateHelper>( > 2, 7 * Years, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[24])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe8y = boost::make_shared<OISRateHelper>( > 2, 8 * Years, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[25])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe9y = boost::make_shared<OISRateHelper>( > 2, 9 * Years, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[26])), > eoniaBt); > > boost::shared_ptr<RateHelper> rhe10y = > boost::make_shared<OISRateHelper>( > 2, 10 * Years, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[27])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe11y = > boost::make_shared<OISRateHelper>( > 2, 11 * Years, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[28])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe12y = > boost::make_shared<OISRateHelper>( > 2, 12 * Years, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[29])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe15y = > boost::make_shared<OISRateHelper>( > 2, 15 * Years, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[30])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe20y = > boost::make_shared<OISRateHelper>( > 2, 20 * Years, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[31])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe25y = > boost::make_shared<OISRateHelper>( > 2, 25 * Years, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[32])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe30y = > boost::make_shared<OISRateHelper>( > 2, 30 * Years, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[33])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe40y = > boost::make_shared<OISRateHelper>( > 2, 40 * Years, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[34])), > eoniaBt); > boost::shared_ptr<RateHelper> rhe50y = > boost::make_shared<OISRateHelper>( > 2, 50 * Years, > Handle<Quote>(boost::make_shared<SimpleQuote>(eoniaquotes[35])), > eoniaBt); > > std::vector<boost::shared_ptr<RateHelper> > eoniaratehelpers; > eoniaratehelpers += rhon, rhe1w, rhe2w, rhe3w, rhe1m, rhe2m, rhe3m, > rhe4m, > rhe5m, rhe6m, rhe7m, rhe8m, rhe9m, rhe10m, rhe11m, rhe1y, rhe15m, > rhe18m, rhe21m, rhe2y, rhe3y, rhe4y, rhe5y, rhe6y, rhe7y, rhe8y, > rhe9y, > rhe10y, rhe11y, rhe12y, rhe15y, rhe20y, rhe30y, rhe40y, rhe50y; > > // Handle<YieldTermStructure> ytsEonia( > // boost::make_shared<PiecewiseYieldCurve<Discount, LogLinear> >>curve( > // 0, TARGET(), eoniaratehelpers, Actual365Fixed(), tolerance)); > > //ytsEonia->enableExtrapolation(); > > > PiecewiseYieldCurve<Discount, LogLinear> curve(0, TARGET(), > eoniaratehelpers, Actual365Fixed(), tolerance); > > curve.recalculate(); > std::vector<Rate> spotRates, discountFactors, forwardRates; > Period forwardTenor(3, Months); // 3 month forward > > > // Construct spot curve, forward curve and discount curve > > for(Size i=0;i<eoniaratehelpers.size();i++) > > { > > Rate rate; > Date d = eoniaratehelpers[i]->latestDate(); > // spot rate > > rate = curve.zeroRate(d, Actual365Fixed(), Continuous, > Annual, true); > > spotRates.push_back(rate); > > // forward rate > > rate = curve.forwardRate(d, TARGET().advance(d, > forwardTenor),dayCounterOIS, Simple, Annual, true); > > forwardRates.push_back(rate); > > // discount rate > > rate = curve.discount(d, true); > > discountFactors.push_back(rate); > > } > > /////////////////////// Print out four sets of rates > ////////////////////////////////// > > std::cout << std::setw(20) << std::left << "Spot Rate"<< > std::setw(20) > > << std::left << "Forward Rate" << std::setw(20) << std::left << > "Discount Rate"<< std::endl; > > > > for (int i = 0; i < spotRates.size(); i++) { > > std::cout.precision(5); > > std::cout << std::setw(20) << std::left << > spotRates[i]*100 > > << std::setw(20) << std::left << > forwardRates[i]*100 > > << std::setw(20) << std::left << > discountFactors[i]*100 > > << std::endl; > > } > > return 0; > > } catch (std::exception& e) { > std::cerr << e.what() << std::endl; > return 1; > } catch (...) { > std::cerr << "unknown error" << std::endl; > return 1; > } > } > > ------------------------------------------------------------------------------ > Is your legacy SCM system holding you back? Join Perforce May 7 to find out: > • 3 signs your SCM is hindering your productivity > • Requirements for releasing software faster > • Expert tips and advice for migrating your SCM now > http://p.sf.net/sfu/perforce > _______________________________________________ > QuantLib-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/quantlib-users > -- <https://implementingquantlib.blogspot.com> <https://twitter.com/lballabio> ------------------------------------------------------------------------------ Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users eonia.cpp (15K) Download Attachment |
Dear Luigi,
However,
I am getting errors.
jeffrey@angola:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$
g++ eonia.cpp -o eonia
-lQuantLib
jeffrey@angola:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ ./eonia
EONIA
curve test ...
1st iteration: failed at 8th alive instrument, maturity April 10th, 2013, reference date December 11th, 2012: root not bracketed: f[2.22045e-16,0.99988] -> [-5.789650e+16,-7.000000e-05]
jeffrey@angola:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$
g++ eonia.cpp -o eonia
-lQuantLib jeffrey@angola:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ ./eonia Output EONIA curve test ...
negative time (-0.975342) given
Finally,
rhe4m, rhe5m, rhe6m, rhe7m (respectively) do not have exactly the
same maturities with rheapr13, rhemay13, rhejun13, rhejul13
(respectively), should not I include all of them (in
eoniaratehelpers)?
Thanks Jeffrey
------------------------------------------------------------------------------ Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
That's weird. What happens on my machine is:
$ g++ eonia.cpp -o eonia -lQuantLib $ ./eonia EONIA curve test ... Spot Rate Forward Rate Discount 0.040556 0.047224 1 0.067592 0.040634 0.99998 0.068183 0.0348 0.99997 0.077054 0.026789 0.99995 0.073892 0.01722 0.99993 0.061117 -0.002045 0.99989 0.047453 -0.011587 0.99988 0.034725 -0.014308 0.99989 0.025662 -0.014933 0.9999 0.018039 -0.019017 0.99991 0.013492 -0.018741 0.99992 0.0095054 -0.020129 0.99994 0.0054367 -0.015054 0.99996 0.0033851 -0.0064285 0.99997 0.0013388 0.0031728 0.99999 0.00030389 0.010111 1 0.002263 0.037677 0.99997 0.0082849 0.096664 0.99988 0.021399 0.14168 0.99962 0.036552 0.31028 0.99927 0.12868 0.7177 0.99614 0.27796 1.1932 0.98892 0.46366 1.6234 0.97705 0.65989 1.9442 0.96113 0.84632 2.2298 0.94241 1.023 2.4372 0.92129 1.1824 2.5743 0.89893 1.3242 2.7674 0.87585 1.4579 2.8908 0.8517 1.5799 2.9234 0.82712 1.8543 2.5917 0.75699 2.0456 2.3064 0.66398 2.1409 2.3064 0.52575 Did you change anything in the file I sent? What version of QuantLib are you using? Luigi On Thu, May 8, 2014 at 10:47 AM, Mbongo Nkounga Jeffrey Ted Johnattan <[hidden email]> wrote: > Dear Luigi, > thank you so much, I really appreciate your help, especially the way > inserting forwards. > However, I am getting errors. > I'm using QuantLib in Linux, and I'm doing the following: > > jeffrey@angola:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ g++ > eonia.cpp -o eonia -lQuantLib > jeffrey@angola:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ > ./eonia > > Output: > EONIA curve test ... > 1st iteration: failed at 8th alive instrument, maturity April 10th, 2013, > reference date December 11th, 2012: root not bracketed: > f[2.22045e-16,0.99988] -> [-5.789650e+16,-7.000000e-05] > > By curiosity, I've tried to run the first set of data: > jeffrey@angola:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ g++ > eonia.cpp -o eonia -lQuantLib > jeffrey@angola:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ > ./eonia > > Output > EONIA curve test ... > negative time (-0.975342) given > > Finally, rhe4m, rhe5m, rhe6m, rhe7m (respectively) do not have exactly the > same maturities with rheapr13, rhemay13, rhejun13, rhejul13 (respectively), > should not I include all of them (in eoniaratehelpers)? > > Thanks > > Jeffrey -- <https://implementingquantlib.blogspot.com> <https://twitter.com/lballabio> ------------------------------------------------------------------------------ Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
Dear
Luigi,
I
did not change anything, I don't know which version I have, I
downloaded QuantLib-1.3 and QuantLib-1.4. Which version do I need? how to update or install it?
Thanks Le Jeudi 8 mai 2014 12h17, Luigi Ballabio <[hidden email]> a écrit : That's weird. What happens on my machine is: $ g++ eonia.cpp -o eonia -lQuantLib $ ./eonia EONIA curve test ... Spot Rate Forward Rate Discount 0.040556 0.047224 1 0.067592 0.040634 0.99998 0.068183 0.0348 0.99997 0.077054 0.026789 0.99995 0.073892 0.01722 0.99993 0.061117 -0.002045 0.99989 0.047453 -0.011587 0.99988 0.034725 -0.014308 0.99989 0.025662 -0.014933 0.9999 0.018039 -0.019017 0.99991 0.013492 -0.018741 0.99992 0.0095054 -0.020129 0.99994 0.0054367 -0.015054 0.99996 0.0033851 -0.0064285 0.99997 0.0013388 0.0031728 0.99999 0.00030389 0.010111 1 0.002263 0.037677 0.99997 0.0082849 0.096664 0.99988 0.021399 0.14168 0.99962 0.036552 0.31028 0.99927 0.12868 0.7177 0.99614 0.27796 1.1932 0.98892 0.46366 1.6234 0.97705 0.65989 1.9442 0.96113 0.84632 2.2298 0.94241 1.023 2.4372 0.92129 1.1824 2.5743 0.89893 1.3242 2.7674 0.87585 1.4579 2.8908 0.8517 1.5799 2.9234 0.82712 1.8543 2.5917 0.75699 2.0456 2.3064 0.66398 2.1409 2.3064 0.52575 Did you change anything in the file I sent? What version of QuantLib are you using? Luigi On Thu, May 8, 2014 at 10:47 AM, Mbongo Nkounga Jeffrey Ted Johnattan <[hidden email]> wrote: > Dear Luigi, > thank you so much, I really appreciate your help, especially the way > inserting forwards. > However, I am getting errors. > I'm using QuantLib in Linux, and I'm doing the following: > > [hidden email]:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ g++ > eonia.cpp -o eonia -lQuantLib > [hidden email]:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ > ./eonia > > Output: > EONIA curve test ... > 1st iteration: failed at 8th alive instrument, maturity April 10th, 2013, > reference date December 11th, 2012: root not bracketed: > f[2.22045e-16,0.99988] -> [-5.789650e+16,-7.000000e-05] > > By curiosity, I've tried to run the first set of data: > [hidden email]:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ g++ > eonia.cpp -o eonia -lQuantLib > [hidden email]:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ > ./eonia > > Output > EONIA curve test ... > negative time (-0.975342) given > > Finally, rhe4m, rhe5m, rhe6m, rhe7m (respectively) do not have exactly the > same maturities with rheapr13, rhemay13, rhejun13, rhejul13 (respectively), > should not I include all of them (in eoniaratehelpers)? > > Thanks > > Jeffrey -- <https://implementingquantlib.blogspot.com> <https://twitter.com/lballabio > ------------------------------------------------------------------------------ Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
I'm using 1.4. If you're on Linux, download the release, uncompress
it, and then from inside the folder execute: $ ./configure $ make $ sudo make install As for the maturities: they're very close, so they might constrain the bootstrap process too much. I'd leave the swaps out, but you can experiment with and without them and see what happens. Luigi On Thu, May 8, 2014 at 12:48 PM, Mbongo Nkounga Jeffrey Ted Johnattan <[hidden email]> wrote: > > Dear Luigi, > > I did not change anything, I don't know which version I have, I downloaded > QuantLib-1.3 and QuantLib-1.4. > Which version do I need? how to update or install it? > > Finally, rhe4m, rhe5m, rhe6m, rhe7m (respectively) do not have exactly the > same maturities with rheapr13, rhemay13, rhejun13, rhejul13 (respectively), > should not I include all of them (in eoniaratehelpers)? > > Thanks > Le Jeudi 8 mai 2014 12h17, Luigi Ballabio <[hidden email]> a écrit > : > That's weird. What happens on my machine is: > > $ g++ eonia.cpp -o eonia -lQuantLib > $ ./eonia > EONIA curve test ... > Spot Rate Forward Rate Discount > 0.040556 0.047224 1 > 0.067592 0.040634 0.99998 > 0.068183 0.0348 0.99997 > 0.077054 0.026789 0.99995 > 0.073892 0.01722 0.99993 > 0.061117 -0.002045 0.99989 > 0.047453 -0.011587 0.99988 > 0.034725 -0.014308 0.99989 > 0.025662 -0.014933 0.9999 > 0.018039 -0.019017 0.99991 > 0.013492 -0.018741 0.99992 > 0.0095054 -0.020129 0.99994 > 0.0054367 -0.015054 0.99996 > 0.0033851 -0.0064285 0.99997 > 0.0013388 0.0031728 0.99999 > 0.00030389 0.010111 1 > 0.002263 0.037677 0.99997 > 0.0082849 0.096664 0.99988 > 0.021399 0.14168 0.99962 > 0.036552 0.31028 0.99927 > 0.12868 0.7177 0.99614 > 0.27796 1.1932 0.98892 > 0.46366 1.6234 0.97705 > 0.65989 1.9442 0.96113 > 0.84632 2.2298 0.94241 > 1.023 2.4372 0.92129 > 1.1824 2.5743 0.89893 > 1.3242 2.7674 0.87585 > 1.4579 2.8908 0.8517 > 1.5799 2.9234 0.82712 > 1.8543 2.5917 0.75699 > 2.0456 2.3064 0.66398 > 2.1409 2.3064 0.52575 > > Did you change anything in the file I sent? What version of QuantLib > are you using? > > Luigi > > > > > On Thu, May 8, 2014 at 10:47 AM, Mbongo Nkounga Jeffrey Ted Johnattan > <[hidden email]> wrote: >> Dear Luigi, >> thank you so much, I really appreciate your help, especially the way >> inserting forwards. >> However, I am getting errors. >> I'm using QuantLib in Linux, and I'm doing the following: >> >> jeffrey@angola:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ g++ >> eonia.cpp -o eonia -lQuantLib >> jeffrey@angola:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ >> ./eonia >> >> Output: >> EONIA curve test ... >> 1st iteration: failed at 8th alive instrument, maturity April 10th, 2013, >> reference date December 11th, 2012: root not bracketed: >> f[2.22045e-16,0.99988] -> [-5.789650e+16,-7.000000e-05] >> >> By curiosity, I've tried to run the first set of data: >> jeffrey@angola:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ g++ >> eonia.cpp -o eonia -lQuantLib >> jeffrey@angola:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ >> ./eonia >> >> Output >> EONIA curve test ... >> negative time (-0.975342) given >> >> Finally, rhe4m, rhe5m, rhe6m, rhe7m (respectively) do not have exactly the >> same maturities with rheapr13, rhemay13, rhejun13, rhejul13 >> (respectively), >> should not I include all of them (in eoniaratehelpers)? >> >> Thanks >> >> Jeffrey > > > > > -- > <https://implementingquantlib.blogspot.com> > <https://twitter.com/lballabio >> > > -- <https://implementingquantlib.blogspot.com> <https://twitter.com/lballabio> ------------------------------------------------------------------------------ Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
Dear Luigi, . Oooh I've tried to run the code with my own computer and It's working. But it was not working with my office computer. By the way, I'd like also to update QuantLib-1.4, but I'm getting the output below (both computers), after uncompressing, I put QuantLib-1.4 on my Desktop. From my terminal: jeffrey@jeffrey:~$ cd Desktop/QuantLib-1.4 jeffrey@jeffrey:~/Desktop/QuantLib-1.4$ ./configure bash: ./configure: Permission denied Thanks Le Jeudi 8 mai 2014 13h01, Luigi Ballabio <[hidden email]> a écrit : I'm using 1.4. If you're on Linux, download the release, uncompress it, and then from inside the folder execute: $ ./configure $ make $ sudo make install As for the maturities: they're very close, so they might constrain the bootstrap process too much. I'd leave the swaps out, but you can experiment with and without them and see what happens. Luigi On Thu, May 8, 2014 at 12:48 PM, Mbongo Nkounga Jeffrey Ted Johnattan <[hidden email]> wrote: > > Dear Luigi, > > I did not change anything, I don't know which version I have, I downloaded > QuantLib-1.3 and QuantLib-1.4. > Which version do I need? how to update or install it? > > Finally, rhe4m, rhe5m, rhe6m, rhe7m (respectively) do not have exactly the > same maturities with rheapr13, rhemay13, rhejun13, rhejul13 (respectively), > should not I include all of them (in eoniaratehelpers)? > > Thanks > Le Jeudi 8 mai 2014 12h17, Luigi Ballabio <[hidden email]> a écrit > : > That's weird. What happens on my machine is: > > $ g++ eonia.cpp -o eonia -lQuantLib > $ ./eonia > EONIA curve test ... > Spot Rate Forward Rate Discount > 0.040556 0.047224 1 > 0.067592 0.040634 0.99998 > 0.068183 0.0348 0.99997 > 0.077054 0.026789 0.99995 > 0.073892 0.01722 0.99993 > 0.061117 -0.002045 0.99989 > 0.047453 -0.011587 0.99988 > 0.034725 -0.014308 0.99989 > 0.025662 -0.014933 0.9999 > 0.018039 -0.019017 0.99991 > 0.013492 -0.018741 0.99992 > 0.0095054 -0.020129 0.99994 > 0.0054367 -0.015054 0.99996 > 0.0033851 -0.0064285 0.99997 > 0.0013388 0.0031728 0.99999 > 0.00030389 0.010111 1 > 0.002263 0.037677 0.99997 > 0.0082849 0.096664 0.99988 > 0.021399 0.14168 0.99962 > 0.036552 0.31028 0.99927 > 0.12868 0.7177 0.99614 > 0.27796 1.1932 0.98892 > 0.46366 1.6234 0.97705 > 0.65989 1.9442 0.96113 > 0.84632 2.2298 0.94241 > 1.023 2.4372 0.92129 > 1.1824 2.5743 0.89893 > 1.3242 2.7674 0.87585 > 1.4579 2.8908 0.8517 > 1.5799 2.9234 0.82712 > 1.8543 2.5917 0.75699 > 2.0456 2.3064 0.66398 > 2.1409 2.3064 0.52575 > > Did you change anything in the file I sent? What version of QuantLib > are you using? > > Luigi > > > > > On Thu, May 8, 2014 at 10:47 AM, Mbongo Nkounga Jeffrey Ted Johnattan > <[hidden email]> wrote: >> Dear Luigi, >> thank you so much, I really appreciate your help, especially the way >> inserting forwards. >> However, I am getting errors. >> I'm using QuantLib in Linux, and I'm doing the following: >> >> [hidden email]:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ g++ >> eonia.cpp -o eonia -lQuantLib >> [hidden email]:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ >> ./eonia >> >> Output: >> EONIA curve test ... >> 1st iteration: failed at 8th alive instrument, maturity April 10th, 2013, >> reference date December 11th, 2012: root not bracketed: >> f[2.22045e-16,0.99988] -> [-5.789650e+16,-7.000000e-05] >> >> By curiosity, I've tried to run the first set of data: >> [hidden email]:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ g++ >> eonia.cpp -o eonia -lQuantLib >> [hidden email]:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ >> ./eonia >> >> Output >> EONIA curve test ... >> negative time (-0.975342) given >> >> Finally, rhe4m, rhe5m, rhe6m, rhe7m (respectively) do not have exactly the >> same maturities with rheapr13, rhemay13, rhejun13, rhejul13 >> (respectively), >> should not I include all of them (in eoniaratehelpers)? >> >> Thanks >> >> Jeffrey > > > > > -- > <https://implementingquantlib.blogspot.com> > <https://twitter.com/lballabio >> > > -- <https://implementingquantlib.blogspot.com> <https://twitter.com/lballabio> ------------------------------------------------------------------------------ Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
No idea about this one, sorry. Do you have any IT support at the office?
On Thu, May 8, 2014 at 2:12 PM, Mbongo Nkounga Jeffrey Ted Johnattan <[hidden email]> wrote: > > Dear Luigi, . > > Oooh I've tried to run the code with my own computer and It's working. > But it was not working with my office computer. > > By the way, I'd like also to update QuantLib-1.4, but I'm getting the output > below (both computers), after uncompressing, I put QuantLib-1.4 on my > Desktop. > > From my terminal: > > jeffrey@jeffrey:~$ cd Desktop/QuantLib-1.4 > jeffrey@jeffrey:~/Desktop/QuantLib-1.4$ ./configure > bash: ./configure: Permission denied > > Thanks > > Le Jeudi 8 mai 2014 13h01, Luigi Ballabio <[hidden email]> a écrit > : > I'm using 1.4. If you're on Linux, download the release, uncompress > it, and then from inside the folder execute: > > $ ./configure > $ make > $ sudo make install > > As for the maturities: they're very close, so they might constrain the > bootstrap process too much. I'd leave the swaps out, but you can > experiment with and without them and see what happens. > > Luigi > > > > On Thu, May 8, 2014 at 12:48 PM, Mbongo Nkounga Jeffrey Ted Johnattan > <[hidden email]> wrote: >> >> Dear Luigi, >> >> I did not change anything, I don't know which version I have, I downloaded >> QuantLib-1.3 and QuantLib-1.4. >> Which version do I need? how to update or install it? >> >> Finally, rhe4m, rhe5m, rhe6m, rhe7m (respectively) do not have exactly the >> same maturities with rheapr13, rhemay13, rhejun13, rhejul13 >> (respectively), >> should not I include all of them (in eoniaratehelpers)? >> >> Thanks >> Le Jeudi 8 mai 2014 12h17, Luigi Ballabio <[hidden email]> a >> écrit >> : >> That's weird. What happens on my machine is: >> >> $ g++ eonia.cpp -o eonia -lQuantLib >> $ ./eonia >> EONIA curve test ... >> Spot Rate Forward Rate Discount >> 0.040556 0.047224 1 >> 0.067592 0.040634 0.99998 >> 0.068183 0.0348 0.99997 >> 0.077054 0.026789 0.99995 >> 0.073892 0.01722 0.99993 >> 0.061117 -0.002045 0.99989 >> 0.047453 -0.011587 0.99988 >> 0.034725 -0.014308 0.99989 >> 0.025662 -0.014933 0.9999 >> 0.018039 -0.019017 0.99991 >> 0.013492 -0.018741 0.99992 >> 0.0095054 -0.020129 0.99994 >> 0.0054367 -0.015054 0.99996 >> 0.0033851 -0.0064285 0.99997 >> 0.0013388 0.0031728 0.99999 >> 0.00030389 0.010111 1 >> 0.002263 0.037677 0.99997 >> 0.0082849 0.096664 0.99988 >> 0.021399 0.14168 0.99962 >> 0.036552 0.31028 0.99927 >> 0.12868 0.7177 0.99614 >> 0.27796 1.1932 0.98892 >> 0.46366 1.6234 0.97705 >> 0.65989 1.9442 0.96113 >> 0.84632 2.2298 0.94241 >> 1.023 2.4372 0.92129 >> 1.1824 2.5743 0.89893 >> 1.3242 2.7674 0.87585 >> 1.4579 2.8908 0.8517 >> 1.5799 2.9234 0.82712 >> 1.8543 2.5917 0.75699 >> 2.0456 2.3064 0.66398 >> 2.1409 2.3064 0.52575 >> >> Did you change anything in the file I sent? What version of QuantLib >> are you using? >> >> Luigi >> >> >> >> >> On Thu, May 8, 2014 at 10:47 AM, Mbongo Nkounga Jeffrey Ted Johnattan >> <[hidden email]> wrote: >>> Dear Luigi, >>> thank you so much, I really appreciate your help, especially the way >>> inserting forwards. >>> However, I am getting errors. >>> I'm using QuantLib in Linux, and I'm doing the following: >>> >>> jeffrey@angola:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ g++ >>> eonia.cpp -o eonia -lQuantLib >>> jeffrey@angola:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ >>> ./eonia >>> >>> Output: >>> EONIA curve test ... >>> 1st iteration: failed at 8th alive instrument, maturity April 10th, 2013, >>> reference date December 11th, 2012: root not bracketed: >>> f[2.22045e-16,0.99988] -> [-5.789650e+16,-7.000000e-05] >>> >>> By curiosity, I've tried to run the first set of data: >>> jeffrey@angola:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ g++ >>> eonia.cpp -o eonia -lQuantLib >>> jeffrey@angola:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ >>> ./eonia >>> >>> Output >>> EONIA curve test ... >>> negative time (-0.975342) given >>> >>> Finally, rhe4m, rhe5m, rhe6m, rhe7m (respectively) do not have exactly >>> the >>> same maturities with rheapr13, rhemay13, rhejun13, rhejul13 >>> (respectively), >>> should not I include all of them (in eoniaratehelpers)? >>> >>> Thanks >>> >>> Jeffrey >> >> >> >> >> -- >> <https://implementingquantlib.blogspot.com> >> <https://twitter.com/lballabio > >>> >> >> > > > > -- > <https://implementingquantlib.blogspot.com> > <https://twitter.com/lballabio> > > -- <https://implementingquantlib.blogspot.com> <https://twitter.com/lballabio> ------------------------------------------------------------------------------ Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
In reply to this post by jeffrey
Dear Luigi thank you very much for the support. I got help from my IT, by doing the following 1-Office ./configure --prefix=/home/jeffrey/ make make install 2-Laptop chmod 755 configure $ ./configure $ make $ sudo make install We are not sure if the update was successful, attached is the picture of my terminal after the last step (make install) , it seems to mention 2 errors. I've try to run the code, the issue is not fixed. Thanks Le Jeudi 8 mai 2014 14h26, Mbongo Nkounga Jeffrey Ted Johnattan <[hidden email]> a écrit : Dear Luigi, . Oooh I've tried to run the code with my own computer and It's working. But it was not working with my office computer. By the way, I'd like also to update QuantLib-1.4, but I'm getting the output below (both computers), after uncompressing, I put QuantLib-1.4 on my Desktop. From my terminal: jeffrey@jeffrey:~$ cd Desktop/QuantLib-1.4 jeffrey@jeffrey:~/Desktop/QuantLib-1.4$ ./configure bash: ./configure: Permission denied Thanks Le Jeudi 8 mai 2014 13h01, Luigi Ballabio <[hidden email]> a écrit : I'm using 1.4. If you're on Linux, download the release, uncompress it, and then from inside the folder execute: $ ./configure $ make $ sudo make install As for the maturities: they're very close, so they might constrain the bootstrap process too much. I'd leave the swaps out, but you can experiment with and without them and see what happens. Luigi On Thu, May 8, 2014 at 12:48 PM, Mbongo Nkounga Jeffrey Ted Johnattan <[hidden email]> wrote: > > Dear Luigi, > > I did not change anything, I don't know which version I have, I downloaded > QuantLib-1.3 and QuantLib-1.4. > Which version do I need? how to update or install it? > > Finally, rhe4m, rhe5m, rhe6m, rhe7m (respectively) do not have exactly the > same maturities with rheapr13, rhemay13, rhejun13, rhejul13 (respectively), > should not I include all of them (in eoniaratehelpers)? > > Thanks > Le Jeudi 8 mai 2014 12h17, Luigi Ballabio <[hidden email]> a écrit > : > That's weird. What happens on my machine is: > > $ g++ eonia.cpp -o eonia -lQuantLib > $ ./eonia > EONIA curve test ... > Spot Rate Forward Rate Discount > 0.040556 0.047224 1 > 0.067592 0.040634 0.99998 > 0.068183 0.0348 0.99997 > 0.077054 0.026789 0.99995 > 0.073892 0.01722 0.99993 > 0.061117 -0.002045 0.99989 > 0.047453 -0.011587 0.99988 > 0.034725 -0.014308 0.99989 > 0.025662 -0.014933 0.9999 > 0.018039 -0.019017 0.99991 > 0.013492 -0.018741 0.99992 > 0.0095054 -0.020129 0.99994 > 0.0054367 -0.015054 0.99996 > 0.0033851 -0.0064285 0.99997 > 0.0013388 0.0031728 0.99999 > 0.00030389 0.010111 1 > 0.002263 0.037677 0.99997 > 0.0082849 0.096664 0.99988 > 0.021399 0.14168 0.99962 > 0.036552 0.31028 0.99927 > 0.12868 0.7177 0.99614 > 0.27796 1.1932 0.98892 > 0.46366 1.6234 0.97705 > 0.65989 1.9442 0.96113 > 0.84632 2.2298 0.94241 > 1.023 2.4372 0.92129 > 1.1824 2.5743 0.89893 > 1.3242 2.7674 0.87585 > 1.4579 2.8908 0.8517 > 1.5799 2.9234 0.82712 > 1.8543 2.5917 0.75699 > 2.0456 2.3064 0.66398 > 2.1409 2.3064 0.52575 > > Did you change anything in the file I sent? What version of QuantLib > are you using? > > Luigi > > > > > On Thu, May 8, 2014 at 10:47 AM, Mbongo Nkounga Jeffrey Ted Johnattan > <[hidden email]> wrote: >> Dear Luigi, >> thank you so much, I really appreciate your help, especially the way >> inserting forwards. >> However, I am getting errors. >> I'm using QuantLib in Linux, and I'm doing the following: >> >> [hidden email]:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ g++ >> eonia.cpp -o eonia -lQuantLib >> [hidden email]:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ >> ./eonia >> >> Output: >> EONIA curve test ... >> 1st iteration: failed at 8th alive instrument, maturity April 10th, 2013, >> reference date December 11th, 2012: root not bracketed: >> f[2.22045e-16,0.99988] -> [-5.789650e+16,-7.000000e-05] >> >> By curiosity, I've tried to run the first set of data: >> [hidden email]:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ g++ >> eonia.cpp -o eonia -lQuantLib >> [hidden email]:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ >> ./eonia >> >> Output >> EONIA curve test ... >> negative time (-0.975342) given >> >> Finally, rhe4m, rhe5m, rhe6m, rhe7m (respectively) do not have exactly the >> same maturities with rheapr13, rhemay13, rhejun13, rhejul13 >> (respectively), >> should not I include all of them (in eoniaratehelpers)? >> >> Thanks >> >> Jeffrey > > > > > -- > <https://implementingquantlib.blogspot.com> > <https://twitter.com/lballabio >> > > -- <https://implementingquantlib.blogspot.com> <https://twitter.com/lballabio> ------------------------------------------------------------------------------ Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users ------------------------------------------------------------------------------ Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users Screenshot from 2014-05-08 17:52:49.png (417K) Download Attachment |
"Disk quota exceeded" means either that your disk is full, or that you
exceeded the disk space given to you by IT. Luigi On Thu, May 8, 2014 at 9:14 PM, Mbongo Nkounga Jeffrey Ted Johnattan <[hidden email]> wrote: > > Dear Luigi thank you very much for the support. > > I got help from my IT, by doing the following > > 1-Office > ./configure --prefix=/home/jeffrey/ > make > make install > > 2-Laptop > chmod 755 configure > $ ./configure > $ make > $ sudo make install > > We are not sure if the update was successful, attached is the picture of my > terminal after the last step (make install) , it seems to mention 2 errors. > I've try to run the code, the issue is not fixed. > > Thanks > Le Jeudi 8 mai 2014 14h26, Mbongo Nkounga Jeffrey Ted Johnattan > <[hidden email]> a écrit : > > Dear Luigi, . > > Oooh I've tried to run the code with my own computer and It's working. > But it was not working with my office computer. > > By the way, I'd like also to update QuantLib-1.4, but I'm getting the output > below (both computers), after uncompressing, I put QuantLib-1.4 on my > Desktop. > > From my terminal: > > jeffrey@jeffrey:~$ cd Desktop/QuantLib-1.4 > jeffrey@jeffrey:~/Desktop/QuantLib-1.4$ ./configure > bash: ./configure: Permission denied > > Thanks > > Le Jeudi 8 mai 2014 13h01, Luigi Ballabio <[hidden email]> a écrit > : > I'm using 1.4. If you're on Linux, download the release, uncompress > it, and then from inside the folder execute: > > $ ./configure > $ make > $ sudo make install > > As for the maturities: they're very close, so they might constrain the > bootstrap process too much. I'd leave the swaps out, but you can > experiment with and without them and see what happens. > > Luigi > > > > On Thu, May 8, 2014 at 12:48 PM, Mbongo Nkounga Jeffrey Ted Johnattan > <[hidden email]> wrote: >> >> Dear Luigi, >> >> I did not change anything, I don't know which version I have, I downloaded >> QuantLib-1.3 and QuantLib-1.4. >> Which version do I need? how to update or install it? >> >> Finally, rhe4m, rhe5m, rhe6m, rhe7m (respectively) do not have exactly the >> same maturities with rheapr13, rhemay13, rhejun13, rhejul13 >> (respectively), >> should not I include all of them (in eoniaratehelpers)? >> >> Thanks >> Le Jeudi 8 mai 2014 12h17, Luigi Ballabio <[hidden email]> a >> écrit >> : >> That's weird. What happens on my machine is: >> >> $ g++ eonia.cpp -o eonia -lQuantLib >> $ ./eonia >> EONIA curve test ... >> Spot Rate Forward Rate Discount >> 0.040556 0.047224 1 >> 0.067592 0.040634 0.99998 >> 0.068183 0.0348 0.99997 >> 0.077054 0.026789 0.99995 >> 0.073892 0.01722 0.99993 >> 0.061117 -0.002045 0.99989 >> 0.047453 -0.011587 0.99988 >> 0.034725 -0.014308 0.99989 >> 0.025662 -0.014933 0.9999 >> 0.018039 -0.019017 0.99991 >> 0.013492 -0.018741 0.99992 >> 0.0095054 -0.020129 0.99994 >> 0.0054367 -0.015054 0.99996 >> 0.0033851 -0.0064285 0.99997 >> 0.0013388 0.0031728 0.99999 >> 0.00030389 0.010111 1 >> 0.002263 0.037677 0.99997 >> 0.0082849 0.096664 0.99988 >> 0.021399 0.14168 0.99962 >> 0.036552 0.31028 0.99927 >> 0.12868 0.7177 0.99614 >> 0.27796 1.1932 0.98892 >> 0.46366 1.6234 0.97705 >> 0.65989 1.9442 0.96113 >> 0.84632 2.2298 0.94241 >> 1.023 2.4372 0.92129 >> 1.1824 2.5743 0.89893 >> 1.3242 2.7674 0.87585 >> 1.4579 2.8908 0.8517 >> 1.5799 2.9234 0.82712 >> 1.8543 2.5917 0.75699 >> 2.0456 2.3064 0.66398 >> 2.1409 2.3064 0.52575 >> >> Did you change anything in the file I sent? What version of QuantLib >> are you using? >> >> Luigi >> >> >> >> >> On Thu, May 8, 2014 at 10:47 AM, Mbongo Nkounga Jeffrey Ted Johnattan >> <[hidden email]> wrote: >>> Dear Luigi, >>> thank you so much, I really appreciate your help, especially the way >>> inserting forwards. >>> However, I am getting errors. >>> I'm using QuantLib in Linux, and I'm doing the following: >>> >>> jeffrey@angola:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ g++ >>> eonia.cpp -o eonia -lQuantLib >>> jeffrey@angola:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ >>> ./eonia >>> >>> Output: >>> EONIA curve test ... >>> 1st iteration: failed at 8th alive instrument, maturity April 10th, 2013, >>> reference date December 11th, 2012: root not bracketed: >>> f[2.22045e-16,0.99988] -> [-5.789650e+16,-7.000000e-05] >>> >>> By curiosity, I've tried to run the first set of data: >>> jeffrey@angola:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ g++ >>> eonia.cpp -o eonia -lQuantLib >>> jeffrey@angola:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ >>> ./eonia >>> >>> Output >>> EONIA curve test ... >>> negative time (-0.975342) given >>> >>> Finally, rhe4m, rhe5m, rhe6m, rhe7m (respectively) do not have exactly >>> the >>> same maturities with rheapr13, rhemay13, rhejun13, rhejul13 >>> (respectively), >>> should not I include all of them (in eoniaratehelpers)? >>> >>> Thanks >>> >>> Jeffrey >> >> >> >> >> -- >> <https://implementingquantlib.blogspot.com> >> <https://twitter.com/lballabio > >>> >> >> > > > > -- > <https://implementingquantlib.blogspot.com> > <https://twitter.com/lballabio> > > > > ------------------------------------------------------------------------------ > Is your legacy SCM system holding you back? Join Perforce May 7 to find out: > • 3 signs your SCM is hindering your productivity > • Requirements for releasing software faster > • Expert tips and advice for migrating your SCM now > http://p.sf.net/sfu/perforce > > _______________________________________________ > QuantLib-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/quantlib-users > > -- <https://implementingquantlib.blogspot.com> <https://twitter.com/lballabio> ------------------------------------------------------------------------------ Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
Dear Luigi, "Disk quota exceeded" has
been fixed and QuantLib-1.4 has been updated successfully without any
errors, yet the output is unchanged. All the codes are running
well expect this one. Anyway, I can use my Laptop to avoid
this issue.
Thanks for everything.
Le Vendredi 9 mai 2014 11h50, Luigi Ballabio <[hidden email]> a écrit : "Disk quota exceeded" means either that your disk is full, or that you exceeded the disk space given to you by IT. Luigi On Thu, May 8, 2014 at 9:14 PM, Mbongo Nkounga Jeffrey Ted Johnattan <[hidden email]> wrote: > > Dear Luigi thank you very much for the support. > > I got help from my IT, by doing the following > > 1-Office > ./configure --prefix=/home/jeffrey/ > make > make install > > 2-Laptop > chmod 755 configure > $ ./configure > $ make > $ sudo make install > > We are not sure if the update was successful, attached is the picture of my > terminal after the last step (make install) , it seems to mention 2 errors. > I've try to run the code, the issue is not fixed. > > Thanks > Le Jeudi 8 mai 2014 14h26, Mbongo Nkounga Jeffrey Ted Johnattan > <[hidden email]> a écrit : > > Dear Luigi, . > > Oooh I've tried to run the code with my own computer and It's working. > But it was not working with my office computer. > > By the way, I'd like also to update QuantLib-1.4, but I'm getting the output > below (both computers), after uncompressing, I put QuantLib-1.4 on my > Desktop. > > From my terminal: > > [hidden email]:~$ cd Desktop/QuantLib-1.4 > [hidden email]:~/Desktop/QuantLib-1.4$ ./configure > bash: ./configure: Permission denied > > Thanks > > Le Jeudi 8 mai 2014 13h01, Luigi Ballabio <[hidden email]> a écrit > : > I'm using 1.4. If you're on Linux, download the release, uncompress > it, and then from inside the folder execute: > > $ ./configure > $ make > $ sudo make install > > As for the maturities: they're very close, so they might constrain the > bootstrap process too much. I'd leave the swaps out, but you can > experiment with and without them and see what happens. > > Luigi > > > > On Thu, May 8, 2014 at 12:48 PM, Mbongo Nkounga Jeffrey Ted Johnattan > <[hidden email]> wrote: >> >> Dear Luigi, >> >> I did not change anything, I don't know which version I have, I downloaded >> QuantLib-1.3 and QuantLib-1.4. >> Which version do I need? how to update or install it? >> >> Finally, rhe4m, rhe5m, rhe6m, rhe7m (respectively) do not have exactly the >> same maturities with rheapr13, rhemay13, rhejun13, rhejul13 >> (respectively), >> should not I include all of them (in eoniaratehelpers)? >> >> Thanks >> Le Jeudi 8 mai 2014 12h17, Luigi Ballabio <[hidden email]> a >> écrit >> : >> That's weird. What happens on my machine is: >> >> $ g++ eonia.cpp -o eonia -lQuantLib >> $ ./eonia >> EONIA curve test ... >> Spot Rate Forward Rate Discount >> 0.040556 0.047224 1 >> 0.067592 0.040634 0.99998 >> 0.068183 0.0348 0.99997 >> 0.077054 0.026789 0.99995 >> 0.073892 0.01722 0.99993 >> 0.061117 -0.002045 0.99989 >> 0.047453 -0.011587 0.99988 >> 0.034725 -0.014308 0.99989 >> 0.025662 -0.014933 0.9999 >> 0.018039 -0.019017 0.99991 >> 0.013492 -0.018741 0.99992 >> 0.0095054 -0.020129 0.99994 >> 0.0054367 -0.015054 0.99996 >> 0.0033851 -0.0064285 0.99997 >> 0.0013388 0.0031728 0.99999 >> 0.00030389 0.010111 1 >> 0.002263 0.037677 0.99997 >> 0.0082849 0.096664 0.99988 >> 0.021399 0.14168 0.99962 >> 0.036552 0.31028 0.99927 >> 0.12868 0.7177 0.99614 >> 0.27796 1.1932 0.98892 >> 0.46366 1.6234 0.97705 >> 0.65989 1.9442 0.96113 >> 0.84632 2.2298 0.94241 >> 1.023 2.4372 0.92129 >> 1.1824 2.5743 0.89893 >> 1.3242 2.7674 0.87585 >> 1.4579 2.8908 0.8517 >> 1.5799 2.9234 0.82712 >> 1.8543 2.5917 0.75699 >> 2.0456 2.3064 0.66398 >> 2.1409 2.3064 0.52575 >> >> Did you change anything in the file I sent? What version of QuantLib >> are you using? >> >> Luigi >> >> >> >> >> On Thu, May 8, 2014 at 10:47 AM, Mbongo Nkounga Jeffrey Ted Johnattan >> <[hidden email]> wrote: >>> Dear Luigi, >>> thank you so much, I really appreciate your help, especially the way >>> inserting forwards. >>> However, I am getting errors. >>> I'm using QuantLib in Linux, and I'm doing the following: >>> >>> [hidden email]:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ g++ >>> eonia.cpp -o eonia -lQuantLib >>> [hidden email]:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ >>> ./eonia >>> >>> Output: >>> EONIA curve test ... >>> 1st iteration: failed at 8th alive instrument, maturity April 10th, 2013, >>> reference date December 11th, 2012: root not bracketed: >>> f[2.22045e-16,0.99988] -> [-5.789650e+16,-7.000000e-05] >>> >>> By curiosity, I've tried to run the first set of data: >>> [hidden email]:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ g++ >>> eonia.cpp -o eonia -lQuantLib >>> [hidden email]:/var/autofs/misc/home/jeffrey/Desktop/prog/curvescode$ >>> ./eonia >>> >>> Output >>> EONIA curve test ... >>> negative time (-0.975342) given >>> >>> Finally, rhe4m, rhe5m, rhe6m, rhe7m (respectively) do not have exactly >>> the >>> same maturities with rheapr13, rhemay13, rhejun13, rhejul13 >>> (respectively), >>> should not I include all of them (in eoniaratehelpers)? >>> >>> Thanks >>> >>> Jeffrey >> >> >> >> >> -- >> <https://implementingquantlib.blogspot.com> >> <https://twitter.com/lballabio > >>> >> >> > > > > -- > <https://implementingquantlib.blogspot.com> > <https://twitter.com/lballabio> > > > > ------------------------------------------------------------------------------ > Is your legacy SCM system holding you back? Join Perforce May 7 to find out: > • 3 signs your SCM is hindering your productivity > • Requirements for releasing software faster > • Expert tips and advice for migrating your SCM now > http://p.sf.net/sfu/perforce > > _______________________________________________ > QuantLib-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/quantlib-users > > -- <https://implementingquantlib.blogspot.com> <https://twitter.com/lballabio> ------------------------------------------------------------------------------ "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
Free forum by Nabble | Edit this page |