Major Changes
New
in Derivatives Expert IV
New
in Derivatives Expert III
New
in Derivatives Expert 2
New in Derivatives Expert IV
There
have been changes to Derivatives
Expert
which are not necessarily mentioned below. The updates and
additions of symbols described below account for some of the major
changes. Refer to the individual notebooks for more information.
1.
CalendarTools.nb
The following functions have been added: HoursPlus,
MinutesPlus,
SecondsPlus,
DateTimeGenerate
and TimeLength.
The following optionals (called optionals to
distinguish from financial options) have been added: TimeUnit,
TimeScale,
SplitDateTime
and SQLForm.
The following optional values (values
passed or given to optionals) have
been added: Year,
Month,
Week,
Day,
Hour,
Minute
and Second.
The Derivatives Expert version of DateQ
has been removed because a likewise Mathematica function
has been introduced with Mathematica 6 but note that the
Mathematica DateQ
function allows input of hours, minutes and seconds which the
former Derivatives Expert DateQ
did not.
The following argument types have been added:
datetime,
hours,
minutes
and seconds.
2.
UtilityTools.nb
The following functions have been added:
SymmetricMatrixQ,
Abs1MatrixQ,
NumberMatrixQ,
DateToSQLForm,
TimeToSQLForm,
TableToSQLForm
and CumulativeSum.
The following function has
been removed as of for Mathematica 7 usage because the same
function has been introduced in Mathematica 7:
SymmetricMatrixQ.
3.
DiscountingTools.nb
New updated versions of functions CompoundFactor,
DiscountFactor,
DiscountFactors,
DiscountFactorToInterestRates,
ConvertDiscountFactorBasis
and all other functions that take the optional Compounding
to include the new optional value Continuous2.
5.
TermstructureTools.nb
The function FitInterestRates
has been removed.
EstimateTermStructure
has been updated as of for Mathematica 7.
18.
StatisticalTools.nb
The following functions have been updated:
EstimateVolatility,
Deviation,
Simulate.
The function LogDeviation
has been removed but the functionality integrated into
Deviation.
The
following objects have been updated: Price,
PricePath.
The following optionals have been added: Decomposition,
Method.
The following optional values have been added: Cholesky,
SingularValues,
LogRelativeReturn,
RelativeReturn.
The following new functions, optionals and optional values
have been documented only in the Reference.nb
documentation but information is also available through the
Mathematica function Information[
Symbol].
Functions: PDF2,
RandomArray,
Covariance2,
Correlation2,
AutoCorrelation2,
TakeMean,
HistogramForm,
EmpiricalDistributionForm,
ProbitForm.
Objects: Gaussian,
MultiGaussian.
Optional values: BoxMuller1,
Random1.
New in Derivatives Expert
III
The manual now consists of 23 notebooks and
corresponds to a total of approximately 800 pages. The
documentation is fully interactive with substantial use of
hyperlinks, graphics, editable code etc. The underlying
packages/modules consist of approximately 25000 lines of compact
Mathematica and Java programming code.
1.
CalendarTools
DateQ,
LeapYearQ,
YearsInPeriod
are now cached for performance reasons. Many functions use these
three functions indirectly and are therefore speeded up.
The internal calculation of Easter Sunday has been
optimized. Many holidays are measured with reference to Easter
Sunday so functions that make corrections for business
days/working days are also improved.
2.
UtilityTools
The
following nine functions have been added: NonNegativeListQ,
PositiveIntegerQ,
NonNegativeIntegerQ, UnionSum,
OldEuroCurrencyQ, DiagPos,
WrapSingleQuotes, NotNumericQ,
NonNumericPos.
3.
DicountingTools
Compiled and non-compiled versions of
CompoundFactor,
DiscountFactor
are now available. A new optional has therefore been introduced:
CompiledDF.
All functions of the DiscountingTools.m
package are now faster. A choice can now be made on whether to
work with fast functions using "infinite" precision
numbers, or to work with even faster functions using machine
precision numbers.
4.
CashFlowTools
The symbol AccruedInterest
is now used both as a symbol for the function AccruedInterest
and for the optional AccruedInterest.
5.
TermStructureTools
The function FitInterestRates
with three different versions has been added.
The return
format of the function InterpolateInterestRates
is now of the standard Mathematica type
InterpolatingFunction.
6.
PricingTools
A new optional has been introduced, CompiledDF,
for ImplicitYield
and PresentValue.
A choice can now be made on whether to work with fast functions
using "infinite" precision numbers, or to work with even
faster functions using machine precision numbers.
7.
StaticRiskTools
A new optional has been introduced, CompiledDF,
for Duration
and TermStructureRisk.
A choice can now be made on whether to work with fast functions
using "infinite" precision numbers, or to work with even
faster functions using machine precision numbers.
8.
Bonds
A new optional has been introduced, CompiledDF,
for ImplicitYield,
PresentValue,
Duration
and TermStructureRisk. A
choice can now be made on whether to work with fast functions
using "infinite" precision numbers, or to work with even
faster functions using machine precision numbers. CompiledDF
can be used with all bond objects.
AccruedInterest
has been added as an optional to the bond objects Annuity,
Bullet
and Serial
so that there is now a choice of including accrued interest or
not. In earlier versions of Derivatives Expert accrued
interest was always included.
9.
MortgageBackedObligations
A new optional has been introduced, CompiledDF,
for ImplicitYield,
PresentValue
and TermStructureRisk. A
choice can now be made on whether to work with fast functions
using "infinite" precision numbers, or to work with even
faster functions using machine precision numbers. CompiledDF
can be used with the MBO object PassThrough.
AccruedInterest
has been added as an optional to the mortgage backed obligation
object PassThrough
so that there is now a choice whether to include accrued interest
or not. In earlier versions of Derivatives Expert, accrued
interest was always included.
10.
Floaters
A new optional, SettlementDays,
has been introduced for use with the general amortization version
of Float.
A new optional has been introduced, CompiledDF,
for CashFlow,
TheoreticalPrice,
PresentValue
and TermStructureRisk. A
choice can now be made on whether to work with fast functions
using "infinite" precision numbers, or to work with even
faster functions using machine precision numbers. CompiledDF
can be used with the Floaters object Float.
Many examples in Floaters.nb
have been revised or rewritten.
11.
Forwards
A new optional has been introduced, CompiledDF,
for CashFlow,
TheoreticalPrice,
PresentValue
and TermStructureRisk. A
choice can now be made on whether to work with fast functions
using "infinite" precision numbers, or to work with even
faster functions using machine precision numbers. CompiledDF
can be used with the Forwards objects Forward,
MoneyMarketForward,
ForwardRateAgreement
and ForeignExchangeForward.
12.
Swaps
Two new objects, Fixed
and Floating,
have been introduced for use with the swap objects
InterestRateSwap
and PlainCurrencySwap.
A new optional has been introduced, CompiledDF,
for CashFlow,
TheoreticalPrice,
UnitPresentValueChange,
PresentValue
and TermStructureRisk. A
choice can now be made on whether to work with fast functions
using "infinite" precision numbers, or to work with even
faster functions using machine precision numbers. CompiledDF
can be used with the swap objects InterestRateSwap
and PlainCurrencySwap
and their respective legs.
AccruedInterest
has been added as an optional to the swap objects so that there is
now a choice of whether of including accrued interest or not. In
earlier versions of Derivatives Expert accrued interest was
always included, although swaps normally do not incorporate
accrued interest.
All examples in Swaps.nb
have been revised or rewritten.
13.
- 16. Options
Three additional and new binomial options have been
added: Binomial3,
Binomial4
and Binomial5.
With these new options, the optional DividendSpecification
has been introduced. It enables a choice between (1) times of
dividends specified as years or as (trading) periods, (2)
dividends given as a percentage or as a monetary amount.
Also
refer to the section below, 19. Exotics.
17.
DatabaseTools
New database functionality, functions and methods to
connect to multiple databases on multiple machines at the same
time, have been added. There are functions to fetch data in a
completely general way by using the appropriate and industry
standard SQL commands that are valid for the given Java version,
the given JDBC database driver and the given database itself.
Commands like SELECT, UPDATE,
DELETE , CREATE,
DESCRIBE and INSERT
can be used with excellent performance.
Tests have been
done on the Windows platform and on the Linux platform with Oracle
and MySQL databases. The functionality should also work directly
on other platforms e.g. Unix and Mac OS X, with many other
appropriate JDBC drivers and databases such as IBM DB2, Sybase,
Microsoft SQL Server and small databases like Microsoft Access.
Three new functions have been added,
DBCloseConnection,
DBConnection
and SQLCommand.
An optional called OutputFormat
has been added. Through the setting of OutputFormat
different types of data formats can be returned, namely list of
list of expressions, string or XML.
18.
StatisticalTools
Fast simulation of prices and price paths with the
use of monte carlo methods have been added. Millions of random
prices can be simulated in seconds on a standard computer. The
limits to the absolute number of simulations and the execution
speed is limited only by the given hardware.
Four new functions and two objects have been added.
These are Simulate,
Price,
PricePath EstimateVolatility,
Deviation
and LogDeviation.
Simulate[ Price[]]
generates (financial asset) prices at the time-of-maturity (equal
to theta).
Simulate[ PricePath[]]
simulates a number of price paths from time zero (spot) to time
theta (T) having p equidistant or non-equidistant times of trading
along the price paths.
The simulations can be done in the
multivariate case too where the stochastic processes can be
correlated.
19.
Exotics
Functions for simulation of option prices using
monte carlo methods have been added. The limits to the absolute
number of simulations and the execution speed is limited only by
the given hardware.
EuropeanArithmeticAverageCallOption EuropeanArithmeticAveragePutOption
EuropeanArithmeticAverageStrikePutOption EuropeanArithmeticAverageStrikeCallOption
EuropeanGeometricAverageCallOption
EuropeanGeometricAveragePutOption
EuropeanGeometricAverageStrikeCallOption
EuropeanGeometricAverageStrikePutOption
The arithmetic average
Asian options and the geometric
average Asian options also cover forward-start average options
where the averaging period is deferred.
New in Derivatives Expert 2
All
Notebooks
Hyperlinks are now used extensively
within notebooks and between notebooks. Instead of using private
stylesheets within each notebook, the notebooks now share a common
stylesheet.
ExoticOptions1.nb
This is a new chapter covering about 40 different
path dependent exotic options.
ExoticOptions2.nb
This is a new chapter covering about 28 different
correlation or multiasset exotic options.
OptionsGraphics.nb
A section about graphic animations
has been added.
Zhang.m
This is a completely new package
that holds all the different exotic option pricing models. This
package is now the largest package of Derivatives Expert
and comprises almost 5000 lines of compact Mathematica
programming code. Documentation and examples are found in the
notebooks ExoticOptions1.nb and ExoticOptions2.nb.
CoxRossRubinstein.m
The Binomial3 option pricing model has been
added.
TermStructureTools.m
The function EstimateTermStructure now
takes arguments of the numeric type (NumericQ). In
version 1 the arguments had to be numbers (NumberQ).
CashFlowTools.m
The functions: UnionCashFlow, AddCashFlows,
SubtractCashFlows and MakeCashFlowMatrix have
all been updated to accept either machine precision zeroes or
exact zeroes as thetas in the non-calendar time versions. In
version 1 the thetas had to be exact zeroes in the non-calendar
time versions.
PricingTools.m
In the non-calendar time versions of the functions
PresentValue and ImplicitYield the argument
cashflow now accepts either machine precision
zeroes or exact zeroes as thetas. In version 1 the thetas had to
be exact zeroes the non-calendar time versions.
StaticRiskTools.m
In the non-calendar time version of the function
Duration the argument cashflow now
accepts either machine precision zeroes or exact zeroes as thetas.
In version 1 the thetas had to be exact zeroes in the non-calendar
time versions. The function SubtractPresentValues has
been updated to accept a mixture of machine precision zeroes and
exact zeroes as presentvalue inputs.
Floaters.m
The non-calendar time version of Float has
been corrected to treat machine precision zeroes and exact zeroes
properly.
All Packages And All Notebooks
The function NotNegativeQ has been replaced
by the function NonNegative. The function NNumberQ
has been replaced by the function NumericQ. The
function PositiveNNumberQ has been replaced by the
function Positive.
The function NNumberSymbolQ is now called
NumericSymbolQ. The function NotNNegativeListQ
is now called NonNegativeListQ. The function
NPositiveListQ is now called PositiveListQ.
|