Updated detection of QuantLib libraries in configure
The minimum version has been increased to QuantLib 1.25, and DESCRIPTION has been updated to state it too
The dividend case for vanilla options still accommodates deprecated older QuantLib versions if needed (up to QuantLib 1.25)
The configure script now uses PKG_CXXFLAGS
and
PKG_LIBS
internally, and shows the values it sets
Adjustments for QuantLib 1.35 and removal of deprecated code (in utility functions and dividend case of vanilla options)
Adjustments for new changes in QuantLib 1.35
Refactoring most C++ files making more use of both auto
and
make_shared
to simplify and shorten expressions
Small code cleanup removing duplicate R code
Small improvements to C++ compilation flags
Robustify internal version comparison to accommodate RC releases
Adjustments to two C++ files for QuantLib 1.34
Generalize macOS build to universal build (Jeroen in #179)
Generalize Windows build to arm64 (Jeroen in #181)
Generalize version string use to support cmake
use (Jeroen
in #181 fixing #180)
Minor update to 'ci.yaml' github action (Dirk)
Correct three help pages with stray curly braces
Correct two printf format strings
Comment-out explicit selection of C++14
Wrap one example inside if (interactive())
to not exceed
total running time limit at CRAN checks
Three calendaring / schedule tests were adjusted for slightly changed values under QuantLib 1.31
Several checks in the configure
script have been updated to
reflect current versions of packages.
Five examples no longer run because, even while extremely short, use of (too many default) threads was seen.
Use of several rgl
functions was updated to a new naming
scheme in the package (kindly contributed by Duncan Murdoch in #174)
A default argument is now given for option surface plots
Changed call from SwaptionVolCube1 to SabrSwaptionVolatilityCube (conditional on using QuantLib 1.30 or later)
Some other deprecation warnings were tweaked as in QL test file
Builds for macOS and Windows were updated with more library build (changes kindly contributed by Jeron Ooms in #176 and #175)
Some remaining throw
calls were replace by Rcpp::stop
Switch compilation to C++14 which is required by QuantLib 1.28 and, while standard with R 4.2.*, may be needed for R 4.1.*
Documentationn for daycounters was updated and extended (Kai Lin)
Deprecated daycounters were approtiately updated (Kai Lin)
One example parameterization was changed to avoid error (Dirk)
The Docker files were updated
Changes in RQuantLib code:
Changes in RQuantLib package and setup:
Some package metadata was removed from the README.md (Dirk)
Changes in RQuantLib code:
Changes in RQuantLib package and setup:
Docker containers are now updated on a monthly schedule via GitHub Actions
The configure
files were updated to the standard of
version 2.69 following a CRAN request
Changes in RQuantLib code:
Small updates to DESCRIPTION
and README.md
Switch CI use to r-ci
An eleven-year old typo was correct in a manual page (Dirk in #156 fixing #155 with thanks to @klin133)
Daycount convention calls deprecated in QuantLib 1.23 were updated (Dirk in #157)
Updated remaining http:// URLs in documentation to https://
Changes in RQuantLib code:
Calls deprecated-in-QuantLib 1.18 were updated (Dirk in #146).
Changes in RQuantLib code:
Changes in RQuantLib build system:
The src/Makevars.win
and tools/winlibs.R
file
get QuantLib 1.16 for either toolchain (Jeroes in #136).
The custom Docker container now downloads QuantLib from Debian unstable to get release 1.16 (from yesterday, no less)
Changes in RQuantLib code:
Completed switch to QuantLib::ext
namespace wrappers
for either shared_ptr
use started in 0.4.8.
Changes in RQuantLib code:
Source code supports Boost shared_ptr
and C+11
shared_ptr
via QuantLib::ext
namespace like upstream.
Changes in RQuantLib build system:
The configure.ac
file no longer upsets R CMD
check
; the change does not actually change configure
.
Changes in RQuantLib tests:
Thanks to the updated #rwinlib/quantlib Windows library provided by Josh, all tests that previously exhibited issues have been re-enabled (Dirk in #126).
Changes in RQuantLib documentation:
The CallableBonds
example now sets an evaluation date
(#124).
Thanks to the updated #rwinlib/quantlib Windows
library provided by Josh, examples that were set to dontrun
are re-activated (Dirk in #126). AffineSwaption
remains the sole holdout.
Changes in RQuantLib build system:
The src/Makevars.win
file was updated to reflect the
new layout used by the upstream build.
The -DBOOST_NO_AUTO_PTR
compilation flag is now set.
Changes in RQuantLib code:
The code was updated for release 1.14 of QuantLib.
The code was updated for Boost 1.67 or later (#120 fixing #119, Debian bug report #911957) to support
Fewer examples and tests are running on Windows.
Corrected bond function documentation to use
dayCounter
instead of accruedDayCounter
.
Two new functions addHolidays
and
removeHolidays
enable custom local holiday management
(#115).
Corrected bond function documentation to use
dayCounter
instead of accruedDayCounter
.
Travis CI now uses a custom Docker container, also added a deployment container building on the testing container.
Changes in RQuantLib code:
The old rquantlib.h
header is deprecated and moved to
a subdirectory. (Some OS confuse it with RQuantLib.h
which
Rcpp Attributes like to be the same name as the package.)
(Dirk in #100 addressing #99).
The files in src/
now include
rquantlib_internal.h
directly.
Several ‘unused variable’ warnings have been taken care of.
The Windows build has been updated, and now uses an external QuantLib library from 'rwinlib' (Jeroen Ooms in #105).
Three curve-building example are no longer running by default as win32 has seen some numerical issues.
Two Rcpp::compileAttributes
generated files have been
updated.
Changes in RQuantLib code:
Equity options can now be analyzed via discrete dividends through two vectors of dividend dates and values (Francois Cocquemas in #73 fixing #72)
Some package and dependency information was updated in files
DESCRIPTION
and NAMESPACE
.
The new Date(time)Vector
classes introduced with Rcpp
0.12.8 are now used when available.
Minor corrections were applied to BKTree
, to vanilla
options for the case of intraday time stamps, to the
SabrSwaption
documentation, and to bond utilities for the
most recent QuantLib release.
Changes in RQuantLib code:
Discount curve creation has been made more general by allowing additional arguments for day counter and fixed and floating frequency (contributed by Terry Leitch in #31, plus some work by Dirk in #32).
Swap leg parameters are now in combined variable and allow textual description (Terry Leitch in #34 and #35)
BermudanSwaption has been modfied to take option expiration and swap tenors in order to enable more general swaption structure pricing; a more general search for the swaptions was developed to accomodate this. Also, a DiscountCurve is allowed as an alternative to market quotes to reduce computation time for a portfolio on a given valuation date (Terry Leitch in #42 closing issue #41).
A new AffineSwaption model was added with similar interface to BermudanSwaption but allowing for valuation of a European exercise swaption utlizing the same affine methods available in BermudanSwaption. AffineSwaption will also value a Bermudan swaption, but does not take rate market quotes to build a term structure and a DiscountCurve object is required (Terry Leitch in #43).
Swap tenors can now be defined up to 100 years (Terry Leitch in #48 fising issue #46).
Additional (shorter term) swap tenors are now defined (Guillaume Horel in #49, #54, #55).
New SABR swaption pricer (Terry Leitch in #60 and #64, small follow-up by Dirk in #65).
Use of Travis CI has been updated and switch to maintained fork of deprecated mainline.
Changes in RQuantLib code:
Intra-day times are now available if QuantLib 1.7 or later is
used, and has been configured with --enable-intraday
New helper functions getQuantLibVersion()
and
getQuantLibCapabilties()
New package startup code detects and warns about outdated QuantLib versions, or missing intra-day capability, unless not interactive.
The missing Monthly
parameter has been added to
matchFrequency
(fixing issue ticket #19)
Changes in RQuantLib code:
A simple shiny application is now included in the
directory shiny/DiscountCurve/
and accessible via the new
demo function ShinyDiscountCurve
.
The option surface plotting example in arrays.R
now
checks for rgl by using requireNamespace
.
The files NAMESPACE
and DESCRIPTION
have been
updated to reflect all the suggestions of R CMD check
.
The Travis CI tests now use binary Debian packages for all package dependencies making the tests a little faster.
Changes in RQuantLib code:
All function interfaces have been rewritten using Rcpp
Attributes. No SEXP
remain in the function signatures. This
make the code shorter, more readable and more easily extensible.
The header files have been reorganized so that plugin use is
possible. An impl.h
files is imported once for each compilation
unit: for RQuantLib from the file src/dates.cpp
directory, from
a sourced file via a #define
set by the plugin wrapper.
as<>()
and wrap()
converters have added for
QuantLib Date types.
Plugin support has been added, allowing more ad-hoc use via Rcpp Attributes.
Several Fixed Income functions have been added, and/or rewritten to better match the QuantLib signatures; this was done mostly by Michele Salvadore.
Several Date and Calendar functions have been added.
Calendar support has been greatly expanded thanks to Danilo Dias da Silva.
Exported curve objects are now more parsimonious and advance
entries in the table
object roughly one business month at a
time.
The DiscountCurve
and Bond
curve construction
has been fixed via a corrected evaluation date and omitted the
two-year swap rate, as suggested by Luigi Ballabio.
The NAMESPACE
file has a tighter rule for export of
*.default
functions, as suggested by Bill Dunlap
Builds now use OpenMP where available.
The package now depends on QuantLib 1.4.0 or later.
Changes in RQuantLib tests:
New unit tests for dates have been added.
C++ code for the unit tests has also been converted to
Rcpp Attributes use; a helper function
unitTestSetup()
has been added.
Continuous Integration via Travis is now enabled from the GitHub repo.
Changes in RQuantLib documentation:
This NEWS file has been added. Better late than never, as they say.