You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(17) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(23) |
| 2002 |
Jan
(18) |
Feb
(20) |
Mar
(22) |
Apr
(41) |
May
(28) |
Jun
(25) |
Jul
(10) |
Aug
(7) |
Sep
(5) |
Oct
(20) |
Nov
(13) |
Dec
(11) |
| 2003 |
Jan
(28) |
Feb
(5) |
Mar
(6) |
Apr
(5) |
May
(17) |
Jun
(6) |
Jul
(45) |
Aug
(35) |
Sep
(24) |
Oct
(50) |
Nov
(53) |
Dec
(6) |
| 2004 |
Jan
(4) |
Feb
(10) |
Mar
(52) |
Apr
(46) |
May
(8) |
Jun
(25) |
Jul
(12) |
Aug
(6) |
Sep
(8) |
Oct
(8) |
Nov
(9) |
Dec
(7) |
| 2005 |
Jan
(18) |
Feb
(60) |
Mar
(19) |
Apr
(26) |
May
(14) |
Jun
(27) |
Jul
(8) |
Aug
(15) |
Sep
(19) |
Oct
(53) |
Nov
(20) |
Dec
(23) |
| 2006 |
Jan
(16) |
Feb
(27) |
Mar
(33) |
Apr
(51) |
May
(36) |
Jun
(25) |
Jul
(54) |
Aug
(30) |
Sep
(25) |
Oct
(67) |
Nov
(43) |
Dec
(13) |
| 2007 |
Jan
(23) |
Feb
(27) |
Mar
(55) |
Apr
(79) |
May
(60) |
Jun
(66) |
Jul
(46) |
Aug
(30) |
Sep
(90) |
Oct
(49) |
Nov
(85) |
Dec
(74) |
| 2008 |
Jan
(68) |
Feb
(59) |
Mar
(64) |
Apr
(28) |
May
(66) |
Jun
(35) |
Jul
(73) |
Aug
(76) |
Sep
(65) |
Oct
(46) |
Nov
(41) |
Dec
(19) |
| 2009 |
Jan
(46) |
Feb
(90) |
Mar
(51) |
Apr
(104) |
May
(13) |
Jun
(24) |
Jul
(20) |
Aug
(39) |
Sep
(109) |
Oct
(101) |
Nov
(117) |
Dec
(57) |
| 2010 |
Jan
(55) |
Feb
(42) |
Mar
(39) |
Apr
(22) |
May
(33) |
Jun
(41) |
Jul
(25) |
Aug
(52) |
Sep
(75) |
Oct
(60) |
Nov
(62) |
Dec
(52) |
| 2011 |
Jan
(70) |
Feb
(31) |
Mar
(26) |
Apr
(28) |
May
(17) |
Jun
(38) |
Jul
(51) |
Aug
(35) |
Sep
(27) |
Oct
(35) |
Nov
(10) |
Dec
(20) |
| 2012 |
Jan
(21) |
Feb
(29) |
Mar
(13) |
Apr
(37) |
May
(33) |
Jun
(12) |
Jul
(34) |
Aug
(27) |
Sep
(29) |
Oct
(35) |
Nov
(58) |
Dec
(27) |
| 2013 |
Jan
(27) |
Feb
(16) |
Mar
(40) |
Apr
(16) |
May
(34) |
Jun
(37) |
Jul
(6) |
Aug
(3) |
Sep
(4) |
Oct
(49) |
Nov
(13) |
Dec
(12) |
| 2014 |
Jan
(15) |
Feb
(21) |
Mar
(11) |
Apr
(13) |
May
(27) |
Jun
(60) |
Jul
(19) |
Aug
(29) |
Sep
(20) |
Oct
(28) |
Nov
(41) |
Dec
(15) |
| 2015 |
Jan
(33) |
Feb
(29) |
Mar
(26) |
Apr
(17) |
May
(2) |
Jun
(13) |
Jul
(21) |
Aug
(30) |
Sep
(22) |
Oct
(15) |
Nov
(46) |
Dec
(20) |
| 2016 |
Jan
(6) |
Feb
(5) |
Mar
(9) |
Apr
(15) |
May
(9) |
Jun
(4) |
Jul
(3) |
Aug
(4) |
Sep
(39) |
Oct
(8) |
Nov
(5) |
Dec
(8) |
| 2017 |
Jan
(4) |
Feb
(14) |
Mar
(4) |
Apr
(16) |
May
(5) |
Jun
(10) |
Jul
(25) |
Aug
(2) |
Sep
(5) |
Oct
(11) |
Nov
(8) |
Dec
(11) |
| 2018 |
Jan
(7) |
Feb
(4) |
Mar
|
Apr
(1) |
May
(4) |
Jun
(21) |
Jul
(8) |
Aug
(3) |
Sep
(2) |
Oct
(2) |
Nov
(1) |
Dec
|
| 2019 |
Jan
(1) |
Feb
(5) |
Mar
(18) |
Apr
(9) |
May
(5) |
Jun
(21) |
Jul
(25) |
Aug
(25) |
Sep
(4) |
Oct
(2) |
Nov
(2) |
Dec
(5) |
| 2020 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
(2) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
(2) |
Nov
(6) |
Dec
|
| 2021 |
Jan
(1) |
Feb
|
Mar
(2) |
Apr
(1) |
May
(4) |
Jun
|
Jul
(1) |
Aug
|
Sep
(2) |
Oct
(9) |
Nov
(1) |
Dec
(5) |
| 2022 |
Jan
(7) |
Feb
(3) |
Mar
|
Apr
(2) |
May
(5) |
Jun
(3) |
Jul
(3) |
Aug
(3) |
Sep
(3) |
Oct
(14) |
Nov
|
Dec
(1) |
| 2023 |
Jan
(10) |
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
(2) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
(5) |
Nov
|
Dec
|
| 2024 |
Jan
(8) |
Feb
|
Mar
(2) |
Apr
(1) |
May
|
Jun
|
Jul
(4) |
Aug
(5) |
Sep
|
Oct
(4) |
Nov
(1) |
Dec
(1) |
| 2025 |
Jan
(3) |
Feb
(2) |
Mar
(2) |
Apr
(1) |
May
(2) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2026 |
Jan
(1) |
Feb
(12) |
Mar
|
Apr
(2) |
May
(8) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Luigi B. <lui...@gm...> - 2019-12-03 11:42:17
|
Hello everybody,
QuantLib 1.17 has been released and is available for download at <
http://quantlib.org/download.shtml>.
The list of changes for this release is at <
http://quantlib.org/reference/history.html>.
Please report any problems you have with this release to the QuantLib
mailing list (<qua...@li...>), or open a GitHub
issue at <https://github.com/lballabio/quantlib/issues>.
-- The QuantLib group
|
|
From: MoneyScience <ad...@mo...> - 2019-11-26 10:53:59
|
Dear List Members, A quick note to let you know that we have new dates for our popular *Introduction to QuantLib *Course with Luigi Ballabio which will now be taking place in London, March 23-25th.. Our 10% *'Early Bird' Discount* period expires on January 15th and List Members can receive an additional 5% Discount. Simply quote QLDEVLIST2020 on your registration form. If you or one of your colleagues might be interested in attending then please do pass on this email or contact ja...@mo.... Further details about the course and a registration form can be found on our newly relaunched (mobile friendly!) website at http://bit.ly/QuantLib2020. Please don't hesitate to get in touch if you have any questions. Regards, *Jacob* *~~~~~~~~~~~* *Jacob Bettany* Founder, MoneyScience +44 1275 540563 |
|
From: Miguel V. <mig...@ca...> - 2019-11-26 00:38:07
|
Hi QL devs, Wanted to share this <https://github.com/lballabio/QuantLib-SWIG/issues/223> GH issue with the mailing list for more exposure. I'm basically trying to continue the work/approach started here <https://sourceforge.net/p/quantlib/mailman/message/32391881/> and any input is appreciated. code <https://gist.github.com/miguelandrs/79b2a5f73515ecc713624697f0807f79#file-interpolation-i-L232-L283> and compilation errors <https://gist.github.com/miguelandrs/454e2fafbaf81fd7a833025c37b4d3bc> against python setup.py build. Thanks! -Miguel ______________________________________________________________________ The information contained in this e-mail is confidential and/or proprietary to Capital One and/or its affiliates and may only be used solely in performance of work or services for Capital One. The information transmitted herewith is intended only for use by the individual or entity to which it is addressed. If the reader of this message is not the intended recipient, you are hereby notified that any review, retransmission, dissemination, distribution, copying or other use of, or taking of any action in reliance upon this information is strictly prohibited. If you have received this communication in error, please contact the sender and delete the material from your computer. |
|
From: MoneyScience <ad...@mo...> - 2019-10-22 16:31:27
|
Dear List Members, I just wanted to briefly let you know that MoneyScience is going to be running our popular *Introduction to QuantLib *Course with Luigi Ballabio in London, December 2-4th. Our 10% *'Early Bird' Discount* period expires at the end of this month and we still have a few places remaining. If you or one of your colleagues might be interested in attending then please do pass on this email or contact ja...@mo... as soon as possible to confirm. Further details about the course and a registration form can be found on our newly relaunched (mobile friendly!) website at http://bit.ly/quantlib2019. Please don't hesitate to get in touch if you have any questions. Regards, *Jacob* *~~~~~~~~~~~* *Jacob Bettany* Founder, MoneyScience |
|
From: Luigi B. <lui...@gm...> - 2019-10-03 17:12:28
|
It was also updated in the cookbook, so if you log in to your account on Leanpub you can download the uploaded version (for free, of course). You can also opt in to be notified when an update is published. On Tue, Oct 1, 2019, 09:57 Steven Van Haren <sh...@op...> wrote: > Hi Robin, > > You have to use BlackCalibrationHelper. This was renamed a while back. > > Kind regards, > Steven > > Op 1 okt. 2019 om 09:50 heeft Robin Schreur <rob...@ho...> > het volgende geschreven: > > Hi All, > > I want to calibrate the HullWhite model via normal swaption vols (using > Jamshidian swaption model). I found the code below which does this ( > https://github.com/lballabio/QuantLib-SWIG/issues/98) > Unfortunately I get the following error: > > AttributeError: 'function' object has no attribute 'RelativePriceError'. > Looks like ql.Calibrationhelper doesn't have a RelativePriceError > attribute. What can I use instead of > ql.CalibrationHelper.RelativePriceError > > Many thanks! > > Robin > > > > from collections import namedtuple > import QuantLib as ql > > def create_swaption_helpers(data, index, term_structure, engine): > swaptions = [] > fixed_leg_tenor = ql.Period(1, ql.Years) > fixed_leg_daycounter = ql.Actual360() > floating_leg_daycounter = ql.Actual360() > for d in data: > vol_handle = ql.QuoteHandle(ql.SimpleQuote(d.volatility)) > helper = ql.SwaptionHelper(ql.Period(d.start, ql.Years), > ql.Period(d.length, ql.Years), > vol_handle, > index, > fixed_leg_tenor, > fixed_leg_daycounter, > floating_leg_daycounter, > term_structure, > ql.CalibrationHelper.RelativePriceError, > ql.nullDouble(), > 1., > ql.Normal, > 0. > ) > helper.setPricingEngine(engine) > swaptions.append(helper) > return swaptions > > > > today = ql.Date(15, ql.February, 2002) > settlement = ql.Date(19, ql.February, 2002) > ql.Settings.instance().evaluationDate = today > term_structure = ql.YieldTermStructureHandle( > ql.FlatForward(settlement, 0.04875825, ql.Actual365Fixed()) > ) > index = ql.Euribor1Y(term_structure) > CalibrationData = namedtuple("CalibrationData", > "start, length, volatility") > data = [CalibrationData(1, 5, 0.1148), > CalibrationData(2, 4, 0.1108), > CalibrationData(3, 3, 0.1070), > CalibrationData(4, 2, 0.1021), > CalibrationData(5, 1, 0.1000)] > model = ql.HullWhite(term_structure) > engine = ql.JamshidianSwaptionEngine(model) > swaptions = create_swaption_helpers(data, index, term_structure, engine) > > optimization_method = ql.LevenbergMarquardt(1.0e-8, 1.0e-8, 1.0e-8) > end_criteria = ql.EndCriteria(10000, 100, 1e-6, 1e-8, 1e-8) > model.calibrate(swaptions, optimization_method, end_criteria) > > a, sigma = model.params() > > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users > > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users > |
|
From: Charles B. <cha...@gm...> - 2019-09-18 12:46:07
|
Hi all, While working on the implementation of the Carr Madan method for european options I get an error due to the Fourier transform of the option price (function psi) is not conforming i.e. it should be a scalar but my solution is a vector. The psi function stands for equation (6) on page 64 of the in the paper via the below link https://engineering.nyu.edu/sites/default/files/2018-08/CarrMadan2_0.pdf So I am looking for suggestions of alternative implementation. I included the files and data in github https://github.com/kficso01/CGMY/issues/1 Any suggestions would be appreciated. Thanks, C |
|
From: Amine I. <ami...@gm...> - 2019-09-04 13:39:47
|
Understood. Made it to work for overnight swaps by building the index from InterpolatedDiscountCurve<> rather than the PiecewiseYieldCurve, so there is no bootstrapping relative to the forward evaluation dates as the scenario curves are already passed in as parameter.
Thanks for the help!
Amine
> On 4 Sep 2019, at 11:25, Luigi Ballabio <lui...@gm...> wrote:
>
> In the case of InterpolatedDiscountCurve, the dates of the nodes are passed to the constructor and don't change.
> In the case of PiecewiseYieldCurve, the dates change based on the evaluation date, so they need to be calculated before being returned.
>
> However, note that calculate() only does something if the curve is out of date (i.e., if any of the quoted rates changed, or if the evaluation date did). If the curve is already updated, it exits without calculating. In particular, if maxDate() is called from within a call to discount(), calculate() has already been called by discount() itself, so the curve is up to date and this call won't perform the calculations again.
>
> For the problem with the overnight swaps, I'm afraid we'll need details.
>
> Luigi
>
>
>
> On Tue, Sep 3, 2019 at 8:37 PM Amine Ifri <ami...@gm... <mailto:ami...@gm...>> wrote:
> Hi team/Luigi,
>
> I am building a small framework for forward calculations in a XVA like manner, where I simulate a set of market yield curves forward using some model and pass those simulations as a map<int, boost::shared_ptr<YieldTermStructure>>, but first, I build a PiecewiseYieldCurve<C,I,B> that is bootstrapped on a set of dummy market instrument quotes and at the moment I use the same forwarding and discounting curve for cash flows to keep things simple. So far so good…
>
> The problem arises for me as I get to call the pricers many many times in the future, thereby making extensive use of the discount() method which itself calls a maxDate() method to check whether the time to maturity T is still within bounds. Even though PiecewiseYieldCurve<I> is a typedef of InterpolatedDiscountCurve<> in the case of yield term structures, I don’t understand why one performs a lazy calculation first:
>
> template <class T>
> inline Date InterpolatedDiscountCurve<T>::maxDate() const {
> if (this->maxDate_ != Date())
> return this->maxDate_;
> return dates_.back();
> }
>
> template <class C, class I, template <class> class B>
> inline Date PiecewiseYieldCurve<C,I,B>::maxDate() const {
> calculate();
> return base_curve::maxDate(); <==== here I suspect it is same as above?
> }
>
> More importantly, I m trying to price both VanilllaSwaps and OvernightIndexedSwaps in the future using my scenarios. VanillaSwaps price just fine, whereas I get a bootstrapper issue when pricing OvernightIndexedSwaps. I suspect this has something to do with the way the Overnightindexedcouponpricer is coded?
>
> I would appreciate very much your help on this as this is a major bottleneck in my code and can’t seem to be moving forward.
>
> Thanks!
>
> Amine
>
|
|
From: Luigi B. <lui...@gm...> - 2019-09-04 10:25:50
|
In the case of InterpolatedDiscountCurve, the dates of the nodes are passed
to the constructor and don't change.
In the case of PiecewiseYieldCurve, the dates change based on the
evaluation date, so they need to be calculated before being returned.
However, note that calculate() only does something if the curve is out of
date (i.e., if any of the quoted rates changed, or if the evaluation date
did). If the curve is already updated, it exits without calculating. In
particular, if maxDate() is called from within a call to discount(),
calculate() has already been called by discount() itself, so the curve is
up to date and this call won't perform the calculations again.
For the problem with the overnight swaps, I'm afraid we'll need details.
Luigi
On Tue, Sep 3, 2019 at 8:37 PM Amine Ifri <ami...@gm...> wrote:
> Hi team/Luigi,
>
> I am building a small framework for forward calculations in a XVA like
> manner, where I simulate a set of market yield curves forward using some
> model and pass those simulations as a map<int,
> boost::shared_ptr<YieldTermStructure>>, but first, I build a
> PiecewiseYieldCurve<C,I,B> that is bootstrapped on a set of dummy market
> instrument quotes and at the moment I use the same forwarding and
> discounting curve for cash flows to keep things simple. So far so good…
>
> The problem arises for me as I get to call the pricers many many times in
> the future, thereby making extensive use of the discount() method which
> itself calls a maxDate() method to check whether the time to maturity T is
> still within bounds. Even though PiecewiseYieldCurve<I> is a typedef
> of InterpolatedDiscountCurve<> in the case of yield term structures, I
> don’t understand why one performs a lazy calculation first:
>
> template <class T>
> inline Date InterpolatedDiscountCurve<T>::maxDate() const {
> if (this->maxDate_ != Date())
> return this->maxDate_;
> return dates_.back();
> }
>
> template <class C, class I, template <class> class B>
> inline Date PiecewiseYieldCurve<C,I,B>::maxDate() const {
> *calculate();*
> return base_curve::maxDate(); <==== here I suspect it is same as
> above?
> }
>
> More importantly, I m trying to price both VanilllaSwaps and
> OvernightIndexedSwaps in the future using my scenarios. VanillaSwaps price
> just fine, whereas I get a bootstrapper issue when pricing
> OvernightIndexedSwaps. I suspect this has something to do with the way the
> Overnightindexedcouponpricer is coded?
>
> I would appreciate very much your help on this as this is a major
> bottleneck in my code and can’t seem to be moving forward.
>
> Thanks!
>
> Amine
>
>
|
|
From: Amine I. <ami...@gm...> - 2019-09-03 18:41:05
|
Hi team,
Please see the below and respond at your convenience. If someone can help me that would be great!
Thanks
amine
> Begin forwarded message:
>
> From: Amine Ifri <ami...@gm...>
> Subject: PiecewiseYieldCurve<C,I,B>::maxDate() vs InterpolatedDiscountCurve<T>::maxDate(): impact of lazyobject::calculate() function
> Date: 3 September 2019 at 19:37:46 BST
> To: qua...@li...
> Cc: Luigi Ballabio <lui...@gm...>
>
> Hi team/Luigi,
>
> I am building a small framework for forward calculations in a XVA like manner, where I simulate a set of market yield curves forward using some model and pass those simulations as a map<int, boost::shared_ptr<YieldTermStructure>>, but first, I build a PiecewiseYieldCurve<C,I,B> that is bootstrapped on a set of dummy market instrument quotes and at the moment I use the same forwarding and discounting curve for cash flows to keep things simple. So far so good…
>
> The problem arises for me as I get to call the pricers many many times in the future, thereby making extensive use of the discount() method which itself calls a maxDate() method to check whether the time to maturity T is still within bounds. Even though PiecewiseYieldCurve<I> is a typedef of InterpolatedDiscountCurve<> in the case of yield term structures, I don’t understand why one performs a lazy calculation first:
>
> template <class T>
> inline Date InterpolatedDiscountCurve<T>::maxDate() const {
> if (this->maxDate_ != Date())
> return this->maxDate_;
> return dates_.back();
> }
>
> template <class C, class I, template <class> class B>
> inline Date PiecewiseYieldCurve<C,I,B>::maxDate() const {
> calculate();
> return base_curve::maxDate(); <==== here I suspect it is same as above?
> }
>
> More importantly, I m trying to price both VanilllaSwaps and OvernightIndexedSwaps in the future using my scenarios. VanillaSwaps price just fine, whereas I get a bootstrapper issue when pricing OvernightIndexedSwaps. I suspect this has something to do with the way the Overnightindexedcouponpricer is coded?
>
> I would appreciate very much your help on this as this is a major bottleneck in my code and can’t seem to be moving forward.
>
> Thanks!
>
> Amine
>
|
|
From: Luigi B. <lui...@gm...> - 2019-08-26 09:29:54
|
Hello everybody,
I just released QuantLib-SWIG 1.16.1. The sources are unchanged from
version 1.6, but I regenerated the wrappers with SWIG 4.0.1 as opposed to
4.0 (which would output faulty code for some overloaded methods).
As usual, you can reach the files from <http://quantlib.org/download.shtml>.
Luigi
|
|
From: Luigi B. <lui...@gm...> - 2019-08-23 12:47:59
|
The EquityOption example doesn't throw an exception, but all those 0 are wrong. It almost seems as though it's not detecting the change of the global evaluation date. Is it possible that you're loading multiple versions of the underlying DLL? Do you have any way to detect that? Luigi On Thu, Aug 8, 2019 at 3:01 AM Banerjee, Tapas K via QuantLib-dev < qua...@li...> wrote: > Hi Luigi, Qlib experts, > > > > It seems I could able to run some Java SWIG examples, some other fails. > See below. > > I guess he failed example may have data or incompatible function issue. > > I was googling it on failures, looks like some other also got similar > failures. > > If anyone has any pointe to fix the issue, please let me know. > > > > Thanks, > > > > *home/podsintr/qlib/QuantLib-SWIG-1.15/Java > javac -cp ".:QuantLib.jar" > examples/EquityOptions.java* > > */home/podsintr/qlib/QuantLib-SWIG-1.15/Java > java -cp ".:QuantLib.jar" > -Djava.library.path=/home/podsintr/qlib/lib examples.EquityOptions* > > > > *Method European Bermudan > American* > > > *============================================================================* > > * Black-Scholes 0.000000000 NaN > NaN* > > * Heston Semi-Analytic 0.000000000 NaN > NaN* > > * Heston COS Method 0.000000000 NaN > NaN* > > * Bates Semi-Analytic 0.000000000 NaN > NaN* > > * Barone-Adesi/Whaley NaN NaN > 0.000000000* > > * Bjerksund/Stensland NaN NaN > 0.000000000* > > * Integral 0.000000000 NaN > NaN* > > * Finite differences 0.000000000 0.000000000 > 0.000000000* > > * Binomial Jarrow-Rudd 0.000000000 0.000000000 > 0.000000000* > > * Binomial Cox-Ross-Rubinstein 0.000000000 0.000000000 > 0.000000000* > > * Additive equiprobabilities 0.000000000 0.000000000 > 0.000000000* > > * Binomial Trigeorgis 0.000000000 0.000000000 > 0.000000000* > > * Binomial Tian 0.000000000 0.000000000 > 0.000000000* > > * Binomial Leisen-Reimer 0.000000000 0.000000000 > 0.000000000* > > * Binomial Joshi 0.000000000 0.000000000 > 0.000000000* > > * MC (crude) 0.000000000 NaN > NaN* > > * MC (Sobol) 0.000000000 NaN > NaN* > > > > > > > > *home/podsintr/qlib/QuantLib-SWIG-1.15/Java > java -cp ".:QuantLib.jar" > -Djava.library.path=/home/podsintr/qlib/lib examples.UnaryFunctions* > > *Integration result 1.9999999999999944* > > *Brent Solver result 0.7390851323735234* > > > > *# Fails* > > *java -cp ".:QuantLib.jar" -Djava.library.path=/home/podsintr/qlib/lib > examples.FRA* > > */home/podsintr/qlib/QuantLib-SWIG-1.15/Java > java -cp ".:QuantLib.jar" > -Djava.library.path=/home/podsintr/qlib/lib examples.FRA* > > *Exception in thread "main" java.lang.RuntimeException: Missing Euribor3M > Actual/360 fixing for May 19th, 2006* > > * at org.quantlib.QuantLibJNI.ForwardRateAgreement_spotValue(Native > Method)* > > * at > org.quantlib.ForwardRateAgreement.spotValue(ForwardRateAgreement.java:51)* > > * at examples.FRA.main(FRA.java:49)* > > > > > > *From:* Banerjee, Tapas K via QuantLib-dev [mailto: > qua...@li...] > *Sent:* Wednesday, August 07, 2019 1:13 PM > *To:* QuantLib developers <qua...@li...> > *Subject:* Re: [Quantlib-dev] QuantLib-SWIG-1.15 example Run issue > > > > Hi Luigi, Qlib experts, > > > > I fixed both issues the way u mentioned below. Now Quantlib.jar and > libJNI.so created fine > > > > When I try to run example programs, I get below error: > > > > *java -cp ".:QuantLib.jar" -Djava.library.path=/home/podsintr/qlib/lib > examples.FRA* > > */home/podsintr/qlib/QuantLib-SWIG-1.15/Java > java -cp ".:QuantLib.jar" > -Djava.library.path=/home/podsintr/qlib/lib examples.FRA* > > *Exception in thread "main" java.lang.RuntimeException: Missing Euribor3M > Actual/360 fixing for May 19th, 2006* > > * at org.quantlib.QuantLibJNI.ForwardRateAgreement_spotValue(Native > Method)* > > * at > org.quantlib.ForwardRateAgreement.spotValue(ForwardRateAgreement.java:51)* > > * at examples.FRA.main(FRA.java:49)* > > > > > > */home/podsintr/qlib/QuantLib-SWIG-1.15/Java > java -cp ".:QuantLib.jar" > -Djava.library.path=/home/podsintr/qlib/lib examples.Bonds* > > *Today: Monday, September 15th, 2008* > > *Settlement date: Thursday, September 18th, 2008* > > *Exception in thread "main" java.lang.RuntimeException: Boost assertion > failed: px != 0* > > * at > org.quantlib.QuantLibJNI.IborCouponPricer_setCapletVolatility__SWIG_0(Native > Method)* > > * at > org.quantlib.IborCouponPricer.setCapletVolatility(IborCouponPricer.java:43)* > > * at examples.Bonds.main(Bonds.java:497)* > > > > > > Any idea, why is the issue & how to fix? > > Can I run any other example program to see it I working? > > > > FYI: We are using 1.56 version Boost (to make it compatible gcc 44) , 1.15 > version of Quantlib. > > > > Thanks, > > > > > > *From:* Luigi Ballabio [mailto:lui...@gm...] > *Sent:* Tuesday, August 06, 2019 3:14 AM > *To:* Banerjee, Tapas K <tap...@jp...> > *Cc:* QuantLib developers <qua...@li...> > *Subject:* Re: [Quantlib-dev] QuantLib-SWIG-1.15 build issue > > > > Thanks. The first error, > > > > On Mon, Aug 5, 2019 at 10:16 PM Banerjee, Tapas K via QuantLib-dev < > qua...@li...> wrote: > > *checking for QuantLib... ./configure: line 4029: quantlib-config: command > not found* > > > > means that you either didn't install QuantLib (the C++ library) or that > you installed it in a non-standard location and configure can't find it. > In the first case, install QuantLib (i.e., run `make install` and possibly > `ldconfig` after you compile it). In the second case, if you installed it > in /some/other/path, add /some/other/path/bin to PATH before running > configure. > > > > The second error, > > > > config.status: error: cannot find input file: `CSharp/Makefile.in' # We > don’t have C# compiler, so thought it is OK to infore. > > > > blocks configure and prevents it from continuing and creating the Java > Makefile (Makefile.in is not the makefile; it's the input that configure > processes to create the makefile). Did you remove CSharp/Makefile.in? > If so, start over from a clean download. > > > > Luigi > > > > > > > > This message is confidential and subject to terms at: > https://www.jpmorgan.com/emaildisclaimer including on confidential, > privileged or legal entity information, viruses and monitoring of > electronic messages. If you are not the intended recipient, please delete > this message and notify the sender immediately. Any unauthorized use is > strictly prohibited. > > This message is confidential and subject to terms at: > https://www.jpmorgan.com/emaildisclaimer including on confidential, > privileged or legal entity information, viruses and monitoring of > electronic messages. If you are not the intended recipient, please delete > this message and notify the sender immediately. Any unauthorized use is > strictly prohibited. > _______________________________________________ > QuantLib-dev mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-dev > |
|
From: Luigi B. <lui...@gm...> - 2019-08-21 13:30:42
|
You need to set an engine to the bond before asking for the price. See the last few lines of < http://gouthamanbalaraman.com/blog/quantlib-bond-modeling.html>, where ql.DiscountingBondEngine is used. Luigi On Tue, Aug 20, 2019 at 3:21 PM Banerjee, Tapas K via QuantLib-dev < qua...@li...> wrote: > *Hello Luigi, experts,* > > > > I am trying to use QantlibSWIGJava for Bond valuation. > > I wrote a simple program as under. But when I run I am getting below error. > > > > 2019-08-19 15:10:14,294 INFO MONETA_PERF:37 [http-nio-8080-exec-1] - > EVENT=[WEB] TIME=[2376] > > 2019-08-19 15:10:14,303 ERROR > org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]:182 > [http-nio-8080-exec-1] - Servlet.service() for servlet [dispatcherServlet] > in context with path [] threw exception [Request processing failed; nested > exception is java.lang.RuntimeException: null pricing engine] with root > cause > > java.lang.RuntimeException: null pricing engine > > at org.quantlib.QuantLibJNI.Bond_cleanPrice__SWIG_0(Native Method) > > at org.quantlib.Bond.cleanPrice(Bond.java:131) > > > > Any idea what I am doing wrong.? > > > > Another Q: How do I make same program run both Unix as well as Window env? > > Do I load BOTH dll & so file under > > System.*loadLibrary*(*"QuantLibJNI"*); > > > > > > Thanks, > > > > > > > > *----* > > *Date todaysDate = **new **org.quantlib.Date(**9**, Month.**August**, * > *2015* > > *); Settings.instance().setEvaluationDate(todaysDate); > org.quantlib.Calendar calendar = **new * > > *org.quantlib.UnitedStates(); * > *// Bonda parameter **Date issueDate = **new **Date(**2**, Month.* > *October**, **2014* > *); **int **settlementDays = **2* > *; BusinessDayConvention paymentConvention = BusinessDayConvention.* > *Following* > *; BusinessDayConvention accrualConvention = BusinessDayConvention.* > *Unadjusted* > *; **double **faceAmount = **100* > *; **double **redemption = **100* > *; Date maturityDate = **new **Date(**2**, Month.**October**, **2016* > > *); DayCounter dayCounter = **new * > *Actual365Fixed(); Frequency frequency = Frequency.**Annual* > *; **double **coupon = **.05* > > *; * > *//make schedules via constructor **Schedule schedule = **new **Schedule(issueDate, > maturityDate, **new **Period(**1**, TimeUnit.**Years**), calendar, > accrualConvention, accrualConvention, DateGeneration.Rule.**Backward**, * > *false* > > *); DoubleVector coupons = **new * > > > *DoubleVector(); coupons.add(coupon); FixedRateBond couponBond = **new * > > > > *FixedRateBond(settlementDays, faceAmount, schedule, coupons, > dayCounter, paymentConvention, > redemption, issueDate, calendar); **double * > > *acrInterest = couponBond.accruedAmount(); System.**out**.println(**"Acrued > Interest: " **+ acrInterest + **", Clean Price:" * > > *+ couponBond.cleanPrice()); **return **acrInterest;* > > > > This message is confidential and subject to terms at: > https://www.jpmorgan.com/emaildisclaimer including on confidential, > privileged or legal entity information, viruses and monitoring of > electronic messages. If you are not the intended recipient, please delete > this message and notify the sender immediately. Any unauthorized use is > strictly prohibited. > _______________________________________________ > QuantLib-dev mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-dev > |
|
From: Banerjee, T. K <tap...@jp...> - 2019-08-20 13:20:28
|
Hello Luigi, experts,
I am trying to use QantlibSWIGJava for Bond valuation.
I wrote a simple program as under. But when I run I am getting below error.
2019-08-19 15:10:14,294 INFO MONETA_PERF:37 [http-nio-8080-exec-1] - EVENT=[WEB] TIME=[2376]
2019-08-19 15:10:14,303 ERROR org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]:182 [http-nio-8080-exec-1] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.RuntimeException: null pricing engine] with root cause
java.lang.RuntimeException: null pricing engine
at org.quantlib.QuantLibJNI.Bond_cleanPrice__SWIG_0(Native Method)
at org.quantlib.Bond.cleanPrice(Bond.java:131)
Any idea what I am doing wrong.?
Another Q: How do I make same program run both Unix as well as Window env?
Do I load BOTH dll & so file under
System.loadLibrary("QuantLibJNI");
Thanks,
----
Date todaysDate = new org.quantlib.Date(9, Month.August, 2015);
Settings.instance().setEvaluationDate(todaysDate);
org.quantlib.Calendar calendar = new org.quantlib.UnitedStates();
// Bonda parameter
Date issueDate = new Date(2, Month.October, 2014);
int settlementDays = 2;
BusinessDayConvention paymentConvention = BusinessDayConvention.Following;
BusinessDayConvention accrualConvention = BusinessDayConvention.Unadjusted;
double faceAmount = 100;
double redemption = 100;
Date maturityDate = new Date(2, Month.October, 2016);
DayCounter dayCounter = new Actual365Fixed();
Frequency frequency = Frequency.Annual;
double coupon = .05;
//make schedules via constructor
Schedule schedule = new Schedule(issueDate, maturityDate, new Period(1, TimeUnit.Years), calendar, accrualConvention, accrualConvention, DateGeneration.Rule.Backward, false);
DoubleVector coupons = new DoubleVector();
coupons.add(coupon);
FixedRateBond couponBond = new FixedRateBond(settlementDays, faceAmount, schedule, coupons,
dayCounter, paymentConvention, redemption, issueDate, calendar);
double acrInterest = couponBond.accruedAmount();
System.out.println("Acrued Interest: " + acrInterest + ", Clean Price:" + couponBond.cleanPrice());
return acrInterest;
This message is confidential and subject to terms at: https://www.jpmorgan.com/emaildisclaimer including on confidential, privileged or legal entity information, viruses and monitoring of electronic messages. If you are not the intended recipient, please delete this message and notify the sender immediately. Any unauthorized use is strictly prohibited.
|
|
From: Tommaso F. <tom...@gm...> - 2019-08-13 08:33:50
|
Dear all, I'm studying the predictive models of multivariate variance, in particular the Dynamic conditional correlation model (DCC). I am aware of the fact that Quantlib provides the univariate Garch model, but I would like to know if the library implements also the multivariate garch model (for example, the DCC one). I did not find any reference in literature about this. Can someone help me? Thanks to all |
|
From: Banerjee, T. K <tap...@jp...> - 2019-08-08 01:00:59
|
Hi Luigi, Qlib experts,
It seems I could able to run some Java SWIG examples, some other fails. See below.
I guess he failed example may have data or incompatible function issue.
I was googling it on failures, looks like some other also got similar failures.
If anyone has any pointe to fix the issue, please let me know.
Thanks,
home/podsintr/qlib/QuantLib-SWIG-1.15/Java > javac -cp ".:QuantLib.jar" examples/EquityOptions.java
/home/podsintr/qlib/QuantLib-SWIG-1.15/Java > java -cp ".:QuantLib.jar" -Djava.library.path=/home/podsintr/qlib/lib examples.EquityOptions
Method European Bermudan American
============================================================================
Black-Scholes 0.000000000 NaN NaN
Heston Semi-Analytic 0.000000000 NaN NaN
Heston COS Method 0.000000000 NaN NaN
Bates Semi-Analytic 0.000000000 NaN NaN
Barone-Adesi/Whaley NaN NaN 0.000000000
Bjerksund/Stensland NaN NaN 0.000000000
Integral 0.000000000 NaN NaN
Finite differences 0.000000000 0.000000000 0.000000000
Binomial Jarrow-Rudd 0.000000000 0.000000000 0.000000000
Binomial Cox-Ross-Rubinstein 0.000000000 0.000000000 0.000000000
Additive equiprobabilities 0.000000000 0.000000000 0.000000000
Binomial Trigeorgis 0.000000000 0.000000000 0.000000000
Binomial Tian 0.000000000 0.000000000 0.000000000
Binomial Leisen-Reimer 0.000000000 0.000000000 0.000000000
Binomial Joshi 0.000000000 0.000000000 0.000000000
MC (crude) 0.000000000 NaN NaN
MC (Sobol) 0.000000000 NaN NaN
home/podsintr/qlib/QuantLib-SWIG-1.15/Java > java -cp ".:QuantLib.jar" -Djava.library.path=/home/podsintr/qlib/lib examples.UnaryFunctions
Integration result 1.9999999999999944
Brent Solver result 0.7390851323735234
# Fails
java -cp ".:QuantLib.jar" -Djava.library.path=/home/podsintr/qlib/lib examples.FRA
/home/podsintr/qlib/QuantLib-SWIG-1.15/Java > java -cp ".:QuantLib.jar" -Djava.library.path=/home/podsintr/qlib/lib examples.FRA
Exception in thread "main" java.lang.RuntimeException: Missing Euribor3M Actual/360 fixing for May 19th, 2006
at org.quantlib.QuantLibJNI.ForwardRateAgreement_spotValue(Native Method)
at org.quantlib.ForwardRateAgreement.spotValue(ForwardRateAgreement.java:51)
at examples.FRA.main(FRA.java:49)
From: Banerjee, Tapas K via QuantLib-dev [mailto:qua...@li...]
Sent: Wednesday, August 07, 2019 1:13 PM
To: QuantLib developers <qua...@li...>
Subject: Re: [Quantlib-dev] QuantLib-SWIG-1.15 example Run issue
Hi Luigi, Qlib experts,
I fixed both issues the way u mentioned below. Now Quantlib.jar and libJNI.so<https://secureweb.jpmchase.net/readonly/http:/libJNI.so> created fine
When I try to run example programs, I get below error:
java -cp ".:QuantLib.jar" -Djava.library.path=/home/podsintr/qlib/lib examples.FRA
/home/podsintr/qlib/QuantLib-SWIG-1.15/Java > java -cp ".:QuantLib.jar" -Djava.library.path=/home/podsintr/qlib/lib examples.FRA
Exception in thread "main" java.lang.RuntimeException: Missing Euribor3M Actual/360 fixing for May 19th, 2006
at org.quantlib.QuantLibJNI.ForwardRateAgreement_spotValue(Native Method)
at org.quantlib.ForwardRateAgreement.spotValue(ForwardRateAgreement.java:51)
at examples.FRA.main(FRA.java:49)
/home/podsintr/qlib/QuantLib-SWIG-1.15/Java > java -cp ".:QuantLib.jar" -Djava.library.path=/home/podsintr/qlib/lib examples.Bonds
Today: Monday, September 15th, 2008
Settlement date: Thursday, September 18th, 2008
Exception in thread "main" java.lang.RuntimeException: Boost assertion failed: px != 0
at org.quantlib.QuantLibJNI.IborCouponPricer_setCapletVolatility__SWIG_0(Native Method)
at org.quantlib.IborCouponPricer.setCapletVolatility(IborCouponPricer.java:43)
at examples.Bonds.main(Bonds.java:497)
Any idea, why is the issue & how to fix?
Can I run any other example program to see it I working?
FYI: We are using 1.56 version Boost (to make it compatible gcc 44) , 1.15 version of Quantlib.
Thanks,
From: Luigi Ballabio [mailto:lui...@gm...<mailto:lui...@gm...>]
Sent: Tuesday, August 06, 2019 3:14 AM
To: Banerjee, Tapas K <tap...@jp...<mailto:tap...@jp...>>
Cc: QuantLib developers <qua...@li...<mailto:qua...@li...>>
Subject: Re: [Quantlib-dev] QuantLib-SWIG-1.15 build issue
Thanks. The first error,
On Mon, Aug 5, 2019 at 10:16 PM Banerjee, Tapas K via QuantLib-dev <qua...@li...<mailto:qua...@li...>> wrote:
checking for QuantLib... ./configure: line 4029: quantlib-config: command not found
means that you either didn't install QuantLib (the C++ library) or that you installed it in a non-standard location and configure can't find it. In the first case, install QuantLib (i.e., run `make install` and possibly `ldconfig` after you compile it). In the second case, if you installed it in /some/other/path, add /some/other/path/bin to PATH before running configure.
The second error,
config.status: error: cannot find input file: `CSharp/Makefile.in<https://secureweb.jpmchase.net/readonly/http:/Makefile.in>' # We don’t have C# compiler, so thought it is OK to infore.
blocks configure and prevents it from continuing and creating the Java Makefile (Makefile.in<https://secureweb.jpmchase.net/readonly/http:/Makefile.in> is not the makefile; it's the input that configure processes to create the makefile). Did you remove CSharp/Makefile.in<https://secureweb.jpmchase.net/readonly/http:/Makefile.in>? If so, start over from a clean download.
Luigi
This message is confidential and subject to terms at:https://www.jpmorgan.com/emaildisclaimer including on confidential, privileged or legal entity information, viruses and monitoring of electronic messages. If you are not the intended recipient, please delete this message and notify the sender immediately. Any unauthorized use is strictly prohibited.
This message is confidential and subject to terms at: https://www.jpmorgan.com/emaildisclaimer including on confidential, privileged or legal entity information, viruses and monitoring of electronic messages. If you are not the intended recipient, please delete this message and notify the sender immediately. Any unauthorized use is strictly prohibited.
|
|
From: Banerjee, T. K <tap...@jp...> - 2019-08-07 17:13:22
|
Hi Luigi, Qlib experts,
I fixed both issues the way u mentioned below. Now Quantlib.jar and libJNI.so created fine
When I try to run example programs, I get below error:
java -cp ".:QuantLib.jar" -Djava.library.path=/home/podsintr/qlib/lib examples.FRA
/home/podsintr/qlib/QuantLib-SWIG-1.15/Java > java -cp ".:QuantLib.jar" -Djava.library.path=/home/podsintr/qlib/lib examples.FRA
Exception in thread "main" java.lang.RuntimeException: Missing Euribor3M Actual/360 fixing for May 19th, 2006
at org.quantlib.QuantLibJNI.ForwardRateAgreement_spotValue(Native Method)
at org.quantlib.ForwardRateAgreement.spotValue(ForwardRateAgreement.java:51)
at examples.FRA.main(FRA.java:49)
/home/podsintr/qlib/QuantLib-SWIG-1.15/Java > java -cp ".:QuantLib.jar" -Djava.library.path=/home/podsintr/qlib/lib examples.Bonds
Today: Monday, September 15th, 2008
Settlement date: Thursday, September 18th, 2008
Exception in thread "main" java.lang.RuntimeException: Boost assertion failed: px != 0
at org.quantlib.QuantLibJNI.IborCouponPricer_setCapletVolatility__SWIG_0(Native Method)
at org.quantlib.IborCouponPricer.setCapletVolatility(IborCouponPricer.java:43)
at examples.Bonds.main(Bonds.java:497)
Any idea, why is the issue & how to fix?
Can I run any other example program to see it I working?
FYI: We are using 1.56 version Boost (to make it compatible gcc 44) , 1.15 version of Quantlib.
Thanks,
From: Luigi Ballabio [mailto:lui...@gm...]
Sent: Tuesday, August 06, 2019 3:14 AM
To: Banerjee, Tapas K <tap...@jp...>
Cc: QuantLib developers <qua...@li...>
Subject: Re: [Quantlib-dev] QuantLib-SWIG-1.15 build issue
Thanks. The first error,
On Mon, Aug 5, 2019 at 10:16 PM Banerjee, Tapas K via QuantLib-dev <qua...@li...<mailto:qua...@li...>> wrote:
checking for QuantLib... ./configure: line 4029: quantlib-config: command not found
means that you either didn't install QuantLib (the C++ library) or that you installed it in a non-standard location and configure can't find it. In the first case, install QuantLib (i.e., run `make install` and possibly `ldconfig` after you compile it). In the second case, if you installed it in /some/other/path, add /some/other/path/bin to PATH before running configure.
The second error,
config.status: error: cannot find input file: `CSharp/Makefile.in<https://secureweb.jpmchase.net/readonly/http:/Makefile.in>' # We don’t have C# compiler, so thought it is OK to infore.
blocks configure and prevents it from continuing and creating the Java Makefile (Makefile.in<https://secureweb.jpmchase.net/readonly/http:/Makefile.in> is not the makefile; it's the input that configure processes to create the makefile). Did you remove CSharp/Makefile.in<https://secureweb.jpmchase.net/readonly/http:/Makefile.in>? If so, start over from a clean download.
Luigi
This message is confidential and subject to terms at: https://www.jpmorgan.com/emaildisclaimer including on confidential, privileged or legal entity information, viruses and monitoring of electronic messages. If you are not the intended recipient, please delete this message and notify the sender immediately. Any unauthorized use is strictly prohibited.
|
|
From: Achilleas M. <mic...@gm...> - 2019-08-07 15:55:34
|
Hi Luigi, Normally on a CI pipeline you can control when the various artifacts are built. So for example you can launch the Python wheels build as soon as a new release is tagged on the master branch. So you can use it also officially. This way you will be able to reduce the intervals between releases thanks to that automation. I've looked into it and it's quite some work, so I'll have to park it for the moment until I get some more resources on my project. It should be around October. Will keep you updated. Kind regards, Achilleas On Wed, 7 Aug 2019, 17:04 Luigi Ballabio, <lui...@gm...> wrote: > Hello Achilleas, > if you do, please by all means notify the community here. However, I > think I'd keep them separate from the official releases (mostly to avoid > supporting daily versions). > > Thanks, > Luigi > > > On Wed, Jul 10, 2019 at 11:34 AM Achilleas Michos < > mic...@gm...> wrote: > >> I see, it is because the last image in the multi-stage actually gets the >> wheel from the previous images. So itself does not have the wheel package. >> >> Will try as CI pipeline based on those instructions then. Any insights >> about windows builds (e.g. AppVeyor)? >> >> If I manage to create a pipeline that produces the wheels binary, is it >> something that would interest the community? >> >> On Wed, Jul 10, 2019 at 11:27 AM Luigi Ballabio <lui...@gm...> >> wrote: >> >>> Those instructions should work, yes. The devenv image doesn't have the >>> wheel package, because it doesn't build wheels. You need to install it >>> with pip, if you want to use that image for the build. However, if you >>> build your wheel in that image, it will only work in a corresponding Ubuntu >>> distribution and it will need libQuantLib.so installed. To build a >>> generic, self-contained wheel you need to use the manylinux image instead. >>> >>> Luigi >>> >>> >>> On Wed, Jul 10, 2019 at 11:17 AM Achilleas Michos < >>> mic...@gm...> wrote: >>> >>>> Thank you both for your input! >>>> >>>> So for the build I should follow the instructions in >>>> https://github.com/lballabio/QuantLib-SWIG/issues/103 or there are >>>> more recent? >>>> >>>> I'm still quite perplexed from the fact that when I run it in the >>>> ballabio/quantlib-swig-devenv:python3 it does not work, as the image itself >>>> runs the same command internally. >>>> I do: >>>> docker run --rm -ti -v /tmp/QuantLib-SWIG/:/build -w /build >>>> lballabio/quantlib-swig-devenv:python3 ./.travis/python3.build >>>> >>>> Where ./.travis/python3.build is >>>> #!/bin/bash >>>> >>>> ./autogen.sh \ >>>> && ./configure PYTHON=/usr/bin/python3 CXXFLAGS='-O1' \ >>>> && make -C Python \ >>>> && make -C Python check \ >>>> && make -C Python install \ >>>> && for i in Python/examples/*.py ; do echo $i && /usr/bin/python3 $i >>>> || break -1 ; done \ >>>> && cd Python && CXXFLAGS='-g0 -O3' /usr/bin/python3 setup.py >>>> bdist_wheel >>>> >>>> OUTCOME: >>>> usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] >>>> or: setup.py --help [cmd1 cmd2 ...] >>>> or: setup.py --help-commands >>>> or: setup.py cmd --help >>>> >>>> error: invalid command 'bdist_wheel' >>>> >>>> On Wed, Jul 10, 2019 at 10:51 AM Luigi Ballabio < >>>> lui...@gm...> wrote: >>>> >>>>> Hello, >>>>> the process to build the wheels on PyPI is still manual. They're >>>>> manylinux wheels (i.e., compatible with most Linux distributions), which >>>>> means that both the library and the wrappers have to be compiled inside the >>>>> Docker images provided at <https://github.com/pypa/manylinux> (you'll >>>>> also have to install Boost inside them) and that they have to be processed >>>>> by the auditwheel tool in order to include the shared C++ library >>>>> referenced by the wrappers. More details at the link above. >>>>> >>>>> Luigi >>>>> >>>>> >>>>> On Wed, Jul 10, 2019 at 10:02 AM Achilleas Michos < >>>>> mic...@gm...> wrote: >>>>> >>>>>> Hi Alix, >>>>>> >>>>>> Thanks for coming back! Yes, on my machine it is installed and >>>>>> building the wheels works fine. >>>>>> I'm trying to do the same using the script that Travis runs for >>>>>> Quantlib-SWIG. That script is run inside >>>>>> the lballabio/quantlib-swig-devenv:python3 docker image. >>>>>> Does this mean that the images does not have wheel installed? i.e. if >>>>>> I want to build wheels I have to make my own custom image to run on my CI? >>>>>> >>>>>> >>>>>> On Wed, Jul 10, 2019 at 9:58 AM ALIX LASSAUZET <al...@la...> >>>>>> wrote: >>>>>> >>>>>>> Hi Achilleas, >>>>>>> >>>>>>> Have you installed the wheel package on your machine (orin the >>>>>>> virtual env) first? >>>>>>> > pip install wheel >>>>>>> >>>>>>> Alix >>>>>>> >>>>>>> Le mer. 10 juil. 2019 à 09:54, Achilleas Michos < >>>>>>> mic...@gm...> a écrit : >>>>>>> >>>>>>>> Hi! >>>>>>>> >>>>>>>> I'm trying to expose in Python features of the QuantLib that are >>>>>>>> not yet in the Quantlib-SWIG. >>>>>>>> For that I've forked the later and I've done my changes. Now I need >>>>>>>> to compile a python wheel and provide it as a pip install-able package, to >>>>>>>> use in my project. >>>>>>>> I want, pretty much, to replicate the process that creates >>>>>>>> the QuantLib-Python deliveries in PyPI. >>>>>>>> >>>>>>>> I've noticed that the Quantlib-SWIG has a CI configuration setup >>>>>>>> for testing, though not for building wheels for PyPi. The build/test script >>>>>>>> looks like this: >>>>>>>> >>>>>>>> ./autogen.sh \ >>>>>>>> && ./configure PYTHON=/usr/bin/python3 CXXFLAGS='-O1' \ >>>>>>>> && make -C Python \ >>>>>>>> && make -C Python check \ >>>>>>>> && make -C Python install \ >>>>>>>> && for i in Python/examples/*.py ; do echo $i && /usr/bin/python3 >>>>>>>> $i || break -1 ; done >>>>>>>> >>>>>>>> I added the following commands at the end: >>>>>>>> >>>>>>>> && cd Python && /usr/bin/python3 setup.py bdist_wheel >>>>>>>> >>>>>>>> Aiming to recover the .whl in the travis worker and publish it. >>>>>>>> Unfortunately, the command gives me the following error even though >>>>>>>> the same works as expected on my machine (Ubuntu 18.04). >>>>>>>> >>>>>>>> usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] >>>>>>>> ...] >>>>>>>> or: setup.py --help [cmd1 cmd2 ...] >>>>>>>> or: setup.py --help-commands >>>>>>>> or: setup.py cmd --help >>>>>>>> >>>>>>>> error: invalid command 'bdist_wheel' >>>>>>>> >>>>>>>> Could someone help me figure out why in the docker container the >>>>>>>> command is not recognized but it is on my machine? >>>>>>>> By the way, how are the wheels posted on PyPi get generated? Is it >>>>>>>> manually or there is a CI process? >>>>>>>> >>>>>>>> Kind regards, >>>>>>>> Achilleas >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> QuantLib-dev mailing list >>>>>>>> Qua...@li... >>>>>>>> https://lists.sourceforge.net/lists/listinfo/quantlib-dev >>>>>>>> >>>>>>> _______________________________________________ >>>>>> QuantLib-dev mailing list >>>>>> Qua...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/quantlib-dev >>>>>> >>>>> |
|
From: Banerjee, T. K <tap...@jp...> - 2019-08-07 15:48:47
|
Luigi,
You are right, I used dependency walker saw VCC+ Apis were missing at server box.
I installed those, it worked fine.
Thanks,
From: Luigi Ballabio [mailto:lui...@gm...]
Sent: Wednesday, August 07, 2019 10:55 AM
To: Banerjee, Tapas K <tap...@jp...>
Cc: QuantLib developers <qua...@li...>
Subject: Re: [Quantlib-dev] Help-QuantLib run issue java.lang.UnsatisfiedLinkError - on Window box.
Hello,
the only thing that comes to mind is that you may possibly need the Visual C++ Redistributable Runtime. You can download it from Microsoft.
Luigi
On Tue, Jul 9, 2019 at 10:18 PM Banerjee, Tapas K via QuantLib-dev <qua...@li...<mailto:qua...@li...>> wrote:
Hello,
We tried to build Quantlib SWIG using the steps mentioned in Quantlib site.
We could successfully build and run needed quatlib so, JNI as DLL for Window box.
It runs fine from my Windows desktop.
But when I copy the code on our Window server, while running, I am getting below error.
= On Window Server ====
C:\SBOR-Valuation\HelloWorld\out\production\HelloWorld>java -Djava.library.path=
C:\SBOR-Valuation\HelloWorld examples.Bonds
Exception in thread "main" java.lang.UnsatisfiedLinkError: D:\Java\bin\QuantLibJ
NI.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
== My local box - exact same code ==== WORKS FINE ================
C:\Valuation-NT\HelloWorld\out\production\HelloWorld>java -Djava.library.path=C:\Valuation-NT\HelloWorld examples.Bonds
Today: Monday, September 15th, 2008
Settlement date: Thursday, September 18th, 2008
ZC Fixed Floating
Net present value 100.92 107.67 102.36
Clean price 100.92 106.13 101.80
Dirty price 100.92 107.67 102.36
Yield 3.00 % 3.65 % 2.20 %
I suspect some dependent System libraries missing at our NT server.
Any idea what all are Window dependent libraries for QuantLibJNI.dll ?
Any other pointers what I missing?
QuantLibJNI.dll located at the directory mentioned at Djava.library.path
Thanks,
This message is confidential and subject to terms at:https://www.jpmorgan.com/emaildisclaimer including on confidential, privileged or legal entity information, viruses and monitoring of electronic messages. If you are not the intended recipient, please delete this message and notify the sender immediately. Any unauthorized use is strictly prohibited.
_______________________________________________
QuantLib-dev mailing list
Qua...@li...<mailto:Qua...@li...>
https://lists.sourceforge.net/lists/listinfo/quantlib-dev<https://secureweb.jpmchase.net/readonly/https:/lists.sourceforge.net/lists/listinfo/quantlib-dev>
This message is confidential and subject to terms at: https://www.jpmorgan.com/emaildisclaimer including on confidential, privileged or legal entity information, viruses and monitoring of electronic messages. If you are not the intended recipient, please delete this message and notify the sender immediately. Any unauthorized use is strictly prohibited.
|
|
From: Luigi B. <lui...@gm...> - 2019-08-07 15:30:45
|
You can extract the information with something like this:
for i, x in enumerate(ir_swap.floatingLeg()):
cf = ql.as_floating_rate_coupon(x)
print(f"cf[{i}]")
print(f"payment date: {cf.date()}")
print(f"fixing date: {cf.fixingDate()}")
print(f"start of accrual: {cf.accrualStartDate()}")
print(f"end of accrual: {cf.accrualEndDate()}")
print(f"floating rate: {cf.rate()}")
print(f"index fixing: {libor_3M_index.fixing(cf.fixingDate())}")
print(f"discount factor: {discount_curve.discount(cf.date())}")
Note that, as a default, the floating rate is calculated at par on the life
of the coupon (between start and end of the accrual period) and so it might
differ slightly from the fixing returned by the index. Case in point: due
to adjustments over holidays and weekends, the last coupon accrues from
June 13th to September 12th, while the corresponding LIBOR fixing probably
goes from 13th to 13th.
Luigi
On Wed, Jun 26, 2019 at 9:53 AM R S <raj...@ho...> wrote:
> Apologies as I am sure this has been asked before but I cannot find the
> answers from the archive.
>
>
>
> I attach a jupyter notebook file where I have constructed a simple swap.
>
>
>
> I am using the forward and discount rates to manually calculate the
> cashflows and am always slightly out w.r.t the cashflows from the legs
>
>
>
> (see image - quantlibex.png)
>
>
>
> How can I get hold of the forward and discount rates being used internally
> (I presume these re off the equivalent z-curve, hence the diff?)
>
>
>
> I attach the requirements.txt for my virtual env called quantlibenv (if
> you wish to recreate)
>
>
>
> I add this env to jupyter using the command:
>
>
>
> ipython kernel install --user --name=quantlibenv
>
>
>
> as outlined here
> <https://anbasile.github.io/programming/2017/06/25/jupyter-venv/>
>
>
>
>
> _______________________________________________
> QuantLib-dev mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-dev
>
|
|
From: Luigi B. <lui...@gm...> - 2019-08-07 15:04:49
|
Hello Achilleas,
if you do, please by all means notify the community here. However, I
think I'd keep them separate from the official releases (mostly to avoid
supporting daily versions).
Thanks,
Luigi
On Wed, Jul 10, 2019 at 11:34 AM Achilleas Michos <
mic...@gm...> wrote:
> I see, it is because the last image in the multi-stage actually gets the
> wheel from the previous images. So itself does not have the wheel package.
>
> Will try as CI pipeline based on those instructions then. Any insights
> about windows builds (e.g. AppVeyor)?
>
> If I manage to create a pipeline that produces the wheels binary, is it
> something that would interest the community?
>
> On Wed, Jul 10, 2019 at 11:27 AM Luigi Ballabio <lui...@gm...>
> wrote:
>
>> Those instructions should work, yes. The devenv image doesn't have the
>> wheel package, because it doesn't build wheels. You need to install it
>> with pip, if you want to use that image for the build. However, if you
>> build your wheel in that image, it will only work in a corresponding Ubuntu
>> distribution and it will need libQuantLib.so installed. To build a
>> generic, self-contained wheel you need to use the manylinux image instead.
>>
>> Luigi
>>
>>
>> On Wed, Jul 10, 2019 at 11:17 AM Achilleas Michos <
>> mic...@gm...> wrote:
>>
>>> Thank you both for your input!
>>>
>>> So for the build I should follow the instructions in
>>> https://github.com/lballabio/QuantLib-SWIG/issues/103 or there are more
>>> recent?
>>>
>>> I'm still quite perplexed from the fact that when I run it in the
>>> ballabio/quantlib-swig-devenv:python3 it does not work, as the image itself
>>> runs the same command internally.
>>> I do:
>>> docker run --rm -ti -v /tmp/QuantLib-SWIG/:/build -w /build
>>> lballabio/quantlib-swig-devenv:python3 ./.travis/python3.build
>>>
>>> Where ./.travis/python3.build is
>>> #!/bin/bash
>>>
>>> ./autogen.sh \
>>> && ./configure PYTHON=/usr/bin/python3 CXXFLAGS='-O1' \
>>> && make -C Python \
>>> && make -C Python check \
>>> && make -C Python install \
>>> && for i in Python/examples/*.py ; do echo $i && /usr/bin/python3 $i ||
>>> break -1 ; done \
>>> && cd Python && CXXFLAGS='-g0 -O3' /usr/bin/python3 setup.py bdist_wheel
>>>
>>> OUTCOME:
>>> usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
>>> or: setup.py --help [cmd1 cmd2 ...]
>>> or: setup.py --help-commands
>>> or: setup.py cmd --help
>>>
>>> error: invalid command 'bdist_wheel'
>>>
>>> On Wed, Jul 10, 2019 at 10:51 AM Luigi Ballabio <
>>> lui...@gm...> wrote:
>>>
>>>> Hello,
>>>> the process to build the wheels on PyPI is still manual. They're
>>>> manylinux wheels (i.e., compatible with most Linux distributions), which
>>>> means that both the library and the wrappers have to be compiled inside the
>>>> Docker images provided at <https://github.com/pypa/manylinux> (you'll
>>>> also have to install Boost inside them) and that they have to be processed
>>>> by the auditwheel tool in order to include the shared C++ library
>>>> referenced by the wrappers. More details at the link above.
>>>>
>>>> Luigi
>>>>
>>>>
>>>> On Wed, Jul 10, 2019 at 10:02 AM Achilleas Michos <
>>>> mic...@gm...> wrote:
>>>>
>>>>> Hi Alix,
>>>>>
>>>>> Thanks for coming back! Yes, on my machine it is installed and
>>>>> building the wheels works fine.
>>>>> I'm trying to do the same using the script that Travis runs for
>>>>> Quantlib-SWIG. That script is run inside
>>>>> the lballabio/quantlib-swig-devenv:python3 docker image.
>>>>> Does this mean that the images does not have wheel installed? i.e. if
>>>>> I want to build wheels I have to make my own custom image to run on my CI?
>>>>>
>>>>>
>>>>> On Wed, Jul 10, 2019 at 9:58 AM ALIX LASSAUZET <al...@la...>
>>>>> wrote:
>>>>>
>>>>>> Hi Achilleas,
>>>>>>
>>>>>> Have you installed the wheel package on your machine (orin the
>>>>>> virtual env) first?
>>>>>> > pip install wheel
>>>>>>
>>>>>> Alix
>>>>>>
>>>>>> Le mer. 10 juil. 2019 à 09:54, Achilleas Michos <
>>>>>> mic...@gm...> a écrit :
>>>>>>
>>>>>>> Hi!
>>>>>>>
>>>>>>> I'm trying to expose in Python features of the QuantLib that are not
>>>>>>> yet in the Quantlib-SWIG.
>>>>>>> For that I've forked the later and I've done my changes. Now I need
>>>>>>> to compile a python wheel and provide it as a pip install-able package, to
>>>>>>> use in my project.
>>>>>>> I want, pretty much, to replicate the process that creates
>>>>>>> the QuantLib-Python deliveries in PyPI.
>>>>>>>
>>>>>>> I've noticed that the Quantlib-SWIG has a CI configuration setup for
>>>>>>> testing, though not for building wheels for PyPi. The build/test script
>>>>>>> looks like this:
>>>>>>>
>>>>>>> ./autogen.sh \
>>>>>>> && ./configure PYTHON=/usr/bin/python3 CXXFLAGS='-O1' \
>>>>>>> && make -C Python \
>>>>>>> && make -C Python check \
>>>>>>> && make -C Python install \
>>>>>>> && for i in Python/examples/*.py ; do echo $i && /usr/bin/python3 $i
>>>>>>> || break -1 ; done
>>>>>>>
>>>>>>> I added the following commands at the end:
>>>>>>>
>>>>>>> && cd Python && /usr/bin/python3 setup.py bdist_wheel
>>>>>>>
>>>>>>> Aiming to recover the .whl in the travis worker and publish it.
>>>>>>> Unfortunately, the command gives me the following error even though
>>>>>>> the same works as expected on my machine (Ubuntu 18.04).
>>>>>>>
>>>>>>> usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
>>>>>>> or: setup.py --help [cmd1 cmd2 ...]
>>>>>>> or: setup.py --help-commands
>>>>>>> or: setup.py cmd --help
>>>>>>>
>>>>>>> error: invalid command 'bdist_wheel'
>>>>>>>
>>>>>>> Could someone help me figure out why in the docker container the
>>>>>>> command is not recognized but it is on my machine?
>>>>>>> By the way, how are the wheels posted on PyPi get generated? Is it
>>>>>>> manually or there is a CI process?
>>>>>>>
>>>>>>> Kind regards,
>>>>>>> Achilleas
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> QuantLib-dev mailing list
>>>>>>> Qua...@li...
>>>>>>> https://lists.sourceforge.net/lists/listinfo/quantlib-dev
>>>>>>>
>>>>>> _______________________________________________
>>>>> QuantLib-dev mailing list
>>>>> Qua...@li...
>>>>> https://lists.sourceforge.net/lists/listinfo/quantlib-dev
>>>>>
>>>>
|
|
From: Luigi B. <lui...@gm...> - 2019-08-07 14:55:07
|
Hello,
the only thing that comes to mind is that you may possibly need
the Visual C++ Redistributable Runtime. You can download it from Microsoft.
Luigi
On Tue, Jul 9, 2019 at 10:18 PM Banerjee, Tapas K via QuantLib-dev <
qua...@li...> wrote:
> Hello,
>
>
>
> We tried to build Quantlib SWIG using the steps mentioned in Quantlib site.
>
> We could successfully build and run needed quatlib so, JNI as DLL for
> Window box.
>
>
>
> It runs fine from my Windows desktop.
>
> But when I copy the code on our Window server, while running, I am
> getting below error.
>
>
>
>
>
> = On Window Server ====
>
> C:\SBOR-Valuation\HelloWorld\out\production\HelloWorld>java
> -Djava.library.path=
>
> C:\SBOR-Valuation\HelloWorld examples.Bonds
>
> *Exception in thread "main" java.lang.UnsatisfiedLinkError:
> D:\Java\bin\QuantLibJ*
>
> *NI.dll: Can't find dependent libraries*
>
> * at java.lang.ClassLoader$NativeLibrary.load(Native Method)*
>
> * at java.lang.ClassLoader.loadLibrary0(Unknown Source)*
>
> at java.lang.ClassLoader.loadLibrary(Unknown Source)
>
> at java.lang.Runtime.loadLibrary0(Unknown Source)
>
> at java.lang.System.loadLibrary(Unknown Source)
>
>
>
>
>
> == My local box - exact same code ==== WORKS FINE ================
>
> C:\Valuation-NT\HelloWorld\out\production\HelloWorld>java
> -Djava.library.path=C:\Valuation-NT\HelloWorld examples.Bonds
>
> Today: Monday, September 15th, 2008
>
> Settlement date: Thursday, September 18th, 2008
>
>
>
> ZC Fixed Floating
>
> Net present value 100.92 107.67 102.36
>
> Clean price 100.92 106.13 101.80
>
> Dirty price 100.92 107.67 102.36
>
> Yield 3.00 % 3.65 % 2.20 %
>
>
>
> I suspect some dependent System libraries missing at our NT server.
>
> Any idea what all are Window dependent libraries for *QuantLibJNI.dll ?*
>
> Any other pointers what I missing?
>
>
>
> QuantLibJNI.dll located at the directory mentioned at Djava.library.path
>
>
>
> Thanks,
>
>
>
> This message is confidential and subject to terms at:
> https://www.jpmorgan.com/emaildisclaimer including on confidential,
> privileged or legal entity information, viruses and monitoring of
> electronic messages. If you are not the intended recipient, please delete
> this message and notify the sender immediately. Any unauthorized use is
> strictly prohibited.
> _______________________________________________
> QuantLib-dev mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-dev
>
|
|
From: Dirk E. <ed...@de...> - 2019-08-07 11:46:37
|
Luigi, On 7 August 2019 at 09:36, Luigi Ballabio wrote: | Dirk, | nothing changed as far as I know. Is it possible that the build | machine exhausted the memory? I thought of that too, especially as we had in the past our issue with smaller boxes. In the, and on a lurk, I just turned optimisation off and suppress debug symbols (as we do on some build platforms) and that worked (on my reasonably beefy amd64 box). Will upload in a minute and watch how the other builders do. Dirk -- http://dirk.eddelbuettel.com | @eddelbuettel | ed...@de... |
|
From: Luigi B. <lui...@gm...> - 2019-08-07 07:36:22
|
Dirk,
nothing changed as far as I know. Is it possible that the build
machine exhausted the memory?
Luigi
On Wed, Aug 7, 2019 at 5:05 AM Dirk Eddelbuettel <ed...@de...> wrote:
>
> Having updated QuantLib to 1.16 yesterday, I just tried to update
> QuantLib-SWIG using the regular build process -- but I now get
>
> /usr/bin/ld: error: lto-wrapper failed
>
> Am I missing something simple? Do I need add something to the build
> dependencies?
>
> Dirk, who is less well versed in Python than in R or C++
>
>
> *** Running on arch amd64 and cpu x86_64
> checking for gcc... gcc
> checking whether the C compiler works... yes
> checking for C compiler default output file name... a.out
> checking for suffix of executables...
> checking dependency style of g++... none
> checking for python... /usr/bin/python
> checking for jar... no
> checking for java... no
> checking for scalac... no
> checking for scala... no
> checking that generated files are newer than configure... done
> configure: creating ./config.status
> config.status: creating Makefile
> config.status: creating CSharp/Makefile
> config.status: creating Java/Makefile
> config.status: creating Python/Makefile
> config.status: creating Python/setup.py
> config.status: creating R/Makefile
> config.status: creating R/DESCRIPTION
> config.status: executing depfiles commands
> (cd Python && for python in python3.7; do \
> CC="g++" \
> CXX="g++" \
> CFLAGS="-O2 -Wall -Wno-strict-aliasing
> -DBOOST_NO_AUTO_PTR" \
> CXXFLAGS="-O2 -Wall -Wno-strict-aliasing
> -DBOOST_NO_AUTO_PTR" \
> $python setup.py build; \
> done )
> running build
> running build_py
> creating build
> creating build/lib.linux-x86_64-3.7
> creating build/lib.linux-x86_64-3.7/QuantLib
> copying QuantLib/__init__.py -> build/lib.linux-x86_64-3.7/QuantLib
> copying QuantLib/QuantLib.py -> build/lib.linux-x86_64-3.7/QuantLib
> running build_ext
> building 'QuantLib._QuantLib' extension
> creating build/temp.linux-x86_64-3.7
> creating build/temp.linux-x86_64-3.7/QuantLib
> running build_ext
> building 'QuantLib._QuantLib' extension
> creating build/temp.linux-x86_64-3.7
> creating build/temp.linux-x86_64-3.7/QuantLib
> g++ -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g
> -fstack-protector-strong -Wformat -Werror=format-security -g -flto
> -fuse-linker-plugin -ffat-lto-objects -O2 -Wall -Wno-strict-aliasing
> -DBOOST_NO_AUTO_PTR -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC
> -I/usr/include/python3.7m -I/usr/include -c QuantLib/quantlib_wrap.cpp -o
> build/temp.linux-x86_64-3.7/QuantLib/quantlib_wrap.o -fopenmp -Wno-unused
> -O2 -Wall -Wno-strict-aliasing -DBOOST_NO_AUTO_PTR
> QuantLib/quantlib_wrap.cpp: In function 'PyObject*
> GaussLobattoIntegral_swigregister(PyObject*, PyObject*)':
>
>
> QuantLib/quantlib_wrap.cpp:426255: note: -Wmisleading-indentation is
> disabled from this point onwards, since column-tracking was disabled due to
> the size of the code/headers
> SWIG_TypeNewClientData(SWIGTYPE_p_GaussLobattoIntegral,
> SWIG_NewClientData(obj));
>
> QuantLib/quantlib_wrap.cpp: In function '_wrap_new_MCLDAmericanEngine':
> QuantLib/quantlib_wrap.cpp:264555:27: warning: 'MEM[(struct optional
> *)&arg13 + 1B]' may be used uninitialized in this function
> [-Wmaybe-uninitialized]
>
> boost::optional< bool > arg13 = (boost::optional< bool >) boost::none ;
> ^~~~~
> QuantLib/quantlib_wrap.cpp: In function '_wrap_new_MCPRAmericanEngine':
> QuantLib/quantlib_wrap.cpp:264303:27: warning: 'MEM[(struct optional
> *)&arg13 + 1B]' may be used uninitialized in this function
> [-Wmaybe-uninitialized]
>
> boost::optional< bool > arg13 = (boost::optional< bool >) boost::none ;
> ^~~~~
> g++ -shared -Wl,-z,relro -O2 -Wall -Wno-strict-aliasing
> -DBOOST_NO_AUTO_PTR -Wdate-time -D_FORTIFY_SOURCE=2
> build/temp.linux-x86_64-3.7/QuantLib/quantlib_wrap.o -lQuantLib -o
> build/lib.linux-x86_64-3.7/QuantLib/_
> QuantLib.cpython-37m-x86_64-linux-gnu.so -fopenmp
> /usr/bin/ld: error: lto-wrapper failed
> collect2: error: ld returned 1 exit status
> error: command 'g++' failed with exit status 1
> make: *** [debian/rules:99: build-stamp] Error 1
> dpkg-buildpackage: error: debian/rules build subprocess returned exit
> status 2
> I: copying local configuration
> E: Failed autobuilding of package
> I: unmounting dev/ptmx filesystem
> I: unmounting dev/pts filesystem
> I: unmounting dev/shm filesystem
> I: unmounting proc filesystem
> I: unmounting sys filesystem
> I: cleaning the build env
> I: removing directory /var/cache/pbuilder/build//32183 and its
> subdirectories
> gbp:error: 'pdebuild' failed: it exited with 1
> Command exited with non-zero status 1
> 415.88user 19.25system 7:25.21elapsed 97%CPU (0avgtext+0avgdata
> 7642488maxresident)k
> 1784256inputs+7819032outputs (707major+7442530minor)pagefaults 0swaps
> Done
> quantlib-swig ->
> warning: the authors of lintian do not recommend running it with root
> privileges!
> bad package file name /mnt/ (neither .deb, .udeb, .changes .dsc or
> .buildinfo file)
> edd@rob:~/deb/quantlib-swig(master)$
>
>
> --
> http://dirk.eddelbuettel.com | @eddelbuettel | ed...@de...
>
|
|
From: Dirk E. <ed...@de...> - 2019-08-07 03:39:52
|
Having updated QuantLib to 1.16 yesterday, I just tried to update
QuantLib-SWIG using the regular build process -- but I now get
/usr/bin/ld: error: lto-wrapper failed
Am I missing something simple? Do I need add something to the build
dependencies?
Dirk, who is less well versed in Python than in R or C++
*** Running on arch amd64 and cpu x86_64
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking dependency style of g++... none
checking for python... /usr/bin/python
checking for jar... no
checking for java... no
checking for scalac... no
checking for scala... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating CSharp/Makefile
config.status: creating Java/Makefile
config.status: creating Python/Makefile
config.status: creating Python/setup.py
config.status: creating R/Makefile
config.status: creating R/DESCRIPTION
config.status: executing depfiles commands
(cd Python && for python in python3.7; do \
CC="g++" \
CXX="g++" \
CFLAGS="-O2 -Wall -Wno-strict-aliasing -DBOOST_NO_AUTO_PTR" \
CXXFLAGS="-O2 -Wall -Wno-strict-aliasing -DBOOST_NO_AUTO_PTR" \
$python setup.py build; \
done )
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.7
creating build/lib.linux-x86_64-3.7/QuantLib
copying QuantLib/__init__.py -> build/lib.linux-x86_64-3.7/QuantLib
copying QuantLib/QuantLib.py -> build/lib.linux-x86_64-3.7/QuantLib
running build_ext
building 'QuantLib._QuantLib' extension
creating build/temp.linux-x86_64-3.7
creating build/temp.linux-x86_64-3.7/QuantLib
running build_ext
building 'QuantLib._QuantLib' extension
creating build/temp.linux-x86_64-3.7
creating build/temp.linux-x86_64-3.7/QuantLib
g++ -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -flto -fuse-linker-plugin -ffat-lto-objects -O2 -Wall -Wno-strict-aliasing -DBOOST_NO_AUTO_PTR -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.7m -I/usr/include -c QuantLib/quantlib_wrap.cpp -o build/temp.linux-x86_64-3.7/QuantLib/quantlib_wrap.o -fopenmp -Wno-unused -O2 -Wall -Wno-strict-aliasing -DBOOST_NO_AUTO_PTR
QuantLib/quantlib_wrap.cpp: In function 'PyObject* GaussLobattoIntegral_swigregister(PyObject*, PyObject*)':
QuantLib/quantlib_wrap.cpp:426255: note: -Wmisleading-indentation is disabled from this point onwards, since column-tracking was disabled due to the size of the code/headers
SWIG_TypeNewClientData(SWIGTYPE_p_GaussLobattoIntegral, SWIG_NewClientData(obj));
QuantLib/quantlib_wrap.cpp: In function '_wrap_new_MCLDAmericanEngine':
QuantLib/quantlib_wrap.cpp:264555:27: warning: 'MEM[(struct optional *)&arg13 + 1B]' may be used uninitialized in this function [-Wmaybe-uninitialized]
boost::optional< bool > arg13 = (boost::optional< bool >) boost::none ;
^~~~~
QuantLib/quantlib_wrap.cpp: In function '_wrap_new_MCPRAmericanEngine':
QuantLib/quantlib_wrap.cpp:264303:27: warning: 'MEM[(struct optional *)&arg13 + 1B]' may be used uninitialized in this function [-Wmaybe-uninitialized]
boost::optional< bool > arg13 = (boost::optional< bool >) boost::none ;
^~~~~
g++ -shared -Wl,-z,relro -O2 -Wall -Wno-strict-aliasing -DBOOST_NO_AUTO_PTR -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.7/QuantLib/quantlib_wrap.o -lQuantLib -o build/lib.linux-x86_64-3.7/QuantLib/_QuantLib.cpython-37m-x86_64-linux-gnu.so -fopenmp
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
error: command 'g++' failed with exit status 1
make: *** [debian/rules:99: build-stamp] Error 1
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
I: copying local configuration
E: Failed autobuilding of package
I: unmounting dev/ptmx filesystem
I: unmounting dev/pts filesystem
I: unmounting dev/shm filesystem
I: unmounting proc filesystem
I: unmounting sys filesystem
I: cleaning the build env
I: removing directory /var/cache/pbuilder/build//32183 and its subdirectories
gbp:error: 'pdebuild' failed: it exited with 1
Command exited with non-zero status 1
415.88user 19.25system 7:25.21elapsed 97%CPU (0avgtext+0avgdata 7642488maxresident)k
1784256inputs+7819032outputs (707major+7442530minor)pagefaults 0swaps
Done
quantlib-swig ->
warning: the authors of lintian do not recommend running it with root privileges!
bad package file name /mnt/ (neither .deb, .udeb, .changes .dsc or .buildinfo file)
edd@rob:~/deb/quantlib-swig(master)$
--
http://dirk.eddelbuettel.com | @eddelbuettel | ed...@de...
|
|
From: Luigi B. <lui...@gm...> - 2019-08-06 07:13:51
|
Thanks. The first error, On Mon, Aug 5, 2019 at 10:16 PM Banerjee, Tapas K via QuantLib-dev < qua...@li...> wrote: > *checking for QuantLib... ./configure: line 4029: quantlib-config: command > not found* > means that you either didn't install QuantLib (the C++ library) or that you installed it in a non-standard location and configure can't find it. In the first case, install QuantLib (i.e., run `make install` and possibly `ldconfig` after you compile it). In the second case, if you installed it in /some/other/path, add /some/other/path/bin to PATH before running configure. The second error, config.status: error: cannot find input file: `CSharp/Makefile.in' # We > don’t have C# compiler, so thought it is OK to infore. > > blocks configure and prevents it from continuing and creating the Java Makefile (Makefile.in is not the makefile; it's the input that configure processes to create the makefile). Did you remove CSharp/Makefile.in? If so, start over from a clean download. Luigi |