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: SourceForge.net <no...@so...> - 2009-04-03 13:36:53
|
Patches item #2727243, was opened at 2009-04-02 21:12 Message generated for change (Settings changed) made by lballabio You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=312740&aid=2727243&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 Resolution: None Priority: 5 Private: No Submitted By: Nathan Abbott (ultrium) >Assigned to: Luigi Ballabio (lballabio) Summary: add sumAmount to cashflows Initial Comment: We add a sumAmount method to the cashflows class. We are working on a loan class and we have the need to sum the amounts of different legs. We decide to include that helper functionally to the cashflows class. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=312740&aid=2727243&group_id=12740 |
|
From: SourceForge.net <no...@so...> - 2009-04-03 13:36:29
|
Patches item #2727178, was opened at 2009-04-02 20:41 Message generated for change (Settings changed) made by lballabio You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=312740&aid=2727178&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 Resolution: None Priority: 5 Private: No Submitted By: Nathan Abbott (ultrium) >Assigned to: Luigi Ballabio (lballabio) Summary: add Delay Days to FixedRateLeg Initial Comment: We have a need to create a FixedRateCoupon with the payment date that is different from the end date. For example, we created a mortgage bond with a starting coupon that has a start date of March 1st, 2009, a end date of April 1st, 2009, and a payment date of April 15th, 2009. The rest of the coupons of the bond follow the same pattern for its dates. To create the coupons, I had to added a delayDays_ variable to the FixedRateLeg class. delayDays_ is set to zero by default. Also, a withDelayDays method was added to the class. I also change the Leg() operator to take advance of the delayDays_ variable. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=312740&aid=2727178&group_id=12740 |
|
From: SourceForge.net <no...@so...> - 2009-04-03 13:32:42
|
Patches item #2725832, was opened at 2009-04-02 00:45 Message generated for change (Comment added) made by lballabio You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=312740&aid=2725832&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 Resolution: None Priority: 5 Private: No Submitted By: Nathan Abbott (ultrium) >Assigned to: Luigi Ballabio (lballabio) Summary: add zspread in bond Initial Comment: We have a need to get the zspread of a bond when give a clean price. I made it work just like the yield method when a clean price is given. ---------------------------------------------------------------------- Comment By: Luigi Ballabio (lballabio) Date: 2009-04-03 15:32 Message: A question before I can apply the patch: who owns the copyright of the code you contributed? Is it you, your employer, your own company...? Posting the copyright attribution I should use, i.e., something like Copyright (C) 2009 Random J. Hacker or Copyright (C) 2009 ACME inc. would be best. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=312740&aid=2725832&group_id=12740 |
|
From: SourceForge.net <no...@so...> - 2009-04-02 19:13:02
|
Patches item #2727243, was opened at 2009-04-02 12:12 Message generated for change (Tracker Item Submitted) made by ultrium You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=312740&aid=2727243&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 Resolution: None Priority: 5 Private: No Submitted By: Nathan Abbott (ultrium) Assigned to: Nobody/Anonymous (nobody) Summary: add sumAmount to cashflows Initial Comment: We add a sumAmount method to the cashflows class. We are working on a loan class and we have the need to sum the amounts of different legs. We decide to include that helper functionally to the cashflows class. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=312740&aid=2727243&group_id=12740 |
|
From: SourceForge.net <no...@so...> - 2009-04-02 18:41:11
|
Patches item #2727178, was opened at 2009-04-02 11:41 Message generated for change (Tracker Item Submitted) made by ultrium You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=312740&aid=2727178&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 Resolution: None Priority: 5 Private: No Submitted By: Nathan Abbott (ultrium) Assigned to: Nobody/Anonymous (nobody) Summary: add Delay Days to FixedRateLeg Initial Comment: We have a need to create a FixedRateCoupon with the payment date that is different from the end date. For example, we created a mortgage bond with a starting coupon that has a start date of March 1st, 2009, a end date of April 1st, 2009, and a payment date of April 15th, 2009. The rest of the coupons of the bond follow the same pattern for its dates. To create the coupons, I had to added a delayDays_ variable to the FixedRateLeg class. delayDays_ is set to zero by default. Also, a withDelayDays method was added to the class. I also change the Leg() operator to take advance of the delayDays_ variable. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=312740&aid=2727178&group_id=12740 |
|
From: Luigi B. <lui...@gm...> - 2009-04-02 06:58:10
|
On Wed, 2009-04-01 at 22:38 +0200, Ferdinando Ametrano wrote: > > Modified Paths: > > -------------- > > trunk/QuantLib/ql/math/optimization/conjugategradient.cpp > > trunk/QuantLib/ql/math/optimization/conjugategradient.hpp > > trunk/QuantLib/ql/math/optimization/linesearchbasedmethod.cpp > > trunk/QuantLib/ql/math/optimization/linesearchbasedmethod.hpp > > trunk/QuantLib/ql/math/optimization/steepestdescent.cpp > > trunk/QuantLib/ql/math/optimization/steepestdescent.hpp > > has Frederic also fixed the erratic behaviour of the line-search based methods? No. There was some refactoring, but the resulting figures were the same. Luigi -- Don't let school get in the way of your education. -- Mark Twain |
|
From: SourceForge.net <no...@so...> - 2009-04-01 22:45:42
|
Patches item #2725832, was opened at 2009-04-01 15:45 Message generated for change (Tracker Item Submitted) made by ultrium You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=312740&aid=2725832&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 Resolution: None Priority: 5 Private: No Submitted By: Nathan Abbott (ultrium) Assigned to: Nobody/Anonymous (nobody) Summary: add zspread in bond Initial Comment: We have a need to get the zspread of a bond when give a clean price. I made it work just like the yield method when a clean price is given. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=312740&aid=2725832&group_id=12740 |
|
From: Ferdinando A. <qf...@am...> - 2009-04-01 20:38:40
|
On Tue, Mar 31, 2009 at 2:39 PM, <lba...@us...> wrote: > Revision: 16097 > http://quantlib.svn.sourceforge.net/quantlib/?rev=16097&view=rev > Author: lballabio > Date: 2009-03-31 12:39:24 +0000 (Tue, 31 Mar 2009) > > Log Message: > ----------- > Added BFGS optimizer (thanks to Frederic Degraeve) > > Modified Paths: > -------------- > trunk/QuantLib/ql/math/optimization/conjugategradient.cpp > trunk/QuantLib/ql/math/optimization/conjugategradient.hpp > trunk/QuantLib/ql/math/optimization/linesearchbasedmethod.cpp > trunk/QuantLib/ql/math/optimization/linesearchbasedmethod.hpp > trunk/QuantLib/ql/math/optimization/steepestdescent.cpp > trunk/QuantLib/ql/math/optimization/steepestdescent.hpp has Frederic also fixed the erratic behaviour of the line-search based methods? ciao -- Nando |
|
From: Luigi B. <lui...@gm...> - 2009-04-01 16:15:25
|
Hi, On Tue, 2009-03-17 at 10:28 -0700, snovik wrote: > First of all, sorry for the long post. No problem. And sorry for the delay. > I can not understand why implementation of amortiting bonds is so complex > and unfriendly. > > All bond constructors use some leg helper to produce coupon cashflows of > some arbitrary notional schedule plus again some arbitrary final redemption. > I see it being as flexbile as it could be. Yes, the idea was to cover the general case. > However if I want to have an > amortizing bond I used to use a single original (not current) notional to > produce "full" coupon cash flows which where then wrapped and adjusted for > factor on each given factor date. Here factor is the bond paydown schedule, > starting from 1 at issue and going to 0 at maturity or final paydown date. Ok... so you're wrapping the coupons in instances of a wrapper class that scales their amount--is that correct? Does the wrapper class inherit from Coupon? > Current implementation of amortizing bond requires me to pre-calculate > already amortized (current) notionals and then send them to the bond > constructor which then uses a leg helper and so on... and at the end still > extracts amortized amounts from provided notionals. > > My questions are: > > First, I do not understand why I have to pre-calculate current notionals. > Factors allow for basic bond comparision and if I need to model amortisation > of bonds I am modelling factors which means that I am going to stick with my > wrapper and avoid pre-calculation currently required. If I am using historic > information to construct an amortizing bond, then factor information of much > more readily available than current notionals which again leaves me with the > wrapper. I see your point. However, I think this can be fixed (from a user's point of view) simply by adding another constructor that takes the factors and builds the appropriate cashflows. Do you agree? I'd be happy to include such a constructor if that makes the class easier to use. > Second, when I am looking into the code, I fail to "wrap" ;) my head around > it. Calculation of amortisation cash-flows is very straightforward if one > uses factors that there is no need to store notionals, cashflows, schedules > and redemptions and do any magic with them. I know memory if cheap these > days and should be a low concern but only if it makes code easier or faster, > not more complex ;) Building and storing cashflows allows one to write and reuse generic code; for instance, DiscountingBondEngine just calls npv(cashflows) whether or not bonds are amortized, which does make the code easier. Likewise, you can also make cash-flow analysis of them in a generic way (for instance, the several yield calculations works the same way on amortized and non-amortized bonds.) > Finally, I do not understand why notionals are not allowed to increase (or > be greater than final payment). There are plenty of in general amortizing > instruments which are PIK-able, i.e. when interest can be capitalized (CLOs > are like this to start with). Ok, so if I understand correctly, when interest is capitalized you get the interest from the coupon, put it back into the bond (which can be seen as a negative cashflow that cancels out the coupon) and proceed with an increased notional, right? If that's so, I guess that the existing machinery can work and we can just lift the requirement. Are you willing to try to fix the code (and also add the new constructor) and send me a patch? Thanks for the feedback, Luigi -- The shortest way to do many things is to do only one thing at once. -- Samuel Smiles |
|
From: Bojan N. <bo...@bn...> - 2009-04-01 10:27:31
|
Hi Tom, I think Eric's approach is the way to do it, i.e., dividing the overall problem into units of computations of "PVs" and distributing those units of work onto the grid, and probably it would be worth re-using the serialisation code at least. The couple of small items I would add is: * When I was last involved in a project similar to this, we used a commercial grid software vendor and I didn't think it was worth it in the end, I would stick to an open source system like Sun's. * You probably want to have the machine distributes the work sitting on Amazon's network too, i.e., use one of Amazon's instances for that. Therefore you will need two layers of communications. Best, Bojan -- Bojan Nikolic || http://www.bnikolic.co.uk |
|
From: vilhauer <tho...@gm...> - 2009-03-31 21:40:18
|
Hi, I wanted to find out if anyone has experience deploying all/some of quantlib to a 3rd party cloud infrastructure. I am looking at running a linux-based system on amazon web services, mosso (rackspace), or joyent. I had also thought about Google App Engine, but as of this winter, one could only use native Python functions, (no swig-bindings, I believe). I saw Eric's post about his grid project which he generously shared. http://www.nabble.com/QuantLib-Grid-Computing-td22390138.html If anyone has other tips, advice to share, it would be very welcome. Thanks, Tom -- View this message in context: http://www.nabble.com/Deploying-to-3rd-party-cloud%3A-Any-advice--tp22815057p22815057.html Sent from the quantlib-dev mailing list archive at Nabble.com. |
|
From: SourceForge.net <no...@so...> - 2009-03-31 16:00:37
|
Bugs item #2421793, was opened at 2008-12-12 17:33 Message generated for change (Comment added) made by lballabio You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112740&aid=2421793&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: Closed >Resolution: Fixed Priority: 5 Private: No Submitted By: Brian K. Boonstra (brianboonstra) Assigned to: Nobody/Anonymous (nobody) Summary: Propagate filename change to VC7 (Visual Studio 2003) projec Initial Comment: The vc71.dsp contains a reference to mcbasketengine.cpp (and .hpp) but the file has changed names to mceuropeanbasketengine.cpp (and .hpp). ---------------------------------------------------------------------- Comment By: Luigi Ballabio (lballabio) Date: 2009-03-31 18:00 Message: The bug is now fixed in the Subversion repository. Thank you for the report. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112740&aid=2421793&group_id=12740 |
|
From: SourceForge.net <no...@so...> - 2009-03-31 16:00:05
|
Bugs item #2723127, was opened at 2009-03-31 12:09 Message generated for change (Comment added) made by lballabio You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112740&aid=2723127&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: Closed >Resolution: Invalid >Priority: 5 Private: Yes Submitted By: anuya (anuya) >Assigned to: Luigi Ballabio (lballabio) Summary: compilation error in DiscreteHedging.cpp on Linux Initial Comment: Operating System: Fedora Compiler: gcc 4.2.4 On compiling the DiscreteHedging.cpp file, following errors were found: DiscreteHedging.cpp:67: error: ‘QuantLib’ is not a namespace-name DiscreteHedging.cpp:67: error: expected namespace-name before ‘;’ token DiscreteHedging.cpp:85: error: ‘Option’ has not been declared DiscreteHedging.cpp:85: error: expected `)' before ‘type’ DiscreteHedging.cpp:129: error: ‘Size’ has not been declared DiscreteHedging.cpp:129: error: ‘Size’ has not been declared DiscreteHedging.cpp:131: error: ‘Time’ does not name a type DiscreteHedging.cpp:132: error: ‘PlainVanillaPayoff’ does not name a type DiscreteHedging.cpp:133: error: ‘Real’ does not name a type DiscreteHedging.cpp:134: error: ‘Volatility’ does not name a type DiscreteHedging.cpp:135: error: ‘Rate’ does not name a type DiscreteHedging.cpp:136: error: ‘Real’ does not name a type DiscreteHedging.cpp:142: error: expected template-name before ‘<’ token DiscreteHedging.cpp:142: error: expected `{' before ‘<’ token DiscreteHedging.cpp:142: error: expected unqualified-id before ‘<’ token ---------------------------------------------------------------------- >Comment By: Luigi Ballabio (lballabio) Date: 2009-03-31 17:59 Message: Your compiler cannot find <ql/quantlib.hpp> (and is probably giving you an error about that before the ones you reported. Make sure that you pass the relevant include directory to the compiler. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112740&aid=2723127&group_id=12740 |
|
From: SourceForge.net <no...@so...> - 2009-03-31 15:56:41
|
Bugs item #2723126, was opened at 2009-03-31 12:08 Message generated for change (Settings changed) made by lballabio You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112740&aid=2723126&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: Deleted >Resolution: Rejected Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) >Assigned to: Luigi Ballabio (lballabio) Summary: abc Initial Comment: dfdfdf ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112740&aid=2723126&group_id=12740 |
|
From: SourceForge.net <no...@so...> - 2009-03-31 10:10:45
|
Bugs item #2723127, was opened at 2009-03-31 15:39 Message generated for change (Settings changed) made by anuya You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112740&aid=2723127&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 Resolution: None >Priority: 9 Private: Yes Submitted By: anuya (anuya) Assigned to: Nobody/Anonymous (nobody) Summary: compilation error in DiscreteHedging.cpp on Linux Initial Comment: Operating System: Fedora Compiler: gcc 4.2.4 On compiling the DiscreteHedging.cpp file, following errors were found: DiscreteHedging.cpp:67: error: ‘QuantLib’ is not a namespace-name DiscreteHedging.cpp:67: error: expected namespace-name before ‘;’ token DiscreteHedging.cpp:85: error: ‘Option’ has not been declared DiscreteHedging.cpp:85: error: expected `)' before ‘type’ DiscreteHedging.cpp:129: error: ‘Size’ has not been declared DiscreteHedging.cpp:129: error: ‘Size’ has not been declared DiscreteHedging.cpp:131: error: ‘Time’ does not name a type DiscreteHedging.cpp:132: error: ‘PlainVanillaPayoff’ does not name a type DiscreteHedging.cpp:133: error: ‘Real’ does not name a type DiscreteHedging.cpp:134: error: ‘Volatility’ does not name a type DiscreteHedging.cpp:135: error: ‘Rate’ does not name a type DiscreteHedging.cpp:136: error: ‘Real’ does not name a type DiscreteHedging.cpp:142: error: expected template-name before ‘<’ token DiscreteHedging.cpp:142: error: expected `{' before ‘<’ token DiscreteHedging.cpp:142: error: expected unqualified-id before ‘<’ token ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112740&aid=2723127&group_id=12740 |
|
From: SourceForge.net <no...@so...> - 2009-03-31 10:09:41
|
Bugs item #2723127, was opened at 2009-03-31 15:39 Message generated for change (Tracker Item Submitted) made by anuya You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112740&aid=2723127&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 Resolution: None Priority: 5 Private: Yes Submitted By: anuya (anuya) Assigned to: Nobody/Anonymous (nobody) Summary: compilation error in DiscreteHedging.cpp on Linux Initial Comment: Operating System: Fedora Compiler: gcc 4.2.4 On compiling the DiscreteHedging.cpp file, following errors were found: DiscreteHedging.cpp:67: error: ‘QuantLib’ is not a namespace-name DiscreteHedging.cpp:67: error: expected namespace-name before ‘;’ token DiscreteHedging.cpp:85: error: ‘Option’ has not been declared DiscreteHedging.cpp:85: error: expected `)' before ‘type’ DiscreteHedging.cpp:129: error: ‘Size’ has not been declared DiscreteHedging.cpp:129: error: ‘Size’ has not been declared DiscreteHedging.cpp:131: error: ‘Time’ does not name a type DiscreteHedging.cpp:132: error: ‘PlainVanillaPayoff’ does not name a type DiscreteHedging.cpp:133: error: ‘Real’ does not name a type DiscreteHedging.cpp:134: error: ‘Volatility’ does not name a type DiscreteHedging.cpp:135: error: ‘Rate’ does not name a type DiscreteHedging.cpp:136: error: ‘Real’ does not name a type DiscreteHedging.cpp:142: error: expected template-name before ‘<’ token DiscreteHedging.cpp:142: error: expected `{' before ‘<’ token DiscreteHedging.cpp:142: error: expected unqualified-id before ‘<’ token ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112740&aid=2723127&group_id=12740 |
|
From: SourceForge.net <no...@so...> - 2009-03-31 10:09:02
|
Bugs item #2723126, was opened at 2009-03-31 10:08 Message generated for change (Tracker Item Submitted) made by nobody You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112740&aid=2723126&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 Resolution: None Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: abc Initial Comment: dfdfdf ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112740&aid=2723126&group_id=12740 |
|
From: Ferdinando A. <qf...@am...> - 2009-03-27 16:19:45
|
On Fri, Mar 27, 2009 at 5:05 PM, Luigi Ballabio <lui...@gm...> wrote: > On Fri, 2009-03-27 at 14:43 +0000, na...@us... wrote: >> removed awkward space before percent sign. Revert this if you don't agree > > Actually, I don't. It seems that there's no "right" way to do it, as > according to Wikipedia [omissis] so it should be made customizable, right? :-) ciao -- Nando |
|
From: Luigi B. <lui...@gm...> - 2009-03-27 16:05:44
|
On Fri, 2009-03-27 at 14:43 +0000, na...@us... wrote: > Revision: 16086 > http://quantlib.svn.sourceforge.net/quantlib/?rev=16086&view=rev > Author: nando > Date: 2009-03-27 14:43:52 +0000 (Fri, 27 Mar 2009) > > Log Message: > ----------- > removed awkward space before percent sign. Revert this if you don't agree Actually, I don't. It seems that there's no "right" way to do it, as according to Wikipedia (under "percent sign") There is no consensus as to whether or not to include a space between the number and percent sign in English. Many authorities prescribe that there should be no space, whilst others typographically require one for various reasons; these include The International System of Units and the ISO 31-0 standard, while the TeX typesetting system encourages it. This is in accordance with the general rule of adding a non-breaking space between a numerical value and its corresponding unit of measurement. However, style guides – such as the Chicago Manual of Style – commonly prescribe to write the number and percent sign without any space in between. However, I'd favor keeping the space. it's true that 5% might be a bit more readable than 5 %, but on the other hand, an output like 1x5: model 10.04471%, market 11.48000% (-1.43529%) 2x4: model 10.51179%, market 11.08000% (-0.56821%) 3x3: model 10.70375%, market 10.70000% (+0.00375%) 4x2: model 10.83882%, market 10.21000% (+0.62882%) 5x1: model 10.94492%, market 10.00000% (+0.94492%) (from the BermudanSwaption example) looks to me more awkward than the alternative. Luigi -- Father's got the sack from the water-works For smoking of his old cherry-briar; Father's got the sack from the water-works 'Cos he might set the water-works on fire. |
|
From: Ferdinando A. <qf...@am...> - 2009-03-26 15:45:48
|
On Wed, Mar 25, 2009 at 1:36 PM, Ferdinando Ametrano <qf...@am...> wrote: > So I propose to extrapolate flat fwd rates and this could be quite > easily implemented in the InterpolatedXXXCurve classes. I just did it in Rev16082 http://quantlib.svn.sourceforge.net/quantlib/?rev=16082&view=rev ciao -- Nando |
|
From: <tb...@ao...> - 2009-03-25 17:35:14
|
Dear All,
I have installed Quantlibxl 9.7 and have opened work book option.xls and cant get the example sheet to calculate.
Despite hitting ctrl-alt-f9 to force a recalculate cell B10 has value #NUM and cells b13 and c13 have value #VALUE!
Can anyone help?
Regards
Theo
-----Original Message-----
From: qua...@li...
To: qua...@li...
Sent: Wed, 25 Mar 2009 11:34
Subject: QuantLib-dev Digest, Vol 34, Issue 9
Send QuantLib-dev mailing list submissions to
qua...@li...
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
or, via email, send a message with subject or body 'help' to
qua...@li...
You can reach the person managing the list at
qua...@li...
When replying, please edit your Subject line so it is more specific
than "Re: Contents of QuantLib-dev digest..."
Today's Topics:
1. [ quantlib-Bugs-2691902 ] Bootstrapping for bonds:
Inconsistency in the clean price (SourceForge.net)
2. [ quantlib-Bugs-2691902 ] Bootstrapping for bonds:
Inconsistency in the clean price (SourceForge.net)
3. [ quantlib-Bugs-2691902 ] Bootstrapping for bonds:
Inconsistency in the clean price (SourceForge.net)
4. Re: How to use test suite (Luigi Ballabio)
5. Re: [QuantLib-svn] SF.net SVN: quantlib:[16065]
trunk/QuantLib/ql/termstructures/yield/ forwardcurve.hpp
(Luigi Ballabio)
6. Re: [QuantLib-svn] SF.net SVN: quantlib:[16065]
trunk/QuantLib/ql/termstructures/yield/ forwardcurve.hpp
(Ferdinando Ametrano)
7. Re: [QuantLib-svn] SF.net SVN: quantlib:[16065]
trunk/QuantLib/ql/termstructures/yield/ forwardcurve.hpp
(Luigi Ballabio)
----------------------------------------------------------------------
Message: 1
Date: Wed, 18 Mar 2009 14:28:22 +0000
From: "SourceForge.net" <no...@so...>
Subject: [Quantlib-dev] [ quantlib-Bugs-2691902 ] Bootstrapping for
bonds: Inconsistency in the clean price
To: no...@so...
Message-ID: <E1L...@d4...>
Content-Type: text/plain; charset="UTF-8"
Bugs item #2691902, was opened at 2009-03-18 15:28
Message generated for change (Tracker Item Submitted) made by klriedel
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=112740&aid=2691902&group_id=12740
Please note that this message will co
ntain 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
Resolution: None
Priority: 5
Private: No
Submitted By: Karl Riedel (klriedel)
Assigned to: Nobody/Anonymous (nobody)
Summary: Bootstrapping for bonds: Inconsistency in the clean price
Initial Comment:
Dear ladies and gentlemen,
when considering the bootstrapping of a coupon bond according to the example
"FittedBondCurve.cpp" I found an inconsistency in the results of the
bootstrapper according to
boost::shared_ptr<YieldTermStructure> ts0 (
new PiecewiseYieldCurve<Discount,LogLinear>(curveSettlementDays,
calendar,
instrumentsB,
bondDayCount));
This inconsistency was as follows: For simplicity I considered a coupon bond
with only one remaining payment date t_1, at which the coupon c and the
redemption 1 will be paid. Let t_0 be the last coupon date and today t is within
the interval [t_0,t_1]. For this situation the discount factor df(t,t_1) was
calculated according to
Clean Price = df(t,t_1) * [ 1 + c*(t_1-t) ]. (1)
This formula refers to a Clean Price which is theoretically correct, i.e. the
accrued amount is discounted.
On the other hand, what has actually to be paid (marked standard) for a bond is
the Clean price + the accrued amount according to the simple formula c*(t-t_0)
which does not take into account discounting the accrued amount. The net present
value of future payments must equal the spot price:
Clean Price + c * (t-t_0) = df(t,t_1) * [1+c]. (2)
In the middle of a payment period the resulting discount factors df(t,t_1) of
(1) and (2) differ most. In my example this lead to a difference in the zero
rate of around 10 BIPs.
Best regards,
Karl Riedel
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=112740&aid=2691902&group_id=12740
------------------------------
Message: 2
Date: Wed, 18 Mar 2009 16:14:15 +0000
From: "SourceForge.net" <no...@so...>
Subject: [Quantlib-dev] [ quantlib-Bugs-2691902 ] Bootstrapping for
bonds: Inconsistency in the clean price
To: no...@so...
Message-ID: <E1L...@56...>
Content-Type: text/plain; charset="UTF-8"
Bugs item #2691902, was opened at 2009-03-18 15:28
Message generated for change (Comment added) made by lballabio
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=112740&aid=2691902&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
Resolution: None
Priority: 5
Private: No
Submitted By: Karl Riedel (klriedel)
Assigned to: Nobody/Anonymous (nobody)
Summary: Bootstrapping for bonds: Inconsistency in the clean price
Initial Comment:
Dear ladies and gentlemen,
when considering the bootstrapping of a coupon bond according to the example
"FittedBondCurve.cpp" I found an inconsistency in the results of the
bootstrapper according to
boost::shared_ptr<YieldTermStructure> ts0 (
new PiecewiseYieldCurve<Discount,LogLinear>(curveSettlementDays,
calendar,
instrumentsB,
bondDayCount));
This inconsistency was as follows: For simplicity I considered a coupon bond
with only one remaining payment date t_1, at which the coupon c and the
redemption 1 will be paid. Let t_0 be the last coupon date and today t is within
the interval [t_0,t_1]. For this situation the discount factor df(t,t_1) was
calculated according to
Clean Price = df(t,t_1) * [ 1 + c*(t_
1-t) ]. (1)
This formula refers to a Clean Price which is theoretically correct, i.e. the
accrued amount is discounted.
On the other hand, what has actually to be paid (marked standard) for a bond is
the Clean price + the accrued amount according to the simple formula c*(t-t_0)
which does not take into account discounting the accrued amount. The net present
value of future payments must equal the spot price:
Clean Price + c * (t-t_0) = df(t,t_1) * [1+c]. (2)
In the middle of a payment period the resulting discount factors df(t,t_1) of
(1) and (2) differ most. In my example this lead to a difference in the zero
rate of around 10 BIPs.
Best regards,
Karl Riedel
----------------------------------------------------------------------
>Comment By: Luigi Ballabio (lballabio)
Date: 2009-03-18 17:14
Message:
Karl,
may you point out the places in the code where the calculations (1) and
(2) are performed?
Also, do you have some code to reproduce the error?
Luigi
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=112740&aid=2691902&group_id=12740
------------------------------
Message: 3
Date: Thu, 19 Mar 2009 10:28:43 +0000
From: "SourceForge.net" <no...@so...>
Subject: [Quantlib-dev] [ quantlib-Bugs-2691902 ] Bootstrapping for
bonds: Inconsistency in the clean price
To: no...@so...
Message-ID: <E1L...@d4...>
Content-Type: text/plain; charset="UTF-8"
Bugs item #2691902, was opened at 2009-03-18 15:28
Message generated for change (Comment added) made by klriedel
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=112740&aid=2691902&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
Resolution: None
Priority: 5
Private: No
Submitted By: Karl
Riedel (klriedel)
Assigned to: Nobody/Anonymous (nobody)
Summary: Bootstrapping for bonds: Inconsistency in the clean price
Initial Comment:
Dear ladies and gentlemen,
when considering the bootstrapping of a coupon bond according to the example
"FittedBondCurve.cpp" I found an inconsistency in the results of the
bootstrapper according to
boost::shared_ptr<YieldTermStructure> ts0 (
new PiecewiseYieldCurve<Discount,LogLinear>(curveSettlementDays,
calendar,
instrumentsB,
bondDayCount));
This inconsistency was as follows: For simplicity I considered a coupon bond
with only one remaining payment date t_1, at which the coupon c and the
redemption 1 will be paid. Let t_0 be the last coupon date and today t is within
the interval [t_0,t_1]. For this situation the discount factor df(t,t_1) was
calculated according to
Clean Price = df(t,t_1) * [ 1 + c*(t_1-t) ]. (1)
This formula refers to a Clean Price which is theoretically correct, i.e. the
accrued amount is discounted.
On the other hand, what has actually to be paid (marked standard) for a bond is
the Clean price + the accrued amount according to the simple formula c*(t-t_0)
which does not take into account discounting the accrued amount. The net present
value of future payments must equal the spot price:
Clean Price + c * (t-t_0) = df(t,t_1) * [1+c]. (2)
In the middle of a payment period the resulting discount factors df(t,t_1) of
(1) and (2) differ most. In my example this lead to a difference in the zero
rate of around 10 BIPs.
Best regards,
Karl Riedel
----------------------------------------------------------------------
>Comment By: Karl Riedel (klriedel)
Date: 2009-03-19 11:28
Message:
Hello Luigi,
unfortunately I did not have the time to search the relevant position(s)
in the code. I just compared the results of Quantlib bootstrapping to
formula (1) and (2) considering an easy example. The bootstrapper
calculates results according to formula (1) while formula (2) describes the
correct net present value.
Please find the example code attached. The produced output is as follows:
Today's date: January 2nd, 2009
Bootstrapping 1 bond with 0.5 years tenor and 4% coupon ...
According to
Clean Price = df(t,t_1) * [ 1 + c*(t_1-t) ]. (1)
df = 1 / (1+0.5*c) = 1 / 1.02 = 0.980392156863
ts0->discount(maturity) = 0.980392156863
r = -log(df)/0.5 = 0.0396052545924
ts0->zeroRate(... = 0.0396052545924
According to correct net present value
Clean Price + c * (t-t_0) = df(t,t_1) * [1+c]. (2)
df = (1+0.5*c)/(1+c) = 1.02/1.04 = 0.980769230769
r = -log(df)/0.5 = 0.0388361717142
Dr?cken Sie eine beliebige Taste . . .
Karl
File Added: CleanpriceInconsistencyExample.txt
----------------------------------------------------------------------
Comment By: Luigi Ballabio (lballabio)
Date: 2009-03-18 17:14
Message:
Karl,
may you point out the places in the code where the calculations (1) and
(2) are performed?
Also, do you have some code to reproduce the error?
Luigi
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=112740&aid=2691902&group_id=12740
------------------------------
Message: 4
Date: Fri, 20 Mar 2009 11:05:13 +0100
From: Luigi Ballabio <lui...@gm...>
Subject: Re: [Quantlib-dev] How to use test suite
To: Ramesh Pedhamalla <ram...@3i...>
Cc: qua...@li...
Message-ID: <1237543513.4669.21.camel@ITSUP001>
Content-Type: text/plain
On Mon, 2009-03-16 at 14:47 +0530, Ramesh Pedhamalla wrote:
> Iam useing Quantilib in my application,i want to test some API in
> Quantlib.Please let me know how to use test suite.
Sorry, I'm not following. May you add some details and/or some context?
Luigi
--
These are my principles, and if you don't like
them... Well, I have
others.
-- Groucho Marx
------------------------------
Message: 5
Date: Wed, 25 Mar 2009 11:38:53 +0100
From: Luigi Ballabio <lui...@gm...>
Subject: Re: [Quantlib-dev] [QuantLib-svn] SF.net SVN:
quantlib:[16065] trunk/QuantLib/ql/termstructures/yield/
forwardcurve.hpp
To: qua...@li...
Message-ID: <1237977533.18502.0.camel@ITSUP001>
Content-Type: text/plain
On Wed, 2009-03-25 at 10:31 +0000, na...@us... wrote:
> Revision: 16065
> http://quantlib.svn.sourceforge.net/quantlib/?rev=16065&view=rev
> Author: nando
> Date: 2009-03-25 10:31:08 +0000 (Wed, 25 Mar 2009)
>
> Log Message:
> -----------
> added flat extrapolation
Care to discuss?
Luigi
--
The shortest way to do many things is to do only one thing at once.
-- Samuel Smiles
------------------------------
Message: 6
Date: Wed, 25 Mar 2009 12:23:21 +0100
From: Ferdinando Ametrano <qf...@am...>
Subject: Re: [Quantlib-dev] [QuantLib-svn] SF.net SVN:
quantlib:[16065] trunk/QuantLib/ql/termstructures/yield/
forwardcurve.hpp
To: lui...@gm...
Cc: qua...@li...
Message-ID:
<864...@ma...>
Content-Type: text/plain; charset=ISO-8859-1
On Wed, Mar 25, 2009 at 11:38 AM, Luigi Ballabio
<lui...@gm...> wrote:
> On Wed, 2009-03-25 at 10:31 +0000, na...@us... wrote:
>> Revision: 16065
>>
>> Log Message:
>> -----------
>> added flat extrapolation
>>
>> Modified Paths:
>> --------------
>> trunk/QuantLib/ql/termstructures/yield/forwardcurve.hpp
>
> Care to discuss?
glad to oblige.
The InterpolatedForwardCurve used the interpolant to extrapolate,
which easily leads to implausible rates, unless one used
piecewise-constant interpolation. Even "basic" linear interpolation
could lead to negative rates or implausible high rates depending on
its slope in the final segment
Flat forward rate extrapolation keeps forward rate continuous, at
the
cost of an angular point for non piecewise-constant interpolations.
This is a non-issue for linear interpolation since in this case the
curve already has an angular point at every knot. When it comes to
higher order interpolation it is still a bearable cost compared to
implausible extrapolation values.
In any case this cost is negligible in the overall smoothness
evaluation of the curve, as the forward rate curve is integrated in
order to obtain zero rate (and then discount factor)
Of course extrapolation is always a dangerous exercise, but if one
needs it then flat extrapolation of instantaneous forward rates is
usually the preferred approach, with no real feasible alternatives I
know of.
This is also the approach adopted in the InterpolatedHazardRateCurve.
Any contrarian out there?
ciao -- Nando
------------------------------
Message: 7
Date: Wed, 25 Mar 2009 12:33:05 +0100
From: Luigi Ballabio <lui...@gm...>
Subject: Re: [Quantlib-dev] [QuantLib-svn] SF.net SVN:
quantlib:[16065] trunk/QuantLib/ql/termstructures/yield/
forwardcurve.hpp
To: Ferdinando Ametrano <qf...@am...>
Cc: qua...@li...
Message-ID: <1237980785.18502.4.camel@ITSUP001>
Content-Type: text/plain
On Wed, 2009-03-25 at 12:23 +0100, Ferdinando Ametrano wrote:
> glad to oblige.
Thanks. I agreed with the change, but I though it would have been a
good thing to have its rationale explained---which you did nicely.
Luigi
--
I'd never join any club that would have the likes of me as a member.
-- Groucho Marx
------------------------------
------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
---------------
---------------
_______________________________________________
QuantLib-dev mailing list
Qua...@li...
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
End of QuantLib-dev Digest, Vol 34, Issue 9
*******************************************
________________________________________________________________________
AOL Email goes Mobile! You can now read your AOL Emails whilst on the move. Sign up for a free AOL Email account with unlimited storage today.
|
|
From: Ferdinando A. <qf...@am...> - 2009-03-25 12:36:47
|
On Wed, Mar 25, 2009 at 12:33 PM, Luigi Ballabio <lui...@gm...> wrote: > I agreed with the change, but I though it would have been a > good thing to have its rationale explained which now prompts me to tackle a possible next step. While I thought that flat fwd extrapolation was uncontroversial when modelling fwd rates (InterpolatedForwardCurve), it might become slightly controversial when applied to discount (InterpolatedDiscountCurve) and zero (InterpolatedZeroCurve). In the current situation for InterpolatedDiscountCurve we are extrapolating discounts, which is not sensible and might lead to negative and/or increasing discounts Any flat discount extrapolation would simply make no sense at all as it would imply null fwd rates. As for InterpolatedZeroCurve we are now extrapolating zero, which again is not sensible and might lead to negative rates. In this case flat zero extrapolation might look tempting, but it is actually equivalent to extrapolate flat fwd rates equal to their average value over the interpolation interval: a quite bizzarre assumption which also introduce a jump in fwd rates. So I propose to extrapolate flat fwd rates and this could be quite easily implemented in the InterpolatedXXXCurve classes. Any opinion? ciao -- Nando |
|
From: Luigi B. <lui...@gm...> - 2009-03-25 11:34:44
|
On Wed, 2009-03-25 at 12:23 +0100, Ferdinando Ametrano wrote: > glad to oblige. Thanks. I agreed with the change, but I though it would have been a good thing to have its rationale explained---which you did nicely. Luigi -- I'd never join any club that would have the likes of me as a member. -- Groucho Marx |
|
From: Ferdinando A. <qf...@am...> - 2009-03-25 11:23:37
|
On Wed, Mar 25, 2009 at 11:38 AM, Luigi Ballabio <lui...@gm...> wrote: > On Wed, 2009-03-25 at 10:31 +0000, na...@us... wrote: >> Revision: 16065 >> >> Log Message: >> ----------- >> added flat extrapolation >> >> Modified Paths: >> -------------- >> trunk/QuantLib/ql/termstructures/yield/forwardcurve.hpp > > Care to discuss? glad to oblige. The InterpolatedForwardCurve used the interpolant to extrapolate, which easily leads to implausible rates, unless one used piecewise-constant interpolation. Even "basic" linear interpolation could lead to negative rates or implausible high rates depending on its slope in the final segment Flat forward rate extrapolation keeps forward rate continuous, at the cost of an angular point for non piecewise-constant interpolations. This is a non-issue for linear interpolation since in this case the curve already has an angular point at every knot. When it comes to higher order interpolation it is still a bearable cost compared to implausible extrapolation values. In any case this cost is negligible in the overall smoothness evaluation of the curve, as the forward rate curve is integrated in order to obtain zero rate (and then discount factor) Of course extrapolation is always a dangerous exercise, but if one needs it then flat extrapolation of instantaneous forward rates is usually the preferred approach, with no real feasible alternatives I know of. This is also the approach adopted in the InterpolatedHazardRateCurve. Any contrarian out there? ciao -- Nando |
|
From: Luigi B. <lui...@gm...> - 2009-03-25 10:39:25
|
On Wed, 2009-03-25 at 10:31 +0000, na...@us... wrote: > Revision: 16065 > http://quantlib.svn.sourceforge.net/quantlib/?rev=16065&view=rev > Author: nando > Date: 2009-03-25 10:31:08 +0000 (Wed, 25 Mar 2009) > > Log Message: > ----------- > added flat extrapolation Care to discuss? Luigi -- The shortest way to do many things is to do only one thing at once. -- Samuel Smiles |