Major Changes
New in Derivatives Expert III
New in Derivatives Expert 2
Some of the information below is only informative for current users of Derivatives Expert.
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.
Copyright © 1994-2002 Innova Financial Solutions ApS. All rights reserved. Powered by Apache and Linux Updated September 1'st, 2002
|