<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 8 October 2014 13:52, Dirk Eddelbuettel <span dir="ltr"><<a href="mailto:edd@debian.org" target="_blank">edd@debian.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
On 8 October 2014 at 10:53, Michele Salvadore wrote:<br>
| Hi Dick,<br>
<br>
Dirk, with an r. It happens :)<br></blockquote><div><br></div><div>So sorry!!! apologies for the pun, was definitely not intended. <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
| Eventually I was able to get it up.<br>
<br>
Ok. If you have suggestions for making the documentation clearer let me know.<br>
<br>
| I've been working a bit on the bond interface as I needed to make it more<br>
| flexible and match more closely the structure on the QuantLib side. Briefly, I<br>
| changed the interface (just for FixedRateBond for the time being) to match the<br>
| most general case available on the quantlib side:<br>
| 1. provide a named list 'bond' with all parameters matching<br>
| the QuantLib::FixedRateBond ctor (with externally constructed schedule), apart<br>
| from the schedule (constructed separately) and the coupon rates vector (also<br>
| constructed separately).<br>
| 2. provide a named list 'schedule' with all parameters matching the<br>
| QuantLib::Schedule ctor.<br>
| 3. provide a named list 'calc' with parameters required for some additional<br>
| calculations (for example duration)<br>
| 4. Either a yield or a discountCurve can be provided (if both are not available<br>
| or defined I stop()). Depending on which is given, we include a price engine or<br>
| not and calculate parameters accordingly (in case of yield, as there is no<br>
| price engine, I return NA for NPV). In both cases, the same type of object is<br>
| returned to R, a FixedRateBond.<br>
| 5. I added some additional field to the returned object: the settlementDate<br>
| used in the calculation (not necessarily obvious from the input parameters) and<br>
| the duration.<br>
| 6. I extended the supported calendars by using the getCalendar function already<br>
| available in calendars.cpp (there was a different getCalendar function declared<br>
| in the header which didn't have an implementation and I substituted it with the<br>
| correct declaration).<br>
|<br>
| I was wondering what you think of these changes. I would like to contribute<br>
| them back to the package, but I am worried about the fact the the need to<br>
| extend the interface has broken backward compatibility for FixedRateBond. I was<br>
<br>
I generally like backwards compatibility.<br></blockquote><div><br></div><div>Me too, as long as it is possible. </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
This may be an exception where it is worth breaking things.<br></blockquote><div><br></div><div>Yes, I belive the current API is limited and not flexible enough for pricing bonds. </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
| initially thinking of adding a new function with a different name, but I<br>
| believe that would be very confusing for users. My believe is that the<br>
| FixedRateBond should match as closely as possible the QuantLib::FixedRateBond<br>
| (even the name says that :)).<br>
| If you think it would be worthile, I would implement similar changes to the<br>
| other bond functions in the package and contribute it back.<br>
|<br>
| Looking forward to hearing your opinion on this,<br>
<br>
Can you provide a 'pull request' ?  That is the GitHub way of clearly showing<br>
the differences.  If you know (some) git, creating a branch and a pull<br>
request is easy.  If you don't know git, it may be worth learning.  We can<br>
also fall back to 'diff and patch'.<br></blockquote><div> </div><div>Yes, git is my versioning tool of choice, I will clean things up a bit and provide a pull request.</div><div><br></div><div>Michele</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
This discussion should be on the mailing list, though, so I am reverting it<br>
there. Please follow-up on list, if possible.<br>
<br>
Dirk<br>
<br>
| Michele<br>
|<br>
|<br>
| On 1 October 2014 18:32, Dirk Eddelbuettel <<a href="mailto:edd@debian.org">edd@debian.org</a>> wrote:<br>
|<br>
|<br>
|     Hi again,<br>
|<br>
|     On 1 October 2014 at 18:18, Michele Salvadore wrote:<br>
|     | Hi Dirk,<br>
|     |<br>
|     | sorry to bother you, I was wondering if you had the chance to take a look<br>
|     at<br>
|     | this issue (multiple definitions at linkage). It looks like something to<br>
|     do<br>
|<br>
|     I have not.<br>
|<br>
|     RQuantLib builds at CRAN incl on the win-builder service.<br>
|<br>
|     | with proper header inclusion, but I'm not sure what's going on. Btw, I<br>
|     was able<br>
|     | to get all other issues/warning sorted (including openmp and so on), this<br>
|     is<br>
|     | the last bit left before being able to work on it.<br>
|<br>
|     Can you construct a small reproducible example and post it (within the 40kb<br>
|     limit, ie do not attach or include lots) to the list?<br>
|<br>
|     Dirk<br>
|<br>
|     | Thanks a lot, apologies for bothering!<br>
|     |<br>
|     | Michele<br>
|     |<br>
|     | On 26 September 2014 22:10, Dirk Eddelbuettel <<a href="mailto:edd@debian.org">edd@debian.org</a>> wrote:<br>
|     |<br>
|     |<br>
|     |     On 26 September 2014 at 20:48, Michele Salvadore wrote:<br>
|     |     | Sorry about that dirk, will keep it shorter in the future :) i was<br>
|     out of<br>
|     |     Office today and saw emails just now.<br>
|     |<br>
|     |     No worries.<br>
|     |<br>
|     |     What is a little stranger is that I can see the post now in the list<br>
|     |     archives, yet I never seem to have gotten a copy to my account.<br>
|     |<br>
|     |     We'll follow up in a bit.<br>
|     |<br>
|     |     Dirk<br>
|     |<br>
|     |     --<br>
|     |     <a href="http://dirk.eddelbuettel.com" target="_blank">http://dirk.eddelbuettel.com</a> | @eddelbuettel | <a href="mailto:edd@debian.org">edd@debian.org</a><br>
|     |<br>
|     |<br>
|<br>
|     --<br>
|     <a href="http://dirk.eddelbuettel.com" target="_blank">http://dirk.eddelbuettel.com</a> | @eddelbuettel | <a href="mailto:edd@debian.org">edd@debian.org</a><br>
|<br>
|<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
<a href="http://dirk.eddelbuettel.com" target="_blank">http://dirk.eddelbuettel.com</a> | @eddelbuettel | <a href="mailto:edd@debian.org">edd@debian.org</a><br>
</font></span></blockquote></div><br></div></div>