The package contains implementations of several optimisation
heuristics: Differential Evolution (DEopt
), Genetic
Algorithms (GAopt
), (Stochastic) Local Search
(LSopt
), Particle Swarm (PSopt
),
Simuleated Annealing (SAopt
) and
Threshold Accepting (TAopt
). The term heuristic is meant
in the sense of general-purpose optimisation method.
Dependencies: The package is completely written in R. A
number of packages are suggested, but they are not
strictly required when using the NMOF package, and
most of the package's functionality is available without
them. Specifically, package MASS is needed to run
the complete example for PSopt
and also in
one of the vignettes (PSlms
). Package
parallel is optional for functions
bracketing
, GAopt
,
gridSearch
and restartOpt
, and
may become an option for other functions. Package
quadprog is needed for a vignette
(TAportfolio
), some tests, and it may be used for
computing mean-variance efficient portfolios.
Package Rglpk is needed for function minCVaR
.
Package readxl is needed to process the raw data in function
Shiller
; package datetimeutils is
used by French
and Shiller
.
PMwR would be needed to run the examples
of the backtesting examples in the NMOF book.
Finally, packages RUnit and tinytest are needed to
run the tests in subdirectory ‘unitTests
’.
Version numbering: package versions are numbered in the
form major-minor-patch
. The patch level is
incremented with any published change in a version.
Minor version numbers are incremented when a
feature is added or an existing feature is substantially
revised. (Such changes will be reported in the NEWS file.)
The major version number will only be increased if
there were a new edition of the book.
The source code of the NMOF package is also hosted at
https://github.com/enricoschumann/NMOF/.
Updates to the package and new features are described at
https://enricoschumann.net/notes/NMOF/.
Optimisation
There are functions for
Differential Evolution (DEopt
),
Genetic Algorithms (GAopt
),
(Stochastic) Local Search (LSopt
),
Simuleated Annealing (SAopt
),
Particle Swarm (SAopt
),
and Threshold Accepting (TAopt
).
The function restartOpt
helps with
running restarts of these methods;
also available are functions for
grid search (gridSearch
) and
greedy search (greedySearch
).
Pricing Financial Instruments
For options: See vanillaOptionEuropean
,
vanillaOptionAmerican
, putCallParity
.
For pricing methods that use the characteristic function, see
callCF
.
For bonds and bond futures: See vanillaBond
,
bundFuture
and xtContractValue
.
Simulation
See resampleC
and mc
.
Data
See bundData
, fundData
and
optionData
.