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: Dirk E. <ed...@de...> - 2010-01-27 02:39:19
|
On 25 January 2010 at 22:48, Luigi Ballabio wrote: | On Jan 25, 2010, at 9:24 PM, Dirk Eddelbuettel wrote: | > | > On 25 January 2010 at 12:07, Luigi Ballabio wrote: | > | Hi all, | > | another beta for version 1.0 is available at | > | <https://sourceforge.net/projects/quantlib/files/prerelease/>. | > | | > | In everybody's interest, please give this version a try and report | > any | > | problems you might have. Reports can be either sent here on the | > list or | > | filed on the Sourceforge bug tracker. | > | > A new version 1.0.0~20100125-1 has been uploaded to Debian. The | > build and | > test was uneventful for my x86 ("i386" 32-bit) Linux system. | > | > I'll follow up with the Swig package later or tomorrow. | | Thanks, Dirk---and I didn't mention it before, but of course if you | want to patch configure.ac in your port to better follow Debian policy | and make it 1.0.0, you have my blessing... Thanks -- I actually left things as they were but simply used 1.0.0 as the Debian numbering which follows the existing pattern. Any plans on changing the major/minor? It is still libQuantLib.so.0.0.0 -- should that change with 1.0 (or 1.0.0) ? Just curious.... Dirk -- Three out of two people have difficulties with fractions. |
|
From: Luigi B. <lui...@gm...> - 2010-01-26 15:04:46
|
On Sat, 2010-01-23 at 20:22 +0000, Andrea wrote: > On 21/01/10 16:28, Luigi Ballabio wrote: > > On Wed, 2010-01-20 at 21:11 +0000, Andrea wrote: > >> On 20/01/10 08:56, Luigi Ballabio wrote: > >>> > >>> unofficial Git mirrors of the QuantLib SVN trunk and 1.0 branch are > >>> available at <http://github.com/lballabio/quantlib> and > >>> <http://github.com/lballabio/quantlib-1.0>, respectively (for space > >>> reason, they only hold the QuantLib module; no bindings or addins.) > >>> > I am not an expert of git, so it might be wrong. > > Is it possible to set (on the master git repository) the pattern of > files that should be ignored? I think so (one can add a .gitignore file.) But unless I'm mistaken, due to mirroring a svn repository, the file would keep being rebased---which, I'm told, is not good for a public repository. Luigi -- To err is human -- to blame it on a computer is even more so. -- unknown |
|
From: Luigi B. <lui...@gm...> - 2010-01-25 21:48:25
|
On Jan 25, 2010, at 9:24 PM, Dirk Eddelbuettel wrote: > > On 25 January 2010 at 12:07, Luigi Ballabio wrote: > | Hi all, > | another beta for version 1.0 is available at > | <https://sourceforge.net/projects/quantlib/files/prerelease/>. > | > | In everybody's interest, please give this version a try and report > any > | problems you might have. Reports can be either sent here on the > list or > | filed on the Sourceforge bug tracker. > > A new version 1.0.0~20100125-1 has been uploaded to Debian. The > build and > test was uneventful for my x86 ("i386" 32-bit) Linux system. > > I'll follow up with the Swig package later or tomorrow. Thanks, Dirk---and I didn't mention it before, but of course if you want to patch configure.ac in your port to better follow Debian policy and make it 1.0.0, you have my blessing... Luigi |
|
From: Dirk E. <ed...@de...> - 2010-01-25 20:25:24
|
On 25 January 2010 at 12:07, Luigi Ballabio wrote: | Hi all, | another beta for version 1.0 is available at | <https://sourceforge.net/projects/quantlib/files/prerelease/>. | | In everybody's interest, please give this version a try and report any | problems you might have. Reports can be either sent here on the list or | filed on the Sourceforge bug tracker. A new version 1.0.0~20100125-1 has been uploaded to Debian. The build and test was uneventful for my x86 ("i386" 32-bit) Linux system. I'll follow up with the Swig package later or tomorrow. Dirk -- Three out of two people have difficulties with fractions. |
|
From: Luigi B. <lui...@gm...> - 2010-01-25 11:07:27
|
Hi all, another beta for version 1.0 is available at <https://sourceforge.net/projects/quantlib/files/prerelease/>. In everybody's interest, please give this version a try and report any problems you might have. Reports can be either sent here on the list or filed on the Sourceforge bug tracker. Thanks, Luigi -- Everything that can be invented has been invented. -- Charles Duell, Director of U.S. Patent Office, 1899 |
|
From: Andrea <mar...@go...> - 2010-01-24 18:22:57
|
Here is a patch to expose QL_ENABLE_TRACING and QL_DISABLE_TRACING via SWIG. I hope I havent missed it, if it is already there. Andrea |
|
From: Andrea <mar...@go...> - 2010-01-23 20:22:43
|
On 21/01/10 16:28, Luigi Ballabio wrote: > On Wed, 2010-01-20 at 21:11 +0000, Andrea wrote: >> On 20/01/10 08:56, Luigi Ballabio wrote: >>> >>> unofficial Git mirrors of the QuantLib SVN trunk and 1.0 branch are >>> available at <http://github.com/lballabio/quantlib> and >>> <http://github.com/lballabio/quantlib-1.0>, respectively (for space >>> reason, they only hold the QuantLib module; no bindings or addins.) >>> >> Very good news. >> Do you plan to move permanently to git at some point? > > I don't know. I'd sure like to, but I'm not yet sure how much > comfortable the other developers are with it. > > Luigi > > > I am not an expert of git, so it might be wrong. Is it possible to set (on the master git repository) the pattern of files that should be ignored? Something like that *.[oa] *.lo *.la *~ .deps Makefile Makefile.in *.m4 in .git/info/exclude or it has to be set on every clone? |
|
From: Andrea <mar...@go...> - 2010-01-23 20:13:54
|
On 22/01/10 11:06, Luigi Ballabio wrote:
> On Wed, 2010-01-20 at 21:08 +0000, Andrea wrote:
>> It looks like it makes things a lot easier.
>> Basically one has to export the raw C++ inheritance.
>> Then swig will remove all differences between pointers, references,
>> shared_ptr, wrapping them when needed.
>> I think it would simplify what Quantlib-SWIG does now, where it needs
>> to expose classes inheriting from shared_ptr<I> rather than I itself.
>
>> It is very likely that the user will not notice any difference.
>
> Ok, I see. Yes, that would simplify the interfaces somewhat. However,
> there's the problem that shared_ptr is not supported in all the
> languages we're exporting to.
>
I tried a bit more to use swig shared_ptr support (just the template definition and not th emore
advanced feature), but that also has problems.
Basically in quantlib-swig a share_ptr is
template <class T>
class shared_ptr {
public:
T* operator->();
};
while in SWIG's shared_ptr.i it is
template <class T>
class shared_ptr {
};
QuantLi-SWIG relies massively on the operator -> which force SWIG to add all methods of T to the
shared_ptr class.
So in the end, I am still with the first version, and I will just try to make it safe with some
observer/observable pattern so that I know when the reference held by the wrapper is destroyed (I
hope at least).
Andrea
|
|
From: Andrea <mar...@go...> - 2010-01-23 10:06:44
|
On 22/01/10 11:06, Luigi Ballabio wrote: > On Wed, 2010-01-20 at 21:08 +0000, Andrea wrote: >> It looks like it makes things a lot easier. >> Basically one has to export the raw C++ inheritance. >> Then swig will remove all differences between pointers, references, >> shared_ptr, wrapping them when needed. >> I think it would simplify what Quantlib-SWIG does now, where it needs >> to expose classes inheriting from shared_ptr<I> rather than I itself. > >> It is very likely that the user will not notice any difference. > > Ok, I see. Yes, that would simplify the interfaces somewhat. However, > there's the problem that shared_ptr is not supported in all the > languages we're exporting to. > >> Coming back to my original problem, unfortunately it seems that using >> shared_ptr and directors does not work (yet?) (SWIG generates invalid >> Java code). So for the time being the code I posted at the top of the >> thread is still my best solution. > > Ok, I'll look at it. Thanks. > > Luigi > > > For the problem with directors, feel free to join me here http://article.gmane.org/gmane.comp.programming.swig/15606 Andrea |
|
From: Luigi B. <lui...@gm...> - 2010-01-22 11:07:41
|
On Wed, 2010-01-20 at 21:08 +0000, Andrea wrote: > It looks like it makes things a lot easier. > Basically one has to export the raw C++ inheritance. > Then swig will remove all differences between pointers, references, > shared_ptr, wrapping them when needed. > I think it would simplify what Quantlib-SWIG does now, where it needs > to expose classes inheriting from shared_ptr<I> rather than I itself. > It is very likely that the user will not notice any difference. Ok, I see. Yes, that would simplify the interfaces somewhat. However, there's the problem that shared_ptr is not supported in all the languages we're exporting to. > Coming back to my original problem, unfortunately it seems that using > shared_ptr and directors does not work (yet?) (SWIG generates invalid > Java code). So for the time being the code I posted at the top of the > thread is still my best solution. Ok, I'll look at it. Thanks. Luigi -- The nice thing about standards is that there are so many of them to choose from. -- Andrew S. Tanenbaum |
|
From: Luigi B. <lui...@gm...> - 2010-01-21 16:29:20
|
On Wed, 2010-01-20 at 21:11 +0000, Andrea wrote: > On 20/01/10 08:56, Luigi Ballabio wrote: > > > > unofficial Git mirrors of the QuantLib SVN trunk and 1.0 branch are > > available at <http://github.com/lballabio/quantlib> and > > <http://github.com/lballabio/quantlib-1.0>, respectively (for space > > reason, they only hold the QuantLib module; no bindings or addins.) > > > Very good news. > Do you plan to move permanently to git at some point? I don't know. I'd sure like to, but I'm not yet sure how much comfortable the other developers are with it. Luigi -- Do the right thing. It will gratify some people and astonish the rest. -- Mark Twain |
|
From: Andrea <mar...@go...> - 2010-01-20 21:11:09
|
On 20/01/10 08:56, Luigi Ballabio wrote: > > Hi all, > unofficial Git mirrors of the QuantLib SVN trunk and 1.0 branch are > available at <http://github.com/lballabio/quantlib> and > <http://github.com/lballabio/quantlib-1.0>, respectively (for space > reason, they only hold the QuantLib module; no bindings or addins.) > > If you're not part of the developer group and if you wanted to develop > additional functionality on top of QuantLib, the Git mirrors above might > be more useful than the previously available read-only access to > Subversion. If you clone them, you get a local repository to which you > can commit and from which you can easily generate patches to submit > upstream. If you fork them, you can do the same and also get the > possibility of a collaborative effort with others. > > Later, > Luigi > > Very good news. Do you plan to move permanently to git at some point? |
|
From: Andrea <mar...@go...> - 2010-01-20 21:08:13
|
On 20/01/10 11:15, Luigi Ballabio wrote: > On Mon, 2010-01-18 at 22:14 +0000, Andrea wrote: >> On 17/01/10 21:31, Andrea wrote: >>> I would like to post 2 patches (one for QuantLib, the other for >> QuantLib-SWIG) to allow users to >>> implement a payoff entirely in a foreign language (e.g. Java). >>> These patches apply on top of the other patch I have just sent. >> >> I've actually found a better solution, but it requires a global change >> in QuantLib-SWIG. >> >> In SWIG there is already support for boost::shared_ptr<> that removes >> distinction between raw pointer, value, reference and smart pointer >> making it all easier. >> >> Does anybody know why it is not used? > > SWIG didn't provide it when we first wrote the interfaces, and I'm > afraid we haven't keep abreast of the latest developments. I'll have to > check it out. Would it result in an interface change as seen from the > host language? It looks like it makes things a lot easier. Basically one has to export the raw C++ inheritance. Then swig will remove all differences between pointers, references, shared_ptr, wrapping them when needed. I think it would simplify what Quantlib-SWIG does now, where it needs to expose classes inheriting from shared_ptr<I> rather than I itself. I think the idea is to expose things as they are, then SWIG will take care of all the shared_ptr details. If you compile the file I have attached, you can see what it looks like. It is very likely that the user will not notice any difference. Coming back to my original problem, unfortunately it seems that using shared_ptr and directors does not work (yet?) (SWIG generates invalid Java code). So for the time being the code I posted at the top of the thread is still my best solution. Andrea |
|
From: Luigi B. <lui...@gm...> - 2010-01-20 11:16:30
|
On Mon, 2010-01-18 at 22:14 +0000, Andrea wrote: > On 17/01/10 21:31, Andrea wrote: > > I would like to post 2 patches (one for QuantLib, the other for > QuantLib-SWIG) to allow users to > > implement a payoff entirely in a foreign language (e.g. Java). > > These patches apply on top of the other patch I have just sent. > > I've actually found a better solution, but it requires a global change > in QuantLib-SWIG. > > In SWIG there is already support for boost::shared_ptr<> that removes > distinction between raw pointer, value, reference and smart pointer > making it all easier. > > Does anybody know why it is not used? SWIG didn't provide it when we first wrote the interfaces, and I'm afraid we haven't keep abreast of the latest developments. I'll have to check it out. Would it result in an interface change as seen from the host language? Later, Luigi -- The doctrine of human equality reposes on this: that there is no man really clever who has not found that he is stupid. -- Gilbert K. Chesterson |
|
From: Luigi B. <lui...@gm...> - 2010-01-20 11:11:03
|
On Sun, 2010-01-17 at 21:05 +0000, Andrea wrote: > I thought of cleaning a bit the interface of the engines in experimental/mcbasket to take arguments > similar to the other engines. > > Basically a bool for controlVariate and an int for timeStepsPerYear. > Plus a fix on the correct use of timeStepsPerYear and some safety checks. Ok, thanks. I'll have a look at it. Luigi -- These are my principles, and if you don't like them... Well, I have others. -- Groucho Marx |
|
From: Luigi B. <lui...@gm...> - 2010-01-20 08:57:15
|
Hi all, unofficial Git mirrors of the QuantLib SVN trunk and 1.0 branch are available at <http://github.com/lballabio/quantlib> and <http://github.com/lballabio/quantlib-1.0>, respectively (for space reason, they only hold the QuantLib module; no bindings or addins.) If you're not part of the developer group and if you wanted to develop additional functionality on top of QuantLib, the Git mirrors above might be more useful than the previously available read-only access to Subversion. If you clone them, you get a local repository to which you can commit and from which you can easily generate patches to submit upstream. If you fork them, you can do the same and also get the possibility of a collaborative effort with others. Later, Luigi -- Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian W. Kernighan |
|
From: Toyin A. <toy...@ho...> - 2010-01-19 13:52:44
|
Hello Klaus, Thanks for the clarification. After 10 mins, the boost expressions were playing tricks with my head...! Best Regards, Toyin Akin. > Date: Tue, 19 Jan 2010 11:47:39 +0100 > To: toy...@ho...; lui...@gm... > From: kl...@sp... > CC: qua...@li... > Subject: Re: [Quantlib-dev] class AnalyticHestonEngine / AnalyticHestonEngine::Integration > > Hi Toyin, > > > > I have been looking at the class AnalyticHestonEngine::Integration and I > > find that there are two variables that seem to be declared but never used > > (AnalyticHestonEngine.hpp). > > > > mutable Real c_inf_; > > mutable boost::function1<Real, Real> f_; > > > > > > Also line 231 within the file AnalyticHestonEngine.cpp returns an > > expression, but the two (const std::complex<Real>) computed local > > expressions above it are never used in the return value. Am I missing > > something? > > no, both parts are now defunc and I'll remove them. Thanks for the hint! > > > Finally, can someone verify the following (Line 537 of > > ... > > correct. Corresponds to equation 41 & 42 in the Kahl Jäckel paper > http://www.nccr-finrisk.uzh.ch/media/pdf/KahlJackel.pdf > > best regards > Klaus > > > ------------------------------------------------------------------------------ > Throughout its 18-year history, RSA Conference consistently attracts the > world's best and brightest in the field, creating opportunities for Conference > attendees to learn about information security's most important issues through > interactions with peers, luminaries and emerging and established companies. > http://p.sf.net/sfu/rsaconf-dev2dev > _______________________________________________ > QuantLib-dev mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-dev _________________________________________________________________ Got a cool Hotmail story? Tell us now http://clk.atdmt.com/UKM/go/195013117/direct/01/ |
|
From: Klaus S. <kl...@sp...> - 2010-01-19 11:13:26
|
Hi Toyin, > I have been looking at the class AnalyticHestonEngine::Integration and I > find that there are two variables that seem to be declared but never used > (AnalyticHestonEngine.hpp). > > mutable Real c_inf_; > mutable boost::function1<Real, Real> f_; > > > Also line 231 within the file AnalyticHestonEngine.cpp returns an > expression, but the two (const std::complex<Real>) computed local > expressions above it are never used in the return value. Am I missing > something? no, both parts are now defunc and I'll remove them. Thanks for the hint! > Finally, can someone verify the following (Line 537 of > ... correct. Corresponds to equation 41 & 42 in the Kahl Jäckel paper http://www.nccr-finrisk.uzh.ch/media/pdf/KahlJackel.pdf best regards Klaus |
|
From: Luigi B. <lui...@gm...> - 2010-01-19 11:03:14
|
On Tue, 2010-01-19 at 11:47 +0100, Klaus Spanderen wrote: > > Finally, can someone verify the following (Line 537 of > > ... > > correct. Corresponds to equation 41 & 42 in the Kahl Jäckel paper > http://www.nccr-finrisk.uzh.ch/media/pdf/KahlJackel.pdf I'd use the readable version, then... Luigi -- Cogito ergo I'm right and you're wrong. -- Blair Houghton |
|
From: Jose Aparicio-N. <ja...@fr...> - 2010-01-19 07:50:56
|
Quoting Richard Stanton <st...@ha...>: > I got these to compile by manually editing the makefile for the test programs > and moving $(quantlib_benchmark_LDFLAGS) to the end of the relevant lines. Thanks for the tip. Finally managed to build boost, the gcc upgrade did the trick. However I had to link the test suite manually. ------------------------------------------ /bin/sh ../libtool --tag=CXX --mode=link g++ -g -O2 -L/usr/local/lib -o quantlib-test-suite.exe -lboost_unit_test_framework quantlibtestsuite.o americanoption.o array.o asianoptions.o assetswap.o barrieroption.o basketoption.o batesmodel.o bermudanswaption.o bonds.o brownianbridge.o calendars.o capfloor.o capflooredcoupon.o cashflows.o cdo.o cdsoption.o cliquetoption.o cms.o compoundoption.o convertiblebonds.o covariance.o creditdefaultswap.o curvestates.o dates.o daycounters.o defaultprobabilitycurves.o digitalcoupon.o digitaloption.o distributions.o dividendoption.o europeanoption.o everestoption.o exchangerate.o extendedtrees.o factorial.o fastfouriertransform.o fdheston.o fdmlinearop.o forwardoption.o gaussianquadratures.o gjrgarchmodel.o hestonmodel.o himalayaoption.o hybridhestonhullwhiteprocess.o inflation.o inflationcapfloor.o inflationcapflooredcoupon.o inflationvolatility.o instruments.o integrals.o interestrates.o interpolations.o jumpdiffusion.o libormarketmodel.o libormarketmodelprocess.o linearleastsquaresregression.o lookbackoptions.o lowdiscrepancysequences.o marketmodel.o marketmodel_cms.o marketmodel_smm.o marketmodel_smmcapletalphacalibration.o marketmodel_smmcapletcalibration.o marketmodel_smmcaplethomocalibration.o matrices.o mclongstaffschwartzengine.o mersennetwister.o money.o nthtodefault.o operators.o optimizers.o optionletstripper.o overnightindexedswap.o pagodaoption.o pathgenerator.o period.o piecewiseyieldcurve.o quantooption.o quotes.o rangeaccrual.o riskstats.o rngtraits.o rounding.o sampledcurve.o shortratemodels.o solvers.o stats.o surface.o swap.o swapforwardmappings.o swaption.o swaptionvolatilitycube.o swaptionvolatilitymatrix.o termstructures.o timeseries.o transformedgrid.o tqreigendecomposition.o tracing.o utilities.o varianceoption.o varianceswaps.o volatilitymodels.o libUnitMain.la ../ql/libQuantLib.la libtool: link: g++ -g -O2 -o .libs/quantlib-test-suite.exe quantlibtestsuite.o americanoption.o array.o asianoptions.o assetswap.o barrieroption.o basketoption.o batesmodel.o bermudanswaption.o bonds.o brownianbridge.o calendars.o capfloor.o capflooredcoupon.o cashflows.o cdo.o cdsoption.o cliquetoption.o cms.o compoundoption.o convertiblebonds.o covariance.o creditdefaultswap.o curvestates.o dates.o daycounters.o defaultprobabilitycurves.o digitalcoupon.o digitaloption.o distributions.o dividendoption.o europeanoption.o everestoption.o exchangerate.o extendedtrees.o factorial.o fastfouriertransform.o fdheston.o fdmlinearop.o forwardoption.o gaussianquadratures.o gjrgarchmodel.o hestonmodel.o himalayaoption.o hybridhestonhullwhiteprocess.o inflation.o inflationcapfloor.o inflationcapflooredcoupon.o inflationvolatility.o instruments.o integrals.o interestrates.o interpolations.o jumpdiffusion.o libormarketmodel.o libormarketmodelprocess.o linearleastsquaresregression.o lookbackoptions.o lowdiscrepancysequences.o marketmodel.o marketmodel_cms.o marketmodel_smm.o marketmodel_smmcapletalphacalibration.o marketmodel_smmcapletcalibration.o marketmodel_smmcaplethomocalibration.o matrices.o mclongstaffschwartzengine.o mersennetwister.o money.o nthtodefault.o operators.o optimizers.o optionletstripper.o overnightindexedswap.o pagodaoption.o pathgenerator.o period.o piecewiseyieldcurve.o quantooption.o quotes.o rangeaccrual.o riskstats.o rngtraits.o rounding.o sampledcurve.o shortratemodels.o solvers.o stats.o surface.o swap.o swapforwardmappings.o swaption.o swaptionvolatilitycube.o swaptionvolatilitymatrix.o termstructures.o timeseries.o transformedgrid.o tqreigendecomposition.o tracing.o utilities.o varianceoption.o varianceswaps.o volatilitymodels.o -L/usr/local/lib -lboost_unit_test_framework ./.libs/libUnitMain.a ../ql/.libs/libQuantLib.a /usr/lib/gcc/i686-pc-cygwin/4.3.4/libstdc++.dll.a -L/usr/lib/gcc/i686-pc-cygwin/4.3.4 ./.libs/libUnitMain.a(libUnitMain_la-main.o): In function `main': /cygdrive/e/QuantLib-1.0b1/test-suite/main.cpp:11: undefined reference to `boost::unit_test::unit_test_main(bool (*)(), int, char**)' ./.libs/libUnitMain.a(libUnitMain_la-main.o): In function `_Z13init_functionv': /cygdrive/e/QuantLib-1.0b1/test-suite/main.cpp:7: undefined reference to `boost::unit_test::framework::master_test_suite()' collect2: ld returned 1 exit status make[1]: *** [quantlib-test-suite.exe] Error 1 make[1]: Leaving directory `/cygdrive/e/QuantLib-1.0b1/test-suite' make: *** [all-recursive] Error 1 ------------------------------------------ $ /bin/sh ../libtool --tag=CXX --mode=link g++ -g -O2 -L/usr/local/lib -o quantlib-test-suite.exe /usr/local/lib/libboost_unit_test_framework.a quantlibtestsuite.o americanoption.o array.o asianoptions.o assetswap.o barrieroption.o basketoption.o batesmodel.o bermudanswaption.o bonds.o brownianbridge.o calendars.o capfloor.o capflooredcoupon.o cashflows.o cdo.o cdsoption.o cliquetoption.o cms.o compoundoption.o convertiblebonds.o covariance.o creditdefaultswap.o curvestates.o dates.o daycounters.o defaultprobabilitycurves.o digitalcoupon.o digitaloption.o distributions.o dividendoption.o europeanoption.o everestoption.o exchangerate.o extendedtrees.o factorial.o fastfouriertransform.o fdheston.o fdmlinearop.o forwardoption.o gaussianquadratures.o gjrgarchmodel.o hestonmodel.o himalayaoption.o hybridhestonhullwhiteprocess.o inflation.o inflationcapfloor.o inflationcapflooredcoupon.o inflationvolatility.o instruments.o integrals.o interestrates.o interpolations.o jumpdiffusion.o libormarketmodel.o libormarketmodelprocess.o linearleastsquaresregression.o lookbackoptions.o lowdiscrepancysequences.o marketmodel.o marketmodel_cms.o marketmodel_smm.o marketmodel_smmcapletalphacalibration.o marketmodel_smmcapletcalibration.o marketmodel_smmcaplethomocalibration.o matrices.o mclongstaffschwartzengine.o mersennetwister.o money.o nthtodefault.o operators.o optimizers.o optionletstripper.o overnightindexedswap.o pagodaoption.o pathgenerator.o period.o piecewiseyieldcurve.o quantooption.o quotes.o rangeaccrual.o riskstats.o rngtraits.o rounding.o sampledcurve.o shortratemodels.o solvers.o stats.o surface.o swap.o swapforwardmappings.o swaption.o swaptionvolatilitycube.o swaptionvolatilitymatrix.o termstructures.o timeseries.o transformedgrid.o tqreigendecomposition.o tracing.o utilities.o varianceoption.o varianceswaps.o volatilitymodels.o libUnitMain.la ../ql/libQuantLib.la ------------------------------------------ I am not a gnu tools guru but is this not finding the right boost test suite libs? I did config like this: $ ./configure --with-boost-include=/usr/boost_1_41_0/ --with-boost-lib=/usr/local/lib but I still have the boost 1.33 coming with cygwin. The output was good: $ ./quantlib-test-suite.exe --build_info=yes Running 446 test cases... Platform: Cygwin Compiler: GNU C++ version 4.3.4 20090804 (release) 1 STL : GNU libstdc++ version 20090804 Boost : 1.41.0 Tests completed in 1 h 0 m 55 s *** No errors detected I also tested on VC8 with boost_1_38_0 and everything is ok there. 1>============================== 1>Testing QuantLib-vc80-mt-s.lib 1>============================== 1>Running 446 test cases... 1>Platform: Win32 1>Compiler: Microsoft Visual C++ version 8.0 1>STL : Dinkumware standard library version 405 1>Boost : 1.38.0 1>Testing Barone-Adesi and Whaley approximation for American options... [...] 1>Tests completed in 1 h 1 m 34 s 1>Test suite "Master Test Suite" passed with: 1> 1689 assertions out of 1689 passed 1> 446 test cases out of 446 passed 1>Build log was saved at "file://e:\QuantLib-1.0b1\test-suite\build\vc80\Release (static runtime)\BuildLog.htm" 1>testsuite - 0 error(s), 0 warning(s) ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== Best regards Pepe |
|
From: Toyin A. <toy...@ho...> - 2010-01-19 04:04:45
|
Hi all,
I have been looking at the class AnalyticHestonEngine::Integration and I find that there are two variables that seem to be declared but never used (AnalyticHestonEngine.hpp).
mutable Real c_inf_;
mutable boost::function1<Real, Real> f_;
Also line 231 within the file AnalyticHestonEngine.cpp returns an expression, but the two (const std::complex<Real>) computed local expressions above it are never used in the return value. Am I missing something?
Finally, can someone verify the following (Line 537 of AnalyticHestonEngine.cpp)
(
boost::function1<Real, Real>(
if_then_else_return ( (_1+1.0)*c_inf> QL_EPSILON,
bind(f, -bind(std::ptr_fun<Real,Real>(std::log),
0.5*_1+0.5 )/c_inf )/((_1+1.0)*c_inf),
bind(constant<Real, Real>(0.0), _1))));
is basically the same as
double dRes = 0.0;
if ((_1 + 1.0) * c_inf> QL_EPSILON)
{
dRes = (-std::log(0.5 * _1 + 0.5) / c_inf);
dRes = f(dRes) / ((_1 + 1.0) * c_inf);
}
else
{
dRes = 0.0;
}
return dRes;
AND (Line 548 of AnalyticHestonEngine.cpp)
(
boost::function1<Real, Real>(
if_then_else_return ( _1*c_inf> QL_EPSILON,
bind(f,-bind(std::ptr_fun<Real,Real>(std::log), _1)
/c_inf) /(_1*c_inf),
bind(constant<Real, Real>(0.0), _1))),
0.0, 1.0);
is bascically the same as
double dRes = 0.0;
if (_1 * c_inf> QL_EPSILON)
{
dRes = (-std::log(_1) / c_inf);
dRes = f(dRes) / (_1 * c_inf);
}
else
{
dRes = 0.0;
}
return dRes;
Best Regards and thanks,
Toyin Akin.
_________________________________________________________________
Do you have a story that started on Hotmail? Tell us now
http://clk.atdmt.com/UKM/go/195013117/direct/01/
|
|
From: Andrea <mar...@go...> - 2010-01-18 22:14:37
|
On 17/01/10 21:31, Andrea wrote: > I would like to post 2 patches (one for QuantLib, the other for QuantLib-SWIG) to allow users to > implement a payoff entirely in a foreign language (e.g. Java). > These patches apply on top of the other patch I have just sent. > > By enabling directors the user can implement the "value" function in Java like it was a standard > subclass of a C++ class. > > The goal here is not speed :-) but ease of use, by writing a payoff in a language like Java or C#. > > There is also a simple example of an option that pays the running average on every fixing date. > > Everything works fine with the exception of the following issue. But I thought to post the code > since I could not find a better solution that what I have currently implemented. I've actually found a better solution, but it requires a global change in QuantLib-SWIG. > > I wish I had a shared_ptr<ExternalOption> but I only have a raw pointer or a reference. > > It is a problem similar to the original, but I found it is easier to manage. It is all down to the > use of shared_ptr in SWIG. > In SWIG there is already support for boost::shared_ptr<> that removes distinction between raw pointer, value, reference and smart pointer making it all easier. The problem is that QuantLib-SWIG uses a custom definition of boost::shared_ptr<> (in common.i). SWIG provides a "shared_ptr.i". Does anybody know why it is not used? Andrea |
|
From: Andrea <mar...@go...> - 2010-01-17 21:32:14
|
I would like to post 2 patches (one for QuantLib, the other for QuantLib-SWIG) to allow users to
implement a payoff entirely in a foreign language (e.g. Java).
These patches apply on top of the other patch I have just sent.
By enabling directors the user can implement the "value" function in Java like it was a standard
subclass of a C++ class.
The goal here is not speed :-) but ease of use, by writing a payoff in a language like Java or C#.
There is also a simple example of an option that pays the running average on every fixing date.
Everything works fine with the exception of the following issue. But I thought to post the code
since I could not find a better solution that what I have currently implemented.
Basically I want to expose to Java a hierarchy like that
class PathPayoff
{
virtual ....... = 0; // this is the payoff interface
};
class PathOption
{
virtual vector<Date> fixingDates() = 0;
virtual boost::shared_ptr<PathPayoff> payoff() = 0; <<<<<<<<< PROBLEM
};
No problem for PathPayoff, but huge issues on how to implement PathOption::payoff() in Java.
Basically the problem is how to create in Java a shared_ptr containing an object inherited from
PathPayoff (which is implemented in Java as well).
I know how to create a raw pointer (which is already managed by SWIG/Java), but I don't think this
pointer can be safely stored into a shared_ptr (i.e. there would be double management).
So I've changed and exposed only one class
class ExternalOption
{
virtual ....... = 0; // this is the payoff interface
virtual vector<Date> fixingDates() = 0;
boost::shared_ptr<PathOption> convert(); // helper to convert an ExternalOption into a PathOption
};
this class contains all functions required to describe a contract.
Then there is a function that converts the ExternalOption into a PathOption using a custom wrapper.
The problem now is that the wrapper contains a reference (C++ reference) to the ExternalOption, so
that there could be problems if someone tried to use the Wrapped PathOption after the ExternalOption
has gone out of scope of garbage collected.
I wish I had a shared_ptr<ExternalOption> but I only have a raw pointer or a reference.
It is a problem similar to the original, but I found it is easier to manage. It is all down to the
use of shared_ptr in SWIG.
If anyone has a comment or better solution I would be delighted to hear about it.
Andrea
|
|
From: Andrea <mar...@go...> - 2010-01-17 21:21:58
|
Hi, I thought of cleaning a bit the interface of the engines in experimental/mcbasket to take arguments similar to the other engines. Basically a bool for controlVariate and an int for timeStepsPerYear. Plus a fix on the correct use of timeStepsPerYear and some safety checks. Andrea |
|
From: Richard S. <st...@ha...> - 2010-01-15 16:30:24
|
I got these to compile by manually editing the makefile for the test programs and moving $(quantlib_benchmark_LDFLAGS) to the end of the relevant lines. -----Original Message----- From: Jose Aparicio-Navarro [mailto:ja...@fr...] Sent: Friday, January 15, 2010 7:03 AM To: lui...@gm... Cc: Richard Stanton; qua...@li... Subject: Re: [Quantlib-dev] Installation of Quantlib 0.9.9 fails under cygwin (gcc 4.3.4) Quoting Luigi Ballabio <lui...@gm...>: > On Sat, 2010-01-09 at 08:04 -0800, Richard Stanton wrote: > > I just downloaded Quantlib 0.9.9 and am trying to install it using the > > latest version of cygwin/gcc under Windows Vista (cygwin 1.7.1, gcc > > version 4.3.4). I have boost 1.41.0 installed, and ./configure finds > > this OK and runs to completion. > > > Unfortunately, when I then run “makeâ€, the compilation seems to run > > fine for quite some while, but dies at the following point: [...] > > Richard, > do you have the same problem with the 1.0 beta I've just released? > Hi all Funny, looks like I have an orthogonal set of problems. My kit: QuantLib-1.0b1 CYGWIN_NT-5.0 1.5.18(0.132/4/2) gcc version 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125) /gcc/i686-pc-cygwin/3.4.4 boost_1_41_0 doxygen 1.6.2 ---- ./configure --with-boost-include=/cygdrive/c/Boost/boost_1_41_0/ --with-boost-lib=/cygdrive/c/Boost/boost_1_41_0/stage/lib/ make gcc took ages, but life as usual. The QL lib and the examples build ok (no errs no warns). All the examples run fine. Linking the test-suite reports missing refs though: ====================================================== [...] libtool: link: g++ -g -O2 -o .libs/quantlib-test-suite.exe quantlibtestsuite.o a mericanoption.o array.o [...objects test suite blah blah...] transformedgrid.o tqre igendecomposition.o tracing.o utilities.o varianceoption.o varianceswaps.o volat ilitymodels.o -L/cygdrive/c/Boost/boost_1_41_0/stage/lib -lboost_unit_test_fram ework ./.libs/libUnitMain.a ../ql/.libs/libQuantLib.a ./.libs/libUnitMain.a(libUnitMain_la-main.o): In function `_Z13init_functionv': /cygdrive/c/QuantLib-1.0b1/test-suite/main.cpp:7: undefined reference to `boost: :unit_test::framework::master_test_suite()' ./.libs/libUnitMain.a(libUnitMain_la-main.o): In function `main': /cygdrive/c/QuantLib-1.0b1/test-suite/main.cpp:11: undefined reference to `boost ::unit_test::unit_test_main(bool (*)(), int, char**)' Info: resolving vtable for boost::unit_test::unit_test_log_tby linking to __imp_ __ZTVN5boost9unit_test15unit_test_log_tE (auto-import) collect2: ld returned 1 exit status make[1]: *** [quantlib-test-suite.exe] Error 1 make[1]: Leaving directory `/cygdrive/c/QuantLib-1.0b1/test-suite' make: *** [all-recursive] Error 1 ====================================================== I always had problems with the test-suite (and other boost libs that require compilation). This time I managed to get the unit test framework built with a dirty hack of 'boost/test/execution_monitor.ipp' nm of the boost test libs looks fine but I will blame the missing ref to the change I made. I still have to try harder but how do you build boost under cygwin? Or someone else, Nando? I have seen in the archives some of you managed to built on cygwin without problems. I have also generated the docs ok. Some classes (e.g. see SpreadedSwaptionVolatility and SwaptionVolatilityDiscrete but not ConstantSwaptionVolatility) are not shown in the class hierarchy. Is it possible to add just one quick line or change the doxy settings so it generates docs? For instance, in that same example looks like SwaptionVolatilityStructure only had one derived class. Ill try to continue playing with it over the weekend and possibly upgrade gcc Best regards Pepe |