Release Notes for TIBCO Spotfire S+FinMetrics 3.0.4 (November 2008) The product name is the only change in version 3.0.4. S+FinMetrics is now TIBCO Spotfire S+FinMetrics. ************************************************************************ Contents of these Release Notes ************************************************************************ * SUPPORTED PLATFORMS AND SYSTEM REQUIREMENTS * WHAT'S NEW * FIXED BUGS * RUNNING Spotfire S+FinMetrics * KNOWN ISSUES * CONTACT INFORMATION FOR FEEDBACK * NEW FUNCTIONS ************************************************************************ SUPPORTED PLATFORMS AND SYSTEM REQUIREMENTS ************************************************************************ Spotfire S+FinMetrics requires TIBCO Spotfire S+ 8.1 or later on Windows, Solaris, or Linux platforms. See the Spotfire S+ 8.1 Release Notes for information about operating system and system configuration requirements. ************************************************************************ WHAT'S NEW ************************************************************************ The following is a list of features new in the Spotfire S+FinMetrics 3.0 release: New functions: Spotfire S+FinMetrics now provides a wide variety of functions for option pricing, bond pricing, and related tasks. In addition, the state-space time series modeling capabilities within Spotfire S+FinMetrics have been enhanced and high-frequence time series manipulation functions have been added. The following is a list of functional areas for this module: * Vanilla Options * Exotic Equity Option (American) * Exotic Equity Option (European) * Exotic Path Dependent Option (European) * Dynamic Hedging * FI Derivatives * FI Security Calculations * Cash Flow & Utility Functions * High Frequency time series manipulation * State-Space modeling A list of functions by topic is available at the end of this document. ************************************************************************ FIXED BUGS ************************************************************************ function: pgarch() Now supports the correct setting of power.value argument. function: persp.dbivd(), contour.dbivd(), persp.pbivd(), contour.pbivd() Added a value argument. If value="list", a plot is created. If value="trellis", a trellis object is created. function: timeChange(), exchangeOpen() and excludeTimes() These three functions now work with bdTimeSeries. ************************************************************************ RUNNING Spotfire S+FinMetrics ************************************************************************ After you install Spotfire S+FinMetrics, you can run the module from the Spotfire S+ command line by typing: > module(finmetrics) In Spotfire S+ for Windows, you can also load Spotfire S+Finmetrics by choosing File > Load Module > finmetrics. ************************************************************************ CONTACT INFORMATION FOR FEEDBACK ************************************************************************ Please feel free to contact us with questions about this release. For technical support, please visit http://spotfire.tibco.com/support and register for a support account. We are very interested in receiving your comments and suggestions for improving Spotfire S+Finmetrics. ************************************************************************ NEW FUNCTIONS ************************************************************************ ## Vanilla Options bsmAMBAW: Compute American options with continuous dividend yield using BAW approximation. bsmAMBS: Compute American options with continuous dividend yield using BS approximation. bsmAMParity: Compute American options using parity. bsmCallOneDivAM: Compute American call options with one cash dividend. bsmCondivBinom: Compute American or European options with continuous dividend yield using binomial tree approximation. bsmCondivFD: Compute American or European options with continuous dividend yield using finite difference approximation to Black-Scholes PDE. bsmCondivTrinom: Compute American or European options with continuous dividend yield using trinomial tree approximation. bsmDiscDivAMBinom: Compute American options with discrete cash dividend using binomial tree approximation. bsmEU: Compute the generalized Black-Scholes for European options. bsmEUParity: Compute European options using parity. bsmFuturesAM: Pricing American options on futures. bsmFuturesEU: Pricing options on futures with Black-Scholes. bsmFXAM: Pricing American options on foreign exchanges. bsmFXEU: Pricing options on foreign exchanges with Black-Scholes. bsmPerpetualAM: Compute perpetual American options. bsmStockAM: Pricing American options on stocks by formula (analytic approximation, binomial, trinomial or finite difference method). bsmStockEU: Pricing options on stocks with Black-Scholes. jdEU: Compute Merton jump diffusion model for European options. opBinomCashFlow: Pricing arbitrary cash flow streams (in a lower triangular matrix tree format). opBinomTree: Construction of a general stock price binomial tree. svolEUMC: Computes the price of a Plain Vanilla European Option with Monte Carlo simulation cevEUMC: Computes the price of a European option using Monte Carlo Simulation under the Generalized Constant Elasticity of Variance model proposed by Cox and Ross (1976) ## Exotic Equity Option (American) bsmBarrierBinom: Pricing standard American or European barrier options using binomial tree. bsmBermudanBinom: Pricing standard Bermuda options. bsmBinaryAM: Pricing standard American binary options (one-touch options). bsmDualStrikeBinom: Pricing American and European option with dual strikes by 3D binomial tree. bsmExchangeAM: Pricing American style exchange one asset for another options by BS approximation. bsmMaxMinBinom: Pricing American and European option on max or min of two assets by 3D binomial tree. bsmSpreadBinom: Pricing American and European option on spread of two assets by 3D binomial tree. ## Exotic Equity Option (European) bsmBinaryEU: Pricing standard European binary options. bsmBinaryTwoAssetEU: Pricing two asset cash or nothing options. bsmComplexChooserEU: Pricing complex chooser options. bsmCompoundOptionEU: Pricing options on options. bsmEqLinkedFXEU: Pricing equity linked foreign exchange options. bsmExchangeEU: Pricing European style exchange one asset for another options. bsmExecutiveEU: Pricing executive stock options. bsmForEqInDomCurEU: Pricing foreign equity options struck in domestic currency. bsmForwardStartEU: Pricing forward start options. bsmGapEU: Pricing gap options. bsmMaxMinEU: Pricing max or min of two assets options. bsmQuantoEU: Pricing Quanto options. bsmRatchetEU: Pricing moving strike options. bsmSimpleChooserEU: Pricing simple chooser options. bsmSpreadEU: Pricing options on spread of two futures contract by Kirk’s approximation. bsmSupershareEU: Pricing supershare options. bsmTimeSwitchEU: Pricing time switch options. bsmTwoAssetCorEU: Pricing two-asset correlation options. bsmWriterExtendEU: Pricing options that are extendible by writer. ## Exotic Path Dependent Option (European) bsmAsianArithFixedEULevy: Pricing Asian arithmetic average rate option by Levy approximation. bsmAsianArithFixedEUTW: Pricing Asian arithmetic average rate option by TW approximation. bsmAsianGeomEU: Pricing Asian geometric average rate option. bsmBarrier: Pricing standard barrier option. bsmBarrierDoubleEU: Pricing double barrier option. bsmBarrierLookEU: Pricing look barrier option. bsmBarrierPartialEU: Pricing partial time barrier option. bsmBarrierPartialTwoAssetEU: Pricing partial time two asset barrier option. bsmBarrierSoftEU: Pricing soft barrier option. bsmBarrierTwoAssetEU: Pricing two asset barrier option. bsmBinaryBarrierEU: Pricing binary barrier option. bsmLookbackExtremeSpreadEU: Pricing lookback option on extreme spread. bsmLookbackFixedEU: Pricing lookback option with fixed strike bsmLookbackFloatEU: Pricing lookback option with floating strike. bsmLookbackPartialFixedEU: Pricing lookback option with partial time fixed strike. bsmLookbackPartialFloatEU: Pricing lookback option with partial time floating strike. opBarrierAdj: Monitoring adjustment for European discrete barrier option. ## Dynamic Hedging impTreeEUTrinom: Implied trinomial tree; local volatility fitting; alternative option pricing. opDelta: Generic delta hedging function (by numeric approximation). opDeltaBSM: Compute delta for B-S options. opGamma: Generic gamma hedging function (by numeric approximation). opGammaBSM: Compute gamma for B-S options. opImpVol: Generic function for computing implied volatilities for all classes of options (using numeric approximation). opLambda: Generic lambda hedging function (by numeric approximation). opLambdaBSM: Compute lambda for B-S options. opRho: Generic rho hedging function (by numeric approximation). opRhoBSM: Compute rho for B-S options. opSenCostCarry: Ceneric Cost of Carry hedging function (by numeric approximation). opSenCostCarryBSM: Compute sensitivity to Cost of Carry for B-S options. opTheta: Generic theta hedging function (by numeric approximation). opThetaBSM: Gompute theta for B-S options. opVega: Generic vega hedging function (by numeric approximation). opVegaBSM: Compute vega for B-S options. ## FI Derivatives bdtBondOption: Pricing European or American zero coupon bond option using BDT interest rate model. bdtCapFloor: Pricing caps/floors using BDT interest rate model. blackBondOption: Pricing bond option using Black 76 or modified Black. blackCaplet: Pricing caplet using Black 76. blackFloorlet: Pricing floorlet using Black 76. blackSwaption: Pricing swaption using Black 76. fiConvBondBinom: Compute convertible bond prices using binomial tree approximation. fiEurodollar: Compute LIBOR term structure based on Eurodollar futures contracts. fiForwardPrice: Futures / forward contract pricing. fiFuturesPrice: Gutures / forward contract pricing. fiSwapCurve: Compute swap curve based on current term structure. fiSwapPrice: Compute the receiving-float-pay-fixed swap contracts based on discount/forward rates. opBDTCashFlow: Pricing an arbitrary cash flow tree using BDT interest rate tree. opBDTTree: Construct a BDT interest rate tree given the current term structure and zero volatility. ## FI Security Calculations siaAccruedInterest: Calculate the accrued interests for all bond objects. siaBond: To initialize objects of bond, DiscountInst, IntAtMaturity, CouponBond, zeroCoupon or stepCouponBond class. siaCouponBondCashFlow: Find, compute, and generate cash flows in form of signalSeries for all coupon paying bonds that do not follow MSRB rules. siaCouponBondPrice: Calculate the price for all coupon paying bonds that do not follow MSRB rules. siaCouponBondYield: Calculate the yield for all coupon paying bonds that do not follow MSRB rules. siaDayCount: SIA day counting function (replacing days.count in FinMetrics 1.0). siaDiscountAmount: Calculate the discount amount for DiscountInst objects. siaDiscountRate: Calculate the discount rate given price for DiscountInst objects. siaEndMonthDay: Return the end of month date given month and year. siaFirstCouponDate: Find the first coupon dates after issuance of bond objects. siaFutureCouponDates: Find all future real and quasi coupon payment dates until some given dates. siaJoinBond: Combine 2 bond objects and make them one. siaLastCouponDate: Find the last coupon dates before redemption of bond objects. siaMuniBondCashFlow: Find, compute and generate cash flows in form of signalSeries for municipal coupon bonds. siaMuniBondPrice: Calculate the price for municipal coupon bonds. siaMuniBondYield: Calculate the yield for municipal coupon bonds. siaNextCouponDate: Find the next real and quasi coupon payment dates given any dates. siaPastCouponDates: Find all previous real and quasi coupon payment dates until some given dates. siaPrevCouponDate: Find the previous real and quasi coupon payment dates given any dates. siaPrice: Bond price function. siaPrice.siaBond: PRICE method function for bond class objects. siaPrice.siaCouponBond: PRICE method function for CouponBond class objects. siaPrice.siaDiscountInst: PRICE method function for DiscountInst class objects (replacing bond.billprice in FinMetrics 1.0). siaPrice.siaIntAtMaturity: PRICE method function for IntAtMaturity class objects. siaPrice.siaStepCouponBond: PRICE method function for stepCouponBond class objects. siaPrice.siaZeroCouponBond: PRICE method function for zeroCouponBond class objects. siaSelectBond: Select bond objects from a collection of bond objects. siaSyncDate: Find the sync dates of bond objects. siaValidBond: Validity check function of bond class objects. siaYield: Bond yield function. siaYield.siaBond: YIELD method function for bond class objects (annualized). siaYield.siaCouponBond: YIELD method function for CouponBond class objects. siaYield.siaDiscountInst: YIELD method function for DiscountInst class objects. siaYield.siaIntAtMaturity: YIELD method function for IntAtMaturity class objects. siaYield.siaZeroCouponBond: YIELD method function for zeroCouponBond class objects. ## Cash Flow & Utility Functions bond.bootstrap: Model-based bootstrapping given limited par bond yield data. bond.par: Converting from limited spot or discount rates to a par bond yield curve. cfAmortize: Calculate the amortization schedule given the present value and/or future value of a loan. cfConvexity: Calculate convexity of any number of arbitrary cash flow streams with their compounding frequencies. cfDepreciate: Calculate the depreciation schedule based on straight-line, sum of year digit, and general declining balance depreciation methods. cfDuration: Calculate durations of any number of arbitrary cash flow streams with their compounding frequencies. cfEffrr: Convert a vector of nominal rate of returns to effective rate of returns. cfFutureValue: Calculate future values of any number of arbitrary cash flow streams with their compounding frequencies. cfIrr: Find internal rate of returns of any number of arbitrary cash flow streams with their compounding frequencies. cfNomrr: Convert a vector of effective rate of returns to nominal rate of returns. cfPayment: Calculate the periodic payment given the present value and/or future value of a loan. cfPresentValue: Calculate present values of any number of arbitrary cash flow streams with their compounding frequencies. fiBondPrice: Bond pricing given term structure. ## High Frequency activityTime: Makes a timeDate or bdTimeDate vector, with time re-scaled so that ticks are equally spaced within each time period. dayPlot: Plot time series with each day in a separate Trellis graphics panel. exchangeOpen: Calculates whether an exchange is open or not at each of the times in a timeDate or bdTimeDate vector. excludeTimes: Drops observations from a timeSeries or bdTimeSeries based on when an exchange is open or closed. intervalApply: Applies an aggregating function to combine intervals of timeSeries or bdTimeSeries data into one series. naInterval: Computes times between NA values, or counts of consecutive NA values in a bdTimeSeries or timeSeries. priceChange: Computes price changes for a timeSeries or bdTimeSeries restricting to times when the exchange is open. realizedCor: Calculates the realized variance, covariance, correlation, and volatility of time series trade data. realizedCov: Calculates the realized variance, covariance, correlation, and volatility of time series trade data. realizedVar: Calculates the realized variance, covariance, correlation, and volatility of time series trade data. realizedVol: Calculates the realized variance, covariance, correlation, and volatility of time series trade data. seriesClean: Removes NA values and observations that are more than a given number of standard deviations of the mean. seriesReorder: Returns the series re-ordered so the positions are in ascending order. seriesRep: Extends a series by replication to new positions. timeChange: Computes times between ticks for a timeSeries or bdTimeSeries, restricting to times when the exchange is open. timeSeqExchange: Construct a regularly spaced timeDate object, excluding times when the exchange is closed. tradeDirection: Calculates whether ticks represent buy or sell trades. ## State-Space Modeling KalmanFilMean: Performs Kalman filtering given the response variables or the observables and a state space form representation SsfMomentEstMulti: Returns the mean and variance of multi-step ahead predicted variables. AddSsfReg: Add regressors to a time-invariant state space model and create a new model. SsfCombine: Combine two state space models through their system or variance matrices. SsfCombineSym: Combine two state space models through their system or variance matrices SsfForecast: Out-of-sample multi-step ahead forecast with their mean square errors. GetSsfSarima: Returns the minimal necessary components for a state space form of a univariate (integrated seasonal) autoregressive and moving average model with or without regressors.