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: Eric E. <eri...@na...> - 2008-07-22 10:21:09
|
Hello, There is a limit of 20 arguments to QuantLibXL functions. I have added a new item in the FAQ to document this issue: http://quantlib.org/quantlibaddin/faq.html#faq_item_numparams I cannot explain why you are hitting a limit of 15. How are you going about adding the additional arguments? Are you editing the XML function metadata for gensrc? Or are you manually editing the C++ source files that were autogenerated by gensrc? Regards, Eric On Tue, July 15, 2008 13:59, willshaw wrote: > > Hi, > > It seems that the function exposed to Excel by QuantLibXL has a > limit in > number of arguments, 15. If I have more than 15 arguments in > function, > although I can compile xll successfully, when I click the > function in Excel, > nothing happens. But if I reduced the arguments to less than 15 > without > doing anything else, it works. > > Any idea? > > Thanks. > -- > View this message in context: > http://www.nabble.com/QuantLibXL-function-in-Excel%2C-limit-in-number-of-arguments--tp18464649p18464649.html Sent from the quantlib-dev mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move > Developer's challenge > Build the coolest Linux based applications with Moblin SDK & > win great prizes > Grand prize is a trip for two to an Open Source event anywhere > in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > QuantLib-dev mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-dev > ------------------------- Eric Ehlers nazcatech sprl | Brussels | http://www.nazcatech.be Distributed computing for pricing analytics - Use Microsoft Excel as a client to the Grid |
|
From: Sylvain B. <syl...@gm...> - 2008-07-21 21:49:17
|
It turns out one of the matrices I was handling had an improper definition... all solved now. On 7/21/08, Klaus Spanderen <kl...@sp...> wrote: > > Hi > > no, haven't had this problems before. Do you have a small example program, > which is generating this error message? This would help debugging.. > > regards > Klaus > > On Monday 21 July 2008 06:12:15 Sylvain Bertrand wrote: > > Hi, > > > > Although this is not a quantlib issue, I thought I'd ask here... as I'm > > using the determinant() and inverse() functions from Matrix, I get the > > following at runtime (comes from lu_factorize()): > > > > *** glibc detected *** ./a.out: free(): invalid next size (normal): > > 0x0806b8a0 *** > > ======= Backtrace: ========= > > /lib/i686/cmov/libc.so.6[0xb7d068f5] > > /lib/i686/cmov/libc.so.6(cfree+0x90)[0xb7d0a360] > > /usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0xb7ed4171] > > ./a.out[0x805d28d] > > ./a.out[0x8058969] > > ./a.out[0x8051bcd] > > ./a.out[0x8057481] > > ./a.out[0x8057632] > > ./a.out(__gxx_personality_v0+0x317)[0x804adf7] > > /lib/i686/cmov/libc.so.6(__libc_start_main+0xe0)[0xb7cb1450] > > ./a.out(__gxx_personality_v0+0xb1)[0x804ab91] > > ======= Memory map: ======== > > > > Has anyone seen this before? > > Googling for it didn't help... > > > > Thanks > > > > Sylvain > > > |
|
From: Klaus S. <kl...@sp...> - 2008-07-21 18:45:17
|
Hi no, haven't had this problems before. Do you have a small example program, which is generating this error message? This would help debugging.. regards Klaus On Monday 21 July 2008 06:12:15 Sylvain Bertrand wrote: > Hi, > > Although this is not a quantlib issue, I thought I'd ask here... as I'm > using the determinant() and inverse() functions from Matrix, I get the > following at runtime (comes from lu_factorize()): > > *** glibc detected *** ./a.out: free(): invalid next size (normal): > 0x0806b8a0 *** > ======= Backtrace: ========= > /lib/i686/cmov/libc.so.6[0xb7d068f5] > /lib/i686/cmov/libc.so.6(cfree+0x90)[0xb7d0a360] > /usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0xb7ed4171] > ./a.out[0x805d28d] > ./a.out[0x8058969] > ./a.out[0x8051bcd] > ./a.out[0x8057481] > ./a.out[0x8057632] > ./a.out(__gxx_personality_v0+0x317)[0x804adf7] > /lib/i686/cmov/libc.so.6(__libc_start_main+0xe0)[0xb7cb1450] > ./a.out(__gxx_personality_v0+0xb1)[0x804ab91] > ======= Memory map: ======== > > Has anyone seen this before? > Googling for it didn't help... > > Thanks > > Sylvain |
|
From: Sylvain B. <syl...@gm...> - 2008-07-21 13:40:13
|
Its determinant is NOT zero (sorry). On 7/21/08, Sylvain Bertrand <syl...@gm...> wrote: > > Needless to say, I checked that the LU factorization for my matrix exists. > Its determinant is zero. > > > On 7/21/08, Sylvain Bertrand <syl...@gm...> wrote: >> >> Hi, >> >> Although this is not a quantlib issue, I thought I'd ask here... as I'm >> using the determinant() and inverse() functions from Matrix, I get the >> following at runtime (comes from lu_factorize()): >> >> *** glibc detected *** ./a.out: free(): invalid next size (normal): >> 0x0806b8a0 *** >> ======= Backtrace: ========= >> /lib/i686/cmov/libc.so.6[0xb7d068f5] >> /lib/i686/cmov/libc.so.6(cfree+0x90)[0xb7d0a360] >> /usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0xb7ed4171] >> ./a.out[0x805d28d] >> ./a.out[0x8058969] >> ./a.out[0x8051bcd] >> ./a.out[0x8057481] >> ./a.out[0x8057632] >> ./a.out(__gxx_personality_v0+0x317)[0x804adf7] >> /lib/i686/cmov/libc.so.6(__libc_start_main+0xe0)[0xb7cb1450] >> ./a.out(__gxx_personality_v0+0xb1)[0x804ab91] >> ======= Memory map: ======== >> >> Has anyone seen this before? >> Googling for it didn't help... >> >> Thanks >> >> Sylvain >> >> > > |
|
From: Sylvain B. <syl...@gm...> - 2008-07-21 13:39:50
|
Needless to say, I checked that the LU factorization for my matrix exists. Its determinant is zero. On 7/21/08, Sylvain Bertrand <syl...@gm...> wrote: > > Hi, > > Although this is not a quantlib issue, I thought I'd ask here... as I'm > using the determinant() and inverse() functions from Matrix, I get the > following at runtime (comes from lu_factorize()): > > *** glibc detected *** ./a.out: free(): invalid next size (normal): > 0x0806b8a0 *** > ======= Backtrace: ========= > /lib/i686/cmov/libc.so.6[0xb7d068f5] > /lib/i686/cmov/libc.so.6(cfree+0x90)[0xb7d0a360] > /usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0xb7ed4171] > ./a.out[0x805d28d] > ./a.out[0x8058969] > ./a.out[0x8051bcd] > ./a.out[0x8057481] > ./a.out[0x8057632] > ./a.out(__gxx_personality_v0+0x317)[0x804adf7] > /lib/i686/cmov/libc.so.6(__libc_start_main+0xe0)[0xb7cb1450] > ./a.out(__gxx_personality_v0+0xb1)[0x804ab91] > ======= Memory map: ======== > > Has anyone seen this before? > Googling for it didn't help... > > Thanks > > Sylvain > > |
|
From: SourceForge.net <no...@so...> - 2008-07-21 08:39:05
|
Feature Requests item #2023353, was opened at 2008-07-21 08:39 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=362740&aid=2023353&group_id=12740 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: CUDA port Initial Comment: Hello, A great feature would be a CUDA port of QuantLib. Thanks ! ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=362740&aid=2023353&group_id=12740 |
|
From: Max <ma...@gm...> - 2008-07-21 08:15:16
|
Hi,
I try to create a volatility term structures (ATM) using class
BlackVarianceCurve.
Below is a simple program. But it fails to compile due to the access the
protected member function blackVarianceImpl().
#include <ql/quantlib.hpp>
#include <iostream>
using namespace QuantLib;
int main() {
DayCounter dc = Actual365Fixed();
Date today(25, Feb, 2008);
std::vector<Date> dates;
dates.push_back(Date(25, Aug, 2008));
dates.push_back(Date(25, Feb, 2009));
std::vector<Volatility> vols;
vols.push_back(24.9358/100); // 25 Aug 2008
vols.push_back(21.4448/100); // 25 Aug 2009
// volatility term structures
boost::shared_ptr<BlackVolTermStructure> volTS(
new BlackVarianceCurve(today, dates, vols, dc, false));
Real result_vol = volTS->blackVarianceImpl((Time)0.49863, (Real)0);
std::cout << "result_vol = " << result_vol << std::endl;
}
Here is the compilation error message (using GCC):
main.cpp: In function `int main()':
/usr/local/include/ql/termstructures/volatility/equityfx/blackvoltermstructure.hpp:120:
error: `virtual QuantLib::Real
QuantLib::BlackVolTermStructure::blackVarianceImpl(QuantLib::Time,
QuantLib::Real) const' is protected
main.cpp:23: error: within this context
May I know why the blackVarianceImpl() cannot be accessed in this way?
Also I wonder what is the proper way to create ATM volatility term structure
using QuantLib.
Thanks!
Best regards,
Max
|
|
From: Sylvain B. <syl...@gm...> - 2008-07-21 04:12:19
|
Hi, Although this is not a quantlib issue, I thought I'd ask here... as I'm using the determinant() and inverse() functions from Matrix, I get the following at runtime (comes from lu_factorize()): *** glibc detected *** ./a.out: free(): invalid next size (normal): 0x0806b8a0 *** ======= Backtrace: ========= /lib/i686/cmov/libc.so.6[0xb7d068f5] /lib/i686/cmov/libc.so.6(cfree+0x90)[0xb7d0a360] /usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0xb7ed4171] ./a.out[0x805d28d] ./a.out[0x8058969] ./a.out[0x8051bcd] ./a.out[0x8057481] ./a.out[0x8057632] ./a.out(__gxx_personality_v0+0x317)[0x804adf7] /lib/i686/cmov/libc.so.6(__libc_start_main+0xe0)[0xb7cb1450] ./a.out(__gxx_personality_v0+0xb1)[0x804ab91] ======= Memory map: ======== Has anyone seen this before? Googling for it didn't help... Thanks Sylvain |
|
From: Neil F. <ne...@qu...> - 2008-07-18 21:20:11
|
Hello, Are there currently any Excel spreadsheets for the credit derivatives model in experimental? Thanks very much, Neil |
|
From: Luigi B. <lui...@gm...> - 2008-07-18 18:43:02
|
On Jul 18, 2008, at 8:42 PM, Sylvain Bertrand wrote: > Now it does (with the HEAD from yesterday) ok |
|
From: Sylvain B. <syl...@gm...> - 2008-07-18 18:42:21
|
Now it does (with the HEAD from yesterday) Sylvain On 7/18/08, Luigi Ballabio <lui...@gm...> wrote: > > On Fri, 2008-07-18 at 10:41 -0400, Sylvain Bertrand wrote: > > I've done the test without the test suite and the code seems to work. > > And I've implemented Akima as well. > > > > The diff will hopefully be ready after the week end. > > Glad to hear it---but I just meant, does HEAD compile correctly now? > > Luigi > > > -- > > Flon's Law: > There is not now, and never will be, a language in > which it is the least bit difficult to write bad programs. > > > |
|
From: S. M. <seb...@gm...> - 2008-07-18 17:31:09
|
Hi Luigi, Compiled !!! 0 erros 0 warnings Boost 1.34.1 Microsoft Visual Studio 2005 Professional Versión 8.0.50727.42 (RTM.050727-4200) Microsoft Visual C++ 2005 77927-009-0000007-41353 Microsoft .NET Framework Version 2.0.50727 SP1 Sebastián Miranda www.solventis.es -----Mensaje original----- De: qua...@li... [mailto:qua...@li...] En nombre de Luigi Ballabio Enviado el: viernes, 18 de julio de 2008 17:41 Para: QuantLib developers Asunto: [Quantlib-dev] Candidate tarballs for 0.9.5 Hi all, <http://quantlib.org/prerelease/> now contains candidate tarballs for the 0.9.5 release; if you have a few spare cycles, please test them. If no showstoppers are found, I'll make the release in a week or so. Later, Luigi -- Better to remain silent and be thought a fool than to speak out and remove all doubt. -- Abraham Lincoln ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ QuantLib-dev mailing list Qua...@li... https://lists.sourceforge.net/lists/listinfo/quantlib-dev |
|
From: Luigi B. <lui...@gm...> - 2008-07-18 15:41:36
|
Hi all, <http://quantlib.org/prerelease/> now contains candidate tarballs for the 0.9.5 release; if you have a few spare cycles, please test them. If no showstoppers are found, I'll make the release in a week or so. Later, Luigi -- Better to remain silent and be thought a fool than to speak out and remove all doubt. -- Abraham Lincoln |
|
From: Luigi B. <lui...@gm...> - 2008-07-18 15:35:45
|
On Fri, 2008-07-18 at 10:41 -0400, Sylvain Bertrand wrote: > I've done the test without the test suite and the code seems to work. > And I've implemented Akima as well. > > The diff will hopefully be ready after the week end. Glad to hear it---but I just meant, does HEAD compile correctly now? Luigi -- Flon's Law: There is not now, and never will be, a language in which it is the least bit difficult to write bad programs. |
|
From: Sylvain B. <syl...@gm...> - 2008-07-18 14:41:22
|
I've done the test without the test suite and the code seems to work. And I've implemented Akima as well. The diff will hopefully be ready after the week end. Sylvain On 7/18/08, Luigi Ballabio <lui...@gm...> wrote: > > On Wed, 2008-07-16 at 17:33 -0400, Sylvain Bertrand wrote: > > As I've done some coding I'd like to try it out with the test-suite... > > however, compiling the test-suite from HEAD gives: > > [error snipped] > > Sylvain, > does it work now? > > Luigi > > > -- > > A child of five would understand this. Send someone to fetch a child of > five. > -- Groucho Marx > > > |
|
From: Luigi B. <lui...@gm...> - 2008-07-18 14:38:10
|
On Wed, 2008-07-16 at 17:33 -0400, Sylvain Bertrand wrote: > As I've done some coding I'd like to try it out with the test-suite... > however, compiling the test-suite from HEAD gives: [error snipped] Sylvain, does it work now? Luigi -- A child of five would understand this. Send someone to fetch a child of five. -- Groucho Marx |
|
From: Luigi B. <lui...@gm...> - 2008-07-18 14:34:44
|
On Wed, 2008-07-16 at 12:08 -0400, Luca Billi wrote: > I think the exception is legitimate: interest rates on zero intervals > are meaningless, whereas discount factors are not: > > exp(-r*t) = 1 for t=0, regardless of r. > > That's why I think that, when t=0, it's ok to avoid calling > ZeroSpreadedTermStructure::zeroYieldImpl(), which operates in the > yield space and is not required when t=0, and return immediatly 1. Ok, I've put the t=0 check in. I'd still like to have zeroYieldImpl() succeed at t=0 (the rate can be defined as the limit for t->0, after all) but that's for another day... Thanks for the heads-up, Luigi -- I have yet to see any problem, however complicated, which, when you looked at it in the right way, did not become still more complicated. -- Poul Anderson |
|
From: Luigi B. <lui...@gm...> - 2008-07-18 12:25:10
|
On Wed, 2008-07-16 at 13:15 +1000, Mark joshi wrote: > I was testing the pathwise vegas class today and was a bit surprised > by the slowness and memory usage. > I eventually tracked the problem down to the SequenceStatistics class; > storing all the values for 32768 paths > was having a severe effect. By eliminating SequenceStatistics, I made > the problem go away. Yes, SequenceStatistics does carry some excess baggage. > I do wonder if this is why some of the other market model stuff is > running slow. Do we have alternative classes > for gathering statistics of arrays? To alleviate the memory problem, you could try GenericSequenceStatistics<IncrementalStatistics> instead---and you might want to use a typedef on that :) Also, if you want to get some more speed, and if you don't need to call the covariance() method on the collected array statistics, you can clone GenericSequenceStatistics and get rid of the bit that updates the quadraticSum_ matrix. > And should we make it possible to choose which statistics measure to > use in the market models code? In principle, we should. But I've no idea at this time if it's worth the effort. Luigi -- All generalizations are false, including this one. -- Mark Twain |
|
From: Sylvain B. <syl...@gm...> - 2008-07-16 21:33:38
|
As I've done some coding I'd like to try it out with the test-suite... however, compiling the test-suite from HEAD gives: =========================== CUT HERE ============================= marketmodel.o: In function `MarketModelTest::testPathwiseVegas()': /home/sylvain/quantlib/trunk/QuantLib/test-suite/marketmodel.cpp:2347: undefined reference to `QuantLib::RatePseudoRootJacobian::RatePseudoRootJacobian(QuantLib ::Matrix const&, unsigned int, unsigned int, std::vector<double, std::allocator< double> > const&, std::vector<QuantLib::Matrix, std::allocator<QuantLib::Matrix> > const&, std::vector<double, std::allocator<double> > const&)' /home/sylvain/quantlib/trunk/QuantLib/test-suite/marketmodel.cpp:2354: undefined reference to `QuantLib::RatePseudoRootJacobianNumerical::RatePseudoRootJacobian Numerical(QuantLib::Matrix const&, unsigned int, unsigned int, std::vector<doubl e, std::allocator<double> > const&, std::vector<QuantLib::Matrix, std::allocator <QuantLib::Matrix> > const&, std::vector<double, std::allocator<double> > const& )' /home/sylvain/quantlib/trunk/QuantLib/test-suite/marketmodel.cpp:2361: undefined reference to `QuantLib::RatePseudoRootJacobianNumerical::RatePseudoRootJacobian Numerical(QuantLib::Matrix const&, unsigned int, unsigned int, std::vector<doubl e, std::allocator<double> > const&, std::vector<QuantLib::Matrix, std::allocator <QuantLib::Matrix> > const&, std::vector<double, std::allocator<double> > const& )' /home/sylvain/quantlib/trunk/QuantLib/test-suite/marketmodel.cpp:2421: undefined reference to `QuantLib::RatePseudoRootJacobian::getBumps(std::vector<double, st d::allocator<double> > const&, std::vector<double, std::allocator<double> > cons t&, std::vector<double, std::allocator<double> > const&, std::vector<double, std ::allocator<double> > const&, QuantLib::Matrix&)' /home/sylvain/quantlib/trunk/QuantLib/test-suite/marketmodel.cpp:2422: undefined reference to `QuantLib::RatePseudoRootJacobianNumerical::getBumps(std::vector<d ouble, std::allocator<double> > const&, std::vector<double, std::allocator<doubl e> > const&, std::vector<double, std::allocator<double> > const&, std::vector<do uble, std::allocator<double> > const&, QuantLib::Matrix&)' /home/sylvain/quantlib/trunk/QuantLib/test-suite/marketmodel.cpp:2423: undefined reference to `QuantLib::RatePseudoRootJacobianNumerical::getBumps(std::vector<d ouble, std::allocator<double> > const&, std::vector<double, std::allocator<doubl e> > const&, std::vector<double, std::allocator<double> > const&, std::vector<do uble, std::allocator<double> > const&, QuantLib::Matrix&)' collect2: ld returned 1 exit status make[1]: *** [quantlib-test-suite] Error 1 make[1]: Leaving directory `/home/sylvain/quantlib/trunk/QuantLib/test-suite' make: *** [all-recursive] Error 1 =========================== CUT HERE ============================= I was wondering if that's something that needs to be fixed? Sylvain On 7/11/08, Luigi Ballabio <lui...@gm...> wrote: > > On Fri, 2008-07-11 at 09:44 -0400, Sylvain Bertrand wrote: > > For those who don't remember, those are cubic splines that minimize > > the integral of the first (or second) derivatives. > > As they're widely used, I was wondering if that would be a feature > > that you would like to see in QuantLib? > > Yes, it would be nice. > > Luigi > > > -- > > Within C++, there is a much smaller and cleaner language struggling to > get out. > -- Bjarne Stroustrup > > > |
|
From: Luca B. <luc...@gm...> - 2008-07-16 16:08:06
|
On Wed, Jul 16, 2008 at 11:01 AM, Luigi Ballabio <lui...@gm...> wrote: > On Tue, 2008-07-15 at 12:21 -0400, Luca Billi wrote: >> the following code throws an exception when >> bond.cleanPriceFromZSpread(...) is called. >> The issue comes from the fact that, in this example, there's no >> settlement adjustment, so the function >> ZeroSpreadedTermStructure::zeroYieldImpl(Time t) needs to be evaluated >> for t=0. >> >> I got around this issue by adding the seemingly harmless >> >> if(t==0.) return 1.; >> >> at line 86 of file ql/termstructures/yield/zeroyieldstructure.hpp >> >> Anyone has a better idea? > > I'd rather fix ZeroSpreadedTermStructure::zeroYieldImpl so that it works > at t=0. Did you happen to investigate what goes wrong inside there? > > Later, > Luigi > > The exception is thrown by InterestRate::equivalentRate(), which, I think, is called to convert the yield+spread to continuous compounding. I think the exception is legitimate: interest rates on zero intervals are meaningless, whereas discount factors are not: exp(-r*t) = 1 for t=0, regardless of r. That's why I think that, when t=0, it's ok to avoid calling ZeroSpreadedTermStructure::zeroYieldImpl(), which operates in the yield space and is not required when t=0, and return immediatly 1. Luca |
|
From: Luigi B. <lui...@gm...> - 2008-07-16 15:01:46
|
On Tue, 2008-07-15 at 12:21 -0400, Luca Billi wrote: > the following code throws an exception when > bond.cleanPriceFromZSpread(...) is called. > The issue comes from the fact that, in this example, there's no > settlement adjustment, so the function > ZeroSpreadedTermStructure::zeroYieldImpl(Time t) needs to be evaluated > for t=0. > > I got around this issue by adding the seemingly harmless > > if(t==0.) return 1.; > > at line 86 of file ql/termstructures/yield/zeroyieldstructure.hpp > > Anyone has a better idea? I'd rather fix ZeroSpreadedTermStructure::zeroYieldImpl so that it works at t=0. Did you happen to investigate what goes wrong inside there? Later, Luigi -- Just remember what ol' Jack Burton does when the earth quakes, the poison arrows fall from the sky, and the pillars of Heaven shake. Yeah, Jack Burton just looks that big old storm right in the eye and says, "Give me your best shot. I can take it." -- Jack Burton, "Big trouble in Little China" |
|
From: Luigi B. <lui...@gm...> - 2008-07-16 14:21:40
|
Hi Chris, On Tue, 2008-07-15 at 11:09 -0700, Chris Kenyon wrote: > 0.95 tarballs compile and the tests run on: Mac / OSX 10.4.11 / gcc > 4.0.1 > The "make docs-html" gives the following warnings: > > Warning: ignoring unsupported tag `DOXYFILE_ENCODING =' at line > 6, file .quantlib.doxy These ones are because you're not using the latest and greatest Doxygen :) > /Users/ckenyon/C > ++Libraries/QuantLib-0.9.5/ql/termstructures/volatility/optionlet/optionletstripper1.hpp:23: Warning: file optionletstripper.hpp already documented. Skipping documentation. > /Users/ckenyon/C > ++Libraries/QuantLib-0.9.5/ql/termstructures/volatility/optionlet/strippedoptionlet.hpp:21: Warning: file optionletstripper.hpp already documented. Skipping documentation. These ones are genuine. I'll fix them. Thanks, Luigi -- Call on God, but row away from the rocks. -- Indian proverb |
|
From: F. D. <fre...@gm...> - 2008-07-16 07:44:52
|
Hi,
Glenn, did you finish your translation of fitted bond curve from C++ to
Python in QuantLib? I've got a problem with my own translation. So, I'm
really interested by your code if possible.
Also, I would like to understand where my mistake is. Now, I don't find any
solutions except making a c++ function that creates my
FittedBondDiscountCurve from simple parameters. I guess it is not a clean
solution.
Firstly, I wrote a swig file to call FittedBondDiscountCurve from Python.
Secondly, I called it from a python script. Finally, this prototype is not
recognized.
Someone has some tips to find mistakes with Swig (like swig option to
activate…)?
#ifndef quantlib_fitted_bond_i
#define quantlib_fitted_bond_i
%include termstructures.i
%include ratehelpers.i
%{
using QuantLib::FittedBondDiscountCurve;
using QuantLib::FittedBondDiscountCurve::FittingMethod;
typedef boost::shared_ptr<FittedBondDiscountCurve>
FittedBondDiscountCurvePtr;
%}
%rename(FittedBondDiscountCurve) FittedBondDiscountCurvePtr;
class FittedBondDiscountCurvePtr : public
boost::shared_ptr<YieldTermStructure> {
public:
%extend {
FittedBondDiscountCurvePtr(Natural settlementDays,
const Calendar& calendar,
const
std::vector<boost::shared_ptr<FixedRateBondHelper> >& instruments,
const DayCounter& dayCounter,
const FittingMethod& fittingMethod,
Real accuracy = 1.0e-10,
Size maxEvaluations = 10000,
const Array& guess = Array(),
Real simplexLambda = 1.0)
{
return new FittedBondDiscountCurvePtr(
new
FittedBondDiscountCurve(settlementDays, calendar, instruments, dayCounter,
fittingMethod, accuracy,
maxEvaluations, guess, simplexLambda));
}
FittedBondDiscountCurvePtr(const Date &referenceDate,
const
std::vector<boost::shared_ptr<FixedRateBondHelper> >& instruments,
const DayCounter& dayCounter,
const FittingMethod& fittingMethod,
Real accuracy = 1.0e-10,
Size maxEvaluations = 10000,
const Array &guess = Array(),
Real simplexLambda = 1.0)
{
return new FittedBondDiscountCurvePtr(
new
FittedBondDiscountCurve(referenceDate, instruments, dayCounter,
fittingMethod, accuracy,
maxEvaluations, guess, simplexLambda));
}
}
};
%{
using QuantLib::ExponentialSplinesFitting;
using QuantLib::NelsonSiegelFitting;
using QuantLib::CubicBSplinesFitting;
%}
class ExponentialSplinesFitting : public
QuantLib::FittedBondDiscountCurve::FittingMethod
{
public:
%extend
{
ExponentialSplinesFitting(bool constrainAtZero = true)
{
return new ExponentialSplinesFitting(constrainAtZero);
}
}
};
class NelsonSiegelFitting : public
QuantLib::FittedBondDiscountCurve::FittingMethod
{
public:
%extend
{
NelsonSiegelFitting()
{
return new NelsonSiegelFitting();
}
}
};
class CubicBSplinesFitting : public
QuantLib::FittedBondDiscountCurve::FittingMethod
{
public:
%extend
{
CubicBSplinesFitting(const std::vector<Time>& knotVector, bool
constrainAtZero = true)
{
return new CubicBSplinesFitting(knotVector, constrainAtZero);
}
}
};
#endif
I call if from:
print type(instruments[0])
print type(self.today_ql), type(instruments), type(dc),
type(exponentialSplines)
ts = FittedBondDiscountCurve(self.today_ql,
instruments,
dc,
exponentialSplines)
And I get:
<class 'QuantLib.QuantLib.FixedRateBondHelper'>
<class 'QuantLib.QuantLib.Date'> <type 'list'> <class
'QuantLib.QuantLib.SimpleDayCounter'> <class
'QuantLib.QuantLib.ExponentialSplinesFitting'>
[...]
NotImplementedError: Wrong number of arguments for overloaded function
'new_FittedBondDiscountCurve'.
Possible C/C++ prototypes are:
FittedBondDiscountCurvePtr(Date const &,std::vector< boost::shared_ptr<
FixedRateBondHelper >,std::allocator< boost::shared_ptr< FixedRateBondHelper
> > > const &,DayCounter const &,FittingMethod const &)
Thank you
Frédéric
-----Original Message-----
From: qua...@li... [mailto:
qua...@li...] On Behalf Of Luigi Ballabio
Sent: mardi 29 avril 2008 18:11
To: ga...@ag...
Cc: qua...@li...
Subject: Re: [Quantlib-users] Converting C++ to Python SWIG
On Sun, 2008-04-20 at 20:25 -0500, glenn andrews wrote:
> I am trying to convert the example below from C++ to Python using SWIG.
> I am stuck on how to convert some of the lines such as the following to
> Python:
>
> 1) std::vector< boost::shared_ptr<SimpleQuote> > quote;
>
> 2) RelinkableHandle<Quote> quoteHandle[numberOfBonds]
>
> 3) Real coupons[] = { 0.0200, 0.0225, 0.0250, 0.0275, 0.0300,
> 0.0325, 0.0350, 0.0375, 0.0400, 0.0425,
> 0.0450, 0.0475, 0.0500, 0.0525, 0.0550 };
In each case, you can use Python lists. For instance, the third case
would be:
coupons = [ 0.0200, 0.0225, 0.0250, 0.0275, 0.0300,
0.0325, 0.0350, 0.0375, 0.0400, 0.0425,
0.0450, 0.0475, 0.0500, 0.0525, 0.055 ]
In the first two cases, you don't need separate initialization. You can
create the list using list comprehension; for example, 1) would be:
quote = [ SimpleQuote(cleanPrice[i]) for i in range(len(cleanPrice)) ]
or better yet
quote = [ SimpleQuote(p) for p in cleanPrice ]
In general:
- shared_ptr is hidden in the SWIG interfaces, so you can just omit it
and use the pointed class directly;
- for vectors, use Python lists.
Luigi
--
Weiler's Law:
Nothing is impossible for the man who doesn't have to
do it himself.
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
QuantLib-users mailing list
Qua...@li...
https://lists.sourceforge.net/lists/listinfo/quantlib-users
|
|
From: Joseph W. <jo...@gn...> - 2008-07-16 03:35:06
|
I think you are right here. I put this in because I needed to have the
buildbot slave point to the directory of the just compiled quantlib, but I
can encode that in the command line rather than the makefile.
On Tuesday 15 July 2008 04:36:02 am Luigi Ballabio wrote:
> On Sat, 2008-07-12 at 12:56 -0700, dr...@us... wrote:
> > Log Message:
> > -----------
> > pull in quantlib-config from install directory even if it is not part
> > of the path
> >
> > all-local: .build-stamp
> >
> > .build-stamp: QuantLib/quantlib_wrap.cpp QuantLib/QuantLib.py
> > - CXXFLAGS="$(CXXFLAGS)" $(PYTHON) setup.py build
> > + PATH="${bindir}:${PATH}" CXXFLAGS="$(CXXFLAGS)" $(PYTHON) setup.py
> > build touch .build-stamp
>
> Joe,
> I'm not sure about this---you're changing the PATH without telling the
> user. At the very least, I'd put ${bindir} _after_ the original path.
> But I think that if the user installed quantlib-config in some
> non-standard place, it should be up to him to add it to the path when
> running configure.
>
> Luigi
|
|
From: Mark j. <mar...@gm...> - 2008-07-16 03:15:58
|
I was testing the pathwise vegas class today and was a bit surprised by the slowness and memory usage. I eventually tracked the problem down to the SequenceStatistics class; storing all the values for 32768 paths was having a severe effect. By eliminating SequenceStatistics, I made the problem go away. I do wonder if this is why some of the other market model stuff is running slow. Do we have alternative classes for gathering statistics of arrays? And should we make it possible to choose which statistics measure to use in the market models code? mark -- Quant Job Interview Questions and Answers is now out: www.markjoshi.com Assoc Prof Mark Joshi Centre for Actuarial Studies University of Melbourne My website is www.markjoshi.com |