Deriscope

The Excel Derivatives Periscope

Version History

18 Aug 2019 version 6.2.0

New Features:

  • Added the local function Fair Rate applicable on objects of type Inflation Swap. It takes as input an inflation curve and optional historical index fixings. It returns the rate that the fixed leg needs to have so that the price of the referenced swap becomes zero.

Bug Fixes:

  • The local functions Fair Rate and Fair Spread applicable on objects of type Vanilla IRS and Overnight Index Swap did not accept historical index fixings as input. In fact, the calculation made use of historical fixings that may had been registered with the respective indices during prior runs of the Price function. The consequence of this hidden, implied reliance on historical fixings used elsewhere was that the output of these two functions depended on the order by which the spreadsheet formulas were calculated. Thus the output was often an error message, which would be replaced with the correct number after a recalculation attempt.
    Now historical index fixings are an optional input to these functions, defaulting to no fixings if this input is absent.Note this change might break backward compatibility in those spreadsheets that rely on historical fixings but happened to work properly due to a coincidental order of the involved calculations.
  • The dsPipe failed if any one cell in its input range contained an error.

Improvements:

Other:

16 Aug 2019 version 6.1.0

New Features:

  • Added the utility spreadsheet functions dsSubRange, dsReplace, dsSort under the Insert Function menu item of the wizard's Tools button.
    dsSubRange extracts a specified subset of the input range and can be used in constructing the input range to a ds formula when the exact size of that range is not fixed. It has the major advantage over other approaches based on the built-in Excel INDIRECT formula in that it is not volatile.
    dsReplace returns the data of the input range, but with a specified subset replaced with new data. It can be used in constructing the input range with modified data to a ds formula out of an existing range that contains the initial data, without the need to create a separate range that holds the modified data.
    dsSort returns the data of the input range, but reordered according to specified criteria.

Bug Fixes:

  • Modifying the trade date on the wizard or calling the Price function with a modified trade date input had a sticking effect on the historical fixings registered with QuantLib that resulted in wrong output in subsequent calculations.

Improvements:

Other:

07 Aug 2019 version 6.0.0

New Features:

  • Extended the Price function so that it can run with respect to a) a supplied valuation date that may differ from today's date and b) a subset of the original input data replaced with new temporary values. This allows, for example, to compute the DV01 array of a tradable product with respect to a future valuation date and under the condition that part of the input market rates have certain values.

Bug Fixes:

  • Excel crash occured when the live data section of a Stock object was pasted as a formula in the spreadsheet.

Improvements:

  • Further improved the efficiency of the flat and non-flat delta risk generation.
  • Sped up the execution of the generic Fair Value function by a factor of 10.

Other:

  • Restricted the access to the non-flat delta risk generation (such as the by-bucket or tenor-based yield curve DV01) to users holding a professional Deriscope license. In effect, this change breaks backward compatibility for all users who hold a standard license and use non-flat delta risk. Such users should either purchase a professional license or refrain from upgrading to this version.

17 Jul 2019 version 5.10.0

New Features:

  • Added the optional key Delta Def in the model objects that control the delta risk calculation. This new key can be set to either NPV Change or Ratio, with the default being NPV Change. (This change is not backward compatible)
  • Now the functions that calculate the price and risk of a Portfolio also return the prices and risks of its constituents.

Bug Fixes:

Improvements:

  • Substantially improved the error message generated when the Create function fails due to unrecognized key input. It now includes a clickable element that resets the wizard to contain the default form of the Create function with its correct set of input keys.
  • Optimized the calculation of the flat and by-bucket delta risk of all tradables with respect to any input of type inheriting from Valuation. A typical example is the flat and by-bucket DV01 of any tradable with respect to the market rates of a particular yield curve, when the latter is part of the pricing input.
  • Made the execution time (in seconds) always part of the returned Valuation object, regardless of the setting of the input Extra Data parameter.

Other:

17 Jun 2019 version 5.9.1

New Features:

Bug Fixes:

  • Memory leak observed during risk calculation when implied yield curves are involved.

Improvements:

  • Optimized the by-bucket risk calculation so that only the affected market elements are recomputed for each bucket rate shift. Depending on context, the efficiency gained in terms of execution time may exceed 50%.

Other:

11 Jun 2019 version 5.9.0

New Features:

  • Added the generic ability to create a yield curve implied from other given yield curves and various market data. Now the wizard presents a choice called Implied when a new curve is created.
    The first implemented case concerns the creation of an implied discounting curve - typically representing a riskless (OIS) curve - as implied by a given discounting curve in another currency plus cross currency basis swaps. Such an implied curve is the appropriate discounting curve that should be used in the pricing of instruments (eg swaps) denominated in a given currency that are collateralized in a different currency.
    The second implemented case concerns the creation of an implied forecasting curve as implied by a given market curve without an embedded discounting curve plus a given separate discounting curve. This implied curve takes no input market rates and relies solely on the two pre-built input curves.
    In all cases, the resulting implied curve is based on a curve that is being synthesized from the inputs. The thus synthesized curve is displayed as a read-only component of the returned Yield Curve object under the key Synthesized Curve.
  • In parallel to the existing %Riskless Issuer, introduced the %Risky Issuer trivial handle name that represents a default object of type Issuer. This is particularly handy in the context of dual curve pricing, since it allows the user to "mark" any curve as "risky" by simply adding the key-value pair Issuer= %Riskless Issuer in the input data of its Create function.
  • Added optional unit specifier in keys and table titles, as follows: Any key labeled "KeyName=" or table title labeled "#TitleName" can be optionally replaced by "KeyName(x)=" and "#TitleName(x)", where x can be one of N, %, bp, K, M, B. Then any input numerical value associated with that key or title will be interpreted as number of x units. For example, the key-value pair Rate(%)= 2.3 will mean a rate of 0.023 or 2.3%. Similarly the key-value pair Notional(M)= 10 will mean a notional of 10,000,000. The specifier N means Natural and has no effect on the associated value. It is the default in the sense that Rate(N)= 0.023 is the same as Rate= 0.023

Bug Fixes:

Improvements:

  • The changes below are not backward compatible. Please use the wizard to create the correct formulas.
  • Renamed the keys Dom Ccy, For Ccy used in FX and FX Value to Quote Ccy, Base Ccy respectively, as these are the standard references to the currencies in a traded currency pair.
  • Replaced all traces of Dom and For in keys where no domestic or foreign context is apparent with Src and Tgt respectively. Those domestic and foreign quantities are now understood as source and target quantities respectively.
  • Renamed the keys Overnight Index, Payment Lag, Payment Frequency, Tel Value Dates used in yield curve creation from OIS rates to ON Index, Pmt Lag, Pmt Freq, Tel Dates respectively.
  • Renamed the key Discounting Curve used in certain yield curve creation contexts to Disc Curve.
  • Several key renamings affecting the optional Interpolation input object in yield curve creation.

Other:

  • IMPORTANT: All Deriscope licensed users are strongly advised to download and install this or a later version before their free Deriscope upgrade status expires! The reason is that all previous versions carry a bug that may manifest itself after a windows 10 upgrade and results in treating the existing Deriscope assembly as having been installed when the windows upgrade took place. The consequence is fatal as the license then refuses to load the assembly, with the consequence that Deriscope becomes inaccessible!

27 May 2019 version 5.8.0

New Features:

  • Added yield curve bootstrapping capability out of interest rate tenor basis swaps
  • Added yield curve bootstrapping capability out of forward starting cross currency basis swaps.
  • Added yield curve bootstrapping capability out of non-standard cross currency basis swaps, whereby one or both of the legs may carry an index multiplier and/or a spread. In particular, setting one or both of the index multipliers to zero allows for yield curve generation out of fixed-to-fixed and fixed-to-floating cross currency basis swaps.
  • Added the new interpolation methods Compounded Linear and Compounded Cubic in yield curve construction that respectively apply linear and cubic interpolation on a rate (typically zero rate) that is discretely rather than continuously compounded.
  • Significantly enhanced yield curve diagnostics by reporting full cash flow information regarding the input market rates.
    In particular, when N market rates are used in a yield curve construction, this new information is presented as an array of N tables, where the ith table contains the detailed cash flows associated with the ith market instrument.
    Importantly, this information is made available even if the yield curve fails to be built so that the user can easier investigate the source of failure. A few instrument types, such as deposit rates, are not supported. This new functionality does not incur any efficiency loss because the tables are populated on demand, only when the user decides to inspect their contents.
  • Added a function in Vanilla IRS that calculates and returns the fair spread on the floating leg.
  • Added functions in Currency Swap that calculate and return the fair domestic and foreign spreads on the domestic and foreign Ibor index respectively. These functions obviously apply on currency swaps that are of Ibor vs Ibor type.
  • Added functions in Overnight Index Swap that calculate and return the fair rate and spread.
  • Added the time unit L that represents a time period of four weeks, sometimes also referred as Lunar month or Lunar period. It follows that a time period of xL is fully equivalent to 4xW for any integer x. This unit is useful in markets - such as the Mexican - where swaps roll on a four-week cycle.
  • Added the currency-specific ibor indices with custom defined tenor: AUDbbsw, CZKPribor, DKKCibor, HKDHibor, HUFBubor, IDRIdrfix, INRMifor, KRWKoribor, MXNTiie, NOKNibor, NZDBKBM, PLNWibor, SEKStibor, SGDSibor, SGDSor, SKKBribor, TWDTaibor
  • Added the currency-specific overnight indices: CHFTois, CORRA, Tonar
  • Added the function Get Holidays that returns all dates between two given dates that are regarded as holidays by a given calendar.

Bug Fixes:

  • The yield curve interpolation methods Log Linear and Log Cubic always failed, when used with a modelled quantity of type Zero Yield.
  • Incorrect construction of Ibor Rate objects with custom conventions.
  • The forward starting, pre-defined overnight rates CADLibor, CHFLibor, EURLibor, GBPLibor, JPYLibor, USDLibor were not correctly implemented.

Improvements:

  • Several yield curve interpolation methods led to failure, due to not being compatible with the input interpolator object. This made the respective items in the local cell validation dropdown to appear with the (na) prefix. Now an incompatible interpolator object is ignored and the curve stripping proceeds based on a default interpolator object that is compatible with the specified interpolation method.
    The big advantage is that the user may now switch through the various interpolation methods and immediately see the results, without having to modify the input interpolator object.
  • Substituted the entry of calendar daily deposit tenors with business daily tenors in the yield curve construction because QuantLib interpretes daily deposit tenors in business day sense. So an entry like %3D is not any more allowed and should be replaced with %3B. (This change is not backward compatible)
  • Lowered the criteria according to which a yield curve is regarded as a valid input in any pricing context. Now only its currency - and not its issuer - needs to match the currency being applicable in the given context, as long as only one yield curve with that currency is present. If more than one curves with the same currency are present, the issuer of those curves becomes relevant to curve selection.

Other:

  • Renamed the keys Quote Ccy, Base Ccy, Quote Calendar, Base Calendar within the types FX and FX Value into Dom Ccy, For Ccy, Dom Calendar, For Calendar respectively in order to match the naming used in other related types. (This change is not backward compatible)
  • Renamed the keys Settlement Days and Settlement Rule into Settle Days and Settle Rule respectively in order to make them shorter. (This change is not backward compatible)

17 Apr 2019 version 5.7.0

New Features:

Bug Fixes:

  • Various fixes relating to the new Price Simple function.

Improvements:

  • Enhanced the Revalue function of the Valuation type and the Price Simple function of the Tradable type in that the edited parameter value can now be either a number or a date.

Other:

11 Apr 2019 version 5.6.0

New Features:

  • Added a category of products called Structured under the Portfolio group. Inside that category added the first product called Asset2 Linked, the payout of which resembles that of a European option on an underlying being the minimum of the prices of two assets as observed on maturity. In addition, a) a leverage factor is in effect under the condition that the total return does not exceed a specified threshold and b) a loss is realized if the minimum falls below a certain trigger.

Bug Fixes:

  • Various fixes relating to the new Price Simple function.

Improvements:

  • Several of the Price Simple function inputs are now allowed to also be handles of already created objects. For example, the Int Rate input can be a single number such as 0.01, but it can also equal the handle name of an object of type Yield Curve that has been created elsewhere in the spreadsheet.

Other:

05 Apr 2019 version 5.5.0

New Features:

  • Introduced the new local function Price Simple applicable to most Tradable objects. It acts similar to the Price function, but it has the advantage that all market data are supplied in a much more compact form as elements of a single object. It also contains optional flags that allow for the calculation of the fair value of any given parameter, the repricing based on modified input data and the repricing based on a modified trade date. It conveys therefore similar benefits to those of the Fair Value and Revalue functions introduced in the previous version.

Bug Fixes:

  • In 5.1.0 a fix was introduced that involved the forced termination of Excel in those cases when the user quit Excel after live feeds had been running in asynchronous mode. That fix had the drawback of potentially interfering with the terminating behavior of other installed addins. Now that fix has been fixed - i.e. removed - so that Excel quits normally without forced termination.

Improvements:

Other:

28 Mar 2019 version 5.4.0

New Features:

  • Introduced the new local function Revalue applicable to all objects of type Valuation that happen to contain the result of either a Tradable pricing or Quotable valuation. Such objects can be created by applying the usual Price function on any Tradable with the Output parameter set as described below. The Revalue function takes as input any array of N reference objects along with N reference keys and N numerical values. It outputs a number that results from the revaluation of the caller Valuation object based on the specified input. In the case where the caller represents the price of some tradable, the output number is typically the price of that tradable, but it can also be specified to equal any other related output, such as a greek or a leg npv. This function can process any reference objects on which the caller depends, regardless of recursive depth. It is particularly useful in creating spreadsheet tables that show the price dependence on any variable set of input parameters, making thus obsolete the older approach of creating intermediate objects by means of the Clone function.
    The Revalue function takes also an optional date input that is used to reset the trade date, also known as valuation date. It can thus be used without any reference objects input in order to calculate the price of a tradable on a certain future date without the need to change the global trade date in the wizard.
  • Introduced the new local function Fair Value applicable to all objects of type Valuation as defined above. The Fair Value function takes as input any reference object - regardless of type - on which the caller Valuation object depends. It also requires a) the naming of a reference key that is part of the reference object and b) the target type and specific target number that must be produced when the value associated with the given reference key is set to the found solution. In the case where the caller represents the price of some tradable, the target type is typically the price of that tradable, but it can also be any other related output, such as a greek or a leg npv. This function can process any reference object on which the caller depends, regardless of recursive depth.
  • Added three more choices in the Output setting of the Price function. These are the Full, Price+Input and Full+Input. The Full choice results in the pricing output containing any additional data that might be generated during the pricing routine. The remaining two choices turn the pricing output into an object of type Valuation that includes the input data so that it can be reused as input in other functions, such as the Revalue and Fair Value described above. These additions have made the earlier optional input keys Add Input and Add Extras redundant and therefore have been removed. (The removal of these two keys is not backward compatible)
  • Introduced the new menu item Include Trade Date Events in the Tools button of the wizard that affects the pricing result in the case when events - such as cash flows - relevant to the undertaken pricing occur on trade date. For example, the price of a zero bond maturing on trade date will equal zero in the default case when trade date events are not included, but will be non-zero when trade date events are included. As a visual hint, the trade date displayed at the top-left of the wizard will always appear in a dark red background when trade date events are included. The most recently used setting remains valid when Excel restarts.

Bug Fixes:

Improvements:

Other:

18 Mar 2019 version 5.3.0

New Features:

  • Added custom pricing code that can evaluate the price of a MinMax Option when the payoff is Cash or Nothing because it could not be handled by QuantLib.

Bug Fixes:

Improvements:

  • Renamed the key Tradable Price of the Price Value::Create function to Reference since this new name better indicates that it refers to an object rather than just a number. In the same function, also renamed the key Spot Price that refers to the quoted numerical price of the referenced tradable to Quote in order to avoid any semantics overlap with the existing quotable type Spot Price. (This change is not backward compatible)
  • Performed the same key changes as above with regard to Stock Price Value::Create and Stock Index Value::Create. (This change is not backward compatible)
  • Combined the types Option on Minimum and Option on Maximum into the new type MinMax Option. (This change is not backward compatible)
  • Renamed the type No Underlying Option to Base Option. (This change is not backward compatible)
  • Renamed the key Reference Option that appears in multi-asset and exotic options to Base Option. (This change is not backward compatible)

Other:

14 Mar 2019 version 5.2.0

New Features:

  • Introduced the new local function Implied Value that can be called by any object of type Vol Curve. This is a particularly powerful function that returns the vol and total variance on every point of the time-strike underlying space, the dimensionality of which becomes 3 in the case of swaption volatility curves. Exceptionally for volatility curves pertaining to asset options, the respective forward quantities are also reported. This function may be employed to construct 2d, 3d and 4d charts of the implied volatility
  • Under Data -> Math -> Function -> Real Function added the new types Normal, Normal2d MinMax and Integral. The first returns the cumulative probability and the probability density of a normal distribution with specified mean and standard deviation. The second returns the cumulative probability of the minimum or maximum of a bivariate normal distribution. The third returns the integral of any supplied real function of a single real variable.
  • Under Data -> Math -> Function -> MultiReal Function added the new type Normal2d that returns the cumulative probability of a bivariate normal distribution with specified means, standard deviations and correlation.
  • All types that inherit from Real Function are equipped with the new local function Integrate, which returns their integral.

Bug Fixes:

Improvements:

  • Renamed the quotable type Price that represents the quotient of two tradables to the most appropriate name Spot Price since its value at time t represents the spot price at time t of the numerator tradable denominated in units of the denominator tradable. (This change is not backward compatible)
  • Made quite a lot of changes in the interface of Currency Swap. Please use the wizard to create the correct formulas. (This change is not backward compatible)

Other:

06 Mar 2019 version 5.1.0

New Features:

Bug Fixes:

  • In certain environments, an Excel remained active in a zombie state after it was quit by the user after live feeds had been started in asynchronous mode. The noticable effect was the lack of the Deriscope ribbon item when the user started Excel again. The provided fix involves the forced termination of the Excel application in these particular circumstances. Note this fix may interfere with other addins, if they rely on Excel's termination event.
  • Wizard permanently failed to create a yield curve under certain circumstances after the task pane had been refreshed with the only remedy being an Excel restart.
  • Descriptions and lists of possible fields and tickers could not be displayed when the cells containing the respective keys in the Live Engine::Create function were selected.
  • A few non-frequently used keys in Schedule have been renamed. (This change is not backward compatible)

Improvements:

  • Renamed the two FX Swap direction types Receiver, Payer into Borrower, Lender respectively. (This change is not backward compatible)
  • Renamed the two keys Currency 1, Currency 2 in FX Swap::Create into Dom Ccy, For Ccy. (This change is not backward compatible)
  • Replaced the two keys Notional 1, Notional 2 in FX Swap::Create with the four keys Start Dom Not, End Dom Not, Start For Not, End For Not. (This change is not backward compatible). The extra notionals allow the specification of fx swaps where the notional exchanged at maturity is linked to the forward fx rate observed when the swap is entered.
  • Renamed the two keys Domestic Currency, Foreign Currency in FX Forward::Create into Dom Ccy, For Ccy. (This change is not backward compatible)

Other:

23 Feb 2019 version 5.0.0

New Features:

  • Expanded the analytics support beyond QuantLib to the new open source library ORE.
    The new flagship product is called Multi Leg Swap and represents an extended swap with an unlimited number of legs, where each leg represents a stream of cash flows that may be fixed or linked to an interest rate or inflation index. The legs can be denominated in different currencies.
  • Added the new product Currency Swap, which is a child of Multi Leg Swap and represents a regular cross currency two-leg swap, where each leg may be fixed or floating. In the latter case the linked index may be ibor, cms or cpi. It turns out this product is capable of representing regular currency basis swaps as well.
  • Added the new product FX Swap, which is a child of Multi Leg Swap and represents a regular fx swap, whereby two currencies are exchanged at some initial time and then again - but with the opposite direction - at some time later.
  • Added the new product FX Forward, which is a child of Forward Contract and represents a forward contract where the underlying is a currency, which is exchanged by another currency at some future time. Effectively it is an FX Swap with its initial notional exchange stripped away.
  • Added the ability to store incoming live feeds in one or more local text files. The new menu item Store Feeds in File accessible in the wizard under Tools->Insert Function->Live Feeds pastes the necessary functions in the spreadsheet.
  • Added the interpolator types Natural Cubic and Financial Cubic in the bootstrapping of the various curves.

Bug Fixes:

  • Failure to retrieve historical data and/or time stamps from various live feed providers.

Improvements:

  • Linked to the 1.14 version of QuantLib.
  • Revamped the construction of YieldCurve objects so that market prices associated with a particular instrument type - eg swaps - are supplied through separate objects of a respective type - eg YieldCurveSwp. (This change is not backward compatible)

  • Several of the keys that were originally part of YieldCurve objects are now part of these other objects and their name is slightly different. The easiest way to get the correct YieldCurve creation formulas is by letting them generated by the wizard. Frequently cases are:
    • During flat curve construction, the key Use Flat Rate is not needed and its presence produces error.
  • Introduced a new key called CashFlows that is part of all objects of type Tradable. Its associated read-only value displays the non market-linked cash flows of the linked tradable as a table with at most 18 columns. The table's structure is standardized accross all tradables that support such cash flow reporting. Currently these are:
    • All types of bonds
    • All types of swaps
    • Caps, floors and collars on both interest rate and inflation index
    • All types of interest rate swaptions
    A similar table is returned as part of the extra results when the tradable is priced.
    The older function Cash Flows and several product-specific cash flow keys have been removed, since they are no longer needed after this new unified cash flow reporting. (This change is not backward compatible)

Other:

  • All changes below break backward compatibility!
  • Renamed the type Forward Rate Agreement to FRA
  • Removed the Parameter Constraint input from the Yield Curve::Create function due to its removal from the 1.14 version of QuantLib.
  • Removed the Flat Payoff Extrapolation input from the Gaussian 1d Swaption Model::Create function due to its removal from the 1.14 version of QuantLib.
  • Renamed the key Interpolation Method in the Create function of Credit Curve and Inflation Curve to Interp Method.
  • Renamed the key Coupon Payment Delay of Bond to Payment Delay
  • Removed the Full Cash Flow Details input from the BMA Swap::Create function due to the new unified cash flow treatment.
  • Changed the read-only key prefix ¬ to _.

12 Dec 2018 version 4.6.2

New Features:

  • Added the static function Date::IMM Dates that returns an array of future IMM dates.
  • Added several new local functions under the type Bond that return various properties of the calling Bond object.

Bug Fixes:

  • Removed the types SplineOM1 and SplineOM2 as valied values for the Derivative Approximation= key of objects of type Interpolation because it can lead to Excel crash when used to build the Interpolator input in yield curve construction. (This change is not backward compatible)

Improvements:

  • Changed the default compounding convention from Simple to Continuous in the local Yield Curve functions Implied Values, Zero Rate and Forward Rate. Also did the same change in the Yield Curve construction out of a flat rate. (This change is not backward compatible)
  • Improved the local Bond::KRD function so that its output exactly matches the bond's modified duration when the rate shift becomes arbitrarily small.
  • Changed the function DayCount::Time Length from static to local. (This change is not backward compatible)

Other:

02 Dec 2018 version 4.6.1

New Features:

Bug Fixes:

  • Most of live feeds functions returning historical time series failed due to coding error.

Improvements:

Other:

29 Nov 2018 version 4.6.0

New Features:

  • Added three more ibor types: The Australian Bank Bill Swap Rate Bbsw, the New Zealand Bank Bill Benchmark Rate Bkbm and the Shanghai Interbank Offered Rate Shibor.
  • Added two more overnight rate types: The Australia Overnight Index Average Aonia and the New Zealand Official Cash Rate Nzocr.

Bug Fixes:

  • Empty cells supplied as input for mandatory keys resulted in "unexpected error" message. Now a proper diagnostic message is issued.

Improvements:

  • Reintroduced the default feature of user notification about the availability of a new Deriscope release when Excel starts. This behavior can be shut off in Settings.
  • Substantially improved the process of upgrading to a new Deriscope release from within Excel. The new process is seamless and effective because it also performs a deinstallation prior to the final installation.

Other:

  • Restricted the allowed maximum number of scenarios employed in the VaR calculation to 1,000 under all licenses below the Professional.

22 Nov 2018 version 4.5.0

New Features:

  • Added the KRD (Key Rate Duration) function under Bond

Bug Fixes:

  • Barchart historical data were displayed in wrong columns. Also volume data were missing.

Improvements:

  • Various bond function enhancements.

Other:

02 Nov 2018 version 4.4.2

New Features:

Bug Fixes:

  • Fixed minor bugs relating to TrueFX.

Improvements:

  • Introduced intraday time series from World Trading Data. One minute intraday time interval and range up to last 30 days.
  • Re-enabled the Enable when Excel Starts feature in the wizard Settings.

Other:

01 Nov 2018 version 4.4.1

New Features:

Bug Fixes:

  • Deriscope loading failure after certain spreadsheets have been opened directly through the file manager.

Improvements:

Other:

30 Oct 2018 version 4.4.0

New Features:

Bug Fixes:

Improvements:

  • The spreads column in the swap rate table input of Yield Curve is now optional.
  • The keys Rate DayCount and Rate Frequency in the local functions Zero Rate and Forward Rate of Yield Curve objects have been renamed to DayCount and Frequency respectively.(Note this change break backward compatibility with regard to the spreadsheet formula ds, when its input references one of these functions.)
  • Various enhancements in the output produced by the local VaR function of Tradable objects.

Other:

23 Oct 2018 version 4.3.8

New Features:

Bug Fixes:

  • Descriptions for wizard-only keys could not be displayed.
  • Made inflation curve generation available to no-license.

Improvements:

Other:

21 Oct 2018 version 4.3.7

New Features:

Bug Fixes:

  • OIS pricing failed on non-flat, non-USD curves

Improvements:

Other:

18 Oct 2018 version 4.3.6

New Features:

Bug Fixes:

Improvements:

Other:

  • Small license scheme readjustments.

16 Oct 2018 version 4.3.5

New Features:

Bug Fixes:

  • The license dialog failed to show when Deriscope was installed under insufficient security privileges.

Improvements:

Other:

  • Changed the license scheme.

12 Oct 2018 version 4.3.4

New Features:

Bug Fixes:

  • The live data portion of the contents of an object of type Stock failed to display in the wizard.

Improvements:

Other:

  • Changed the license scheme.

08 Oct 2018 version 4.3.3

New Features:

  • Added the dsSort spreadsheet function that can sort the data of any input range, even when the range contains formulas.

Bug Fixes:

Improvements:

Other:

02 Oct 2018 version 4.3.2

New Features:

  • Added search function from World Trading Data.

Bug Fixes:

  • Display of historical data extending beyond 30 years failed due to a date representation bug.

Improvements:

Other:

29 Sep 2018 version 4.3.1

New Features:

  • Added historical data feeds from IEX concerning US stocks and ETFs.
    A demo is accessible under Tools -> Insert Function -> Live Feeds -> (IEX) -> Time Series.
  • All output fields in historical data are now alphabetically sorted.

Bug Fixes:

  • The order of output columns in intraday historical data from Yahoo Finance was not stable over time.

Improvements:

Other:

24 Sep 2018 version 4.3.0

New Features:

  • Added synchronous and asynchronous real time feeds and historical data from Barchart concerning global stocks, indices, mutual funds, options, futures and forex rates (both fiat and crypto) supported by this provider.
    A demo set of live prices and historical time series is produced by the wizard menu items available under Tools -> Insert Function -> Live Feeds -> (Barchart).

Bug Fixes:

  • Various stability enhancements.

Improvements:

Other:

16 Sep 2018 version 4.2.3

New Features:

  • Increased the maximum granularity of the historical data received from Yahoo Finance from daily down to one minute. Intermediate intervals such as 5 minutes or one hour also apply. In technical terms, the key Interval of an object of type HistYF can now also accept the intra-day values: Minute, 2 Min, 5 Min, 15 Min, 30 Min, 60 Min, Hout, 90 Min

Bug Fixes:

  • Two separate api calls were sent to the live feeds server for each single request. This had the negative side-effects of doubling the overall feed acquisition time delay and the much faster exhaustion of the api call quotas associated with the user's data feed license.
  • Deriscope loading failure after opening certain workbooks.
  • Occasional unwarranted display of error messages by the wizard when switching between open workbooks.

Improvements:

Other:

15 Sep 2018 version 4.2.2

New Features:

Bug Fixes:

Improvements:

Other:

  • Technical changes related to license management. No need to update to this version if you have already installed the previous one!

11 Sep 2018 version 4.2.1

New Features:

  • Added synchronous and asynchronous real time feeds and historical data from World Trading Data concerning several global stocks, indices, US mutual funds and forex rates supported by this provider.
    A demo set of live prices and historical time series is produced by the wizard menu items available under Tools -> Insert Function -> Live Feeds -> (World Trading Data)
    The successful operation requires a special code that can be obtained for free here.
    Higher feed rates are also supported by World Trading Data on a paid basis.

Bug Fixes:

  • Deriscope failed to load if spreadsheet cells containing Deriscope formulas have been calculated before clicking on the "Enable and Show Wizard" button.
  • Contents of objects containing tables could fail to be displayed in wizard for certain types of table data.
  • Calculations involving the daycount convention ACT/ACT(ICMA) could lead to Excel crash if the related time interval had zero length.

Improvements:

Other:

  • In live data acquisition, changed the names of several fields returns by the various live feed providers. So for example the IEX field latest Price, the Alpha Vantage field close and the Yahoo Finace field regularMarketPrice have been all renamed to price.(Note this fix breaks backward compatibility with regard to various functions that rely on these field names. Read the produced error messages for details on the new valid names)
  • In Historical Data requests, changed the name of the key Reverse Order to the more intuitive Descending.(Note this fix breaks backward compatibility with regard to Create functions of HistDataRequest, when this key is explicitly used)

29 Aug 2018 version 4.2.0

New Features:

  • The following special Deriscope functions are now exported to Excel VBA:
    StartWizard
    QuitWizard
    ShowWizard
    MinimizeWizard
    HideWizard
    ForceRecalc
    SetTimeOut
    SetAutoRefresh
    SetFlash
    ToggleFlash
    GetTradeDate
    SetTradeDate

Bug Fixes:

Improvements:

Other:

27 Aug 2018 version 4.1.0

New Features:

  • Added synchronous and asynchronous real time feeds from Yahoo Finance concerning all securities supported by this provider. In particular international stocks, indices, currencies, commodities and certain options are supported.
    A demo set of live prices is produced by the wizard menu items Synchronous (extended) and Asynchronous (extended) accessible through Tools -> Insert Function -> Live Feeds -> (Yahoo Finance)
    The involved time delays are between 0 and 30 minutes as described here.
    For each ticker, not only the last traded price is returned, but also several more quantities as described below.
  • Reactivated the ~Live Data item contained in each object of type Stock so that it displays the pertinent live data reported by Yahoo Finance. These are the following:
    ask askSize averageDailyVolume10Day averageDailyVolume3Month bid bidSize bookValue currency earningsTimestamp epsTrailingTwelveMonths exchange exchangeDataDelayedBy exchangeTimezoneName exchangeTimezoneShortName fiftyDayAverage fiftyDayAverageChange fiftyDayAverageChangePercent fiftyTwoWeekHigh fiftyTwoWeekHighChange fiftyTwoWeekHighChangePercent fiftyTwoWeekLow fiftyTwoWeekLowChange fiftyTwoWeekLowChangePercent fiftyTwoWeekRange financialCurrency fullExchangeName gmtOffSetMilliseconds longName market marketCap marketState priceHint priceToBook quoteSourceName quoteType region regularMarketChange regularMarketChangePercent regularMarketDayHigh regularMarketDayLow regularMarketDayRange regularMarketOpen regularMarketPreviousClose regularMarketPrice regularMarketTime regularMarketVolume sharesOutstanding shortName sourceInterval symbol trailingAnnualDividendRate trailingAnnualDividendYield trailingPE twoHundredDayAverage twoHundredDayAverageChange twoHundredDayAverageChangePercent

Bug Fixes:

Improvements:

  • Significantly increased the run-time efficiency of live data acquisition on the presence of failed feeds. Now Excel never freezes, even when hundreds of failing feeds are requested per second.

Other:

15 Aug 2018 version 4.0.3

New Features:

Bug Fixes:

  • Fixed a small but annoying bug, whereby Deriscope failed to load if the user clicked on Enable and Show Wizard after one minute had lapsed since Excel start.

Improvements:

Other:

14 Aug 2018 version 4.0.2

New Features:

Bug Fixes:

  • Due to a change to the feeds format received from Alpha Vantage (received 5 min chain although requested 1 min), Dericope could not parse the price quote associated with indices such as ^DJI.

Improvements:

  • Introduced the new configuration entry Alpha Vantage Fetch Interval in Settings -> INTERNET that allows you to customize the time delay between successive api calls to Alpha Vantage. This is an important addition that enables receiving live feeds on several symbols without violating the limit imposed by Alpha Vantage on the number of api calls per minute.
    Note this entry is different from the takt input in the live feeds engine that determines how often the whole set of tickers is processed.
    The default value is set to 20 seconds because testing indicates it is best compatible with the current Alpha Vantage free version policy of allowing only up to 5 api calls per minute.
    You should set it to an appropriate custom value if you possess a commercial Alpha Vantage license that grants you a higher feed rate.
  • Changed the default value of the Alpha Vantage Time Out entry in Settings -> INTERNET from 3 to 12 seconds, since the free version of Alpha Vantage allows only up to 5 api calls per minute, which means there will be no discernible time delay even when the time out interval is occasionally used up.
  • Removed the Alpha Vantage Time Out 2 entry from Settings -> INTERNET because now only a single api call is made to the Alpha Vantage server per live quote request, in order to reduce the overall rate of api calls.

Other:

  • Granted non-licensed Deriscope users a 7-day grace period with 30 minutes per Excel session for evaluation purposes.

29 Jul 2018 version 4.0.1

New Features:

Bug Fixes:

Improvements:

Other:

  • Do not upgrade to this version if you already have the 4.0.0
    The only change introduced here is improved diagnostic messages during non-licensed Deriscope access.

27 Jul 2018 version 4.0.0

New Features:

  • The main change that affects this release 4.0.0 is the fact that Deriscope assumes a semi-commercial character by levying a small one-time fee for its unrestricted usage. The application may still be downloaded and installed anonymously without any registration or payment, but the lack of a user license imposes certain usage restrictions.
  • The second major addition in this release is the local function VaR that applies to all objects the types of which inherit from Tradable. This function is capable of calculating the Value at Risk of the associated tradable instrument. In particular, the tradable instrument can be of type Portfolio, which represents a weighted collection of various other tradable instruments, some of which may be portfolios themselves. With regard to portfolios, the VaR function imposes an upper limit of 5 elementary constituent products. A special commercial Deriscope license that lifts this limit is available.
  • Added the payoff type RSO in the definition of European options on any underlying. The name RSO derives from Risk Scaling Options, which are European options with payoff at expiry given by the formula max{ ε(βS(T)-λK(1-α)S(T)α) , 0 } , where β, λ, K, α are all constants and S(T) is the price of a specified underlying at the option expiry time T. The pricing of these options is done outside of the QuantLib library and is based on an analytical formula derived by Lloyd Blenman and Steven Clark as described here. Several risk figures (greeks) are also reported.
  • Added the tradable instrument with type Power Exchange Option that represents a combination of a spread and power option. It is a European option with payoff at expiry given by the formula max{ λ1*S1(T)α1-λ2*S2(T)α2 , 0 } , where λ1, α1, λ2, α2 are all constants and S1(T), S2(T) are the prices of two specified underlyings at the option expiry time T. The pricing of this option is done outside of the QuantLib library and is based on an analytical formula derived by Lloyd Blenman and Steven Clark as described here.

Bug Fixes:

  • Setting Add Risk = TRUE and selecting at least one of the Delta, Vega or Rho in the input parameters of the Price function within the wizard, followed by a click on the Optional Parameters Visibility button to hide all unchanged optional inputs, resulted in a pasted formula that lacked the important inputs Risk Ref and Risk Models and thus returning error. The resolution has been to redefine the Risk Ref and Risk Models inputs as mandatory if Add Risk = TRUE. (Note this fix breaks backward compatibility with regard to the spreadsheet formula ds, when it is used to process a Price function taking the explicit input Add Risk = FALSE in combination with the Risk Ref and Risk Models entries. Please edit all such spreadsheet occurrences by following the instructions in the produced error message. A simple resolution for example would be to change the name of the affected formulas from ds to dsi.)

Improvements:

  • Renamed the keys Cash Payoff and Second Strike in the creation of objects of type Payoff to Cash and Strike2 respectively.(Note this fix breaks backward compatibility with regard to the spreadsheet formula ds, when it is used to create Payoff objects with explicit reference to any of these two keys. Please edit all such spreadsheet occurrences by renaming the affected keys.)

Other:

07 Jul 2018 version 3.12.0

New Features:

  • In order to allow custom filtering of the rows in the historical data coming from Alpha Vantage or Yahoo Finance, added the optional entry Filter in the creation of objects of type HistAV and HistYF that can be set to one of:
    NoFilter: No filter is applied
    BlockFirstZero: Blocks the rows of which the first data element (after the initial date element) is zero
    BlockAllZeros: Blocks the rows of which all data elements (after the initial date element) are zero.
    BlockDates: Blocks the rows of which the left date element is part of a supplied list of dates. This option requires the additional entry Blocked Dates that supplies the array of excluded dates.

Bug Fixes:

Improvements:

Other:

30 Jun 2018 version 3.11.0

New Features:

  • Added four new output fields in the Alpha Vantage live feeds for stock prices: open, high, low and volume.
  • In Yield Curve construction, futures maturities can now follow the australian ASX schedule, in addition to the more common IMM schedule. This is achieved by adding the optional input Futures Dates that may be set to either IMM or ASX.

Bug Fixes:

  • When the Pricing Method of a Model[CDS] object was set to Isda Cds a wrong price of CDS was produced during the first calculation attempt.
  • The yield curve creation out of BMA rates failed when the valuation date was different from Wednesday or Tuesday due to a missing historical BMA index fixing as of the prior Wednesday. This is now resolved by supplying an additional mandatory entry called Previous Wednesday Fixing that supplies the missing fixing.(Note this fix breaks backward compatibility with regard to the spreadsheet formula ds, when it is used to create a yield curve out of BMA rates. Please edit all such spreadsheet occurrences by adding the new mandatory key/value input.)

Improvements:

Other:

01 May 2018 version 3.10.0

New Features:

  • Added the stochastic processes: Geometric Brownian, Ornstein Uhlenbeck, Exponential Ornstein Uhlenbeck with Jumps, Square Root, Heston.
  • Added the function Simulated Values that takes as input an array of stochastic processes and a time grid and returns the simulation-generated paths attained by the stochastic processes on the given time grid.
  • Added the following functions that apply on any stochastic process: Initial Value, Drift, Diffusion, Expectation, Std Deviation, Covariance, Evolve. In particular the Expectation, Std Deviation, Covariance, Evolve functions take as input a time interval.
  • Added three new Heston model discretization types: Broadie Kaya Exact Scheme Lobatto, Broadie Kaya Exact Scheme Laguerre and Broadie Kaya Exact Scheme Trapezoidal.

Bug Fixes:

  • The stand alone creation of a SABR Model contained an Optimization element that was set with default Max Iterations and Max State Iters values that were too low for a successful SABR calibration.

Improvements:

Other:

22 Apr 2018 version 3.9.0

New Features:

  • Added the read-only elements ¬Sparse SABR Params, ¬Dense SABR Params, ¬Market Vol Cube and ¬Vol Cube ATM Calibrated as part of a Vol Curve object that are visible only when the Vol Input is set to Swaption Cube. These elements contain valuable information about the SABR calibration. In case the SABR calibration fails, then a new read-only element called ¬Calibration Failure Info appears that contains diagnostics about the failure.

Bug Fixes:

Improvements:

  • Removed the item SABR from the list Vol Type that lives within the type Vol Spec. It is not needed because now the SABR model is automatically used when the Vol Input element within a Vol Curve object is set to Swaption Cube.

Other:

11 Apr 2018 version 3.8.0

New Features:

  • Added the volatility specification types Normal and Shifted Lognormal
  • Added the pricing methods Bachelier and Black Displaced to the instruments Vanilla Swaption and CapFloor
  • Added the optional input Reverse Order in the creation of HistYF and HistAV, which controls the chronological ordering of the historical data received from Yahoo Finance and Alpha Vantage.

Bug Fixes:

Improvements:

Other:

04 Apr 2018 version 3.7.0

New Features:

  • Enhanced the Yield Curve constructor out of bond prices in the parametric fit case by adding a new optional key called Parameter Constraint that expects an object of type Constraint. The later object defines the constraint applied on the parametric model parameters, which may be one of No Constraint, Positive Constraint, Boundary Constraint, Nonflat Boundary Constraint and Composite Constraint

Bug Fixes:

Improvements:

Other:

29 Mar 2018 version 3.6.5

New Features:

  • Added several new wizard menu items under Tools -> Insert Function -> Live Feeds -> xyz that insert a minimal version of dsLiveGetSync and dsLiveGetAsync in the currently selected single cell.

Bug Fixes:

  • Excel was hanging for a few seconds as it was trying to locate dependencies. This bug appeared when a big subset of an object's contents were displayed in the spreadsheet through the Show function and became worse the bigger the displayed subset was.
  • Failure of the rescaling of historical data in certain cases where the last row in the live feeds contained only the date but no values.

Improvements:

Other:

28 Mar 2018 version 3.6.4

New Features:

Bug Fixes:

Improvements:

  • Enhanced the output of the wizard menu item Paste Demo Formulas under Tools -> Insert Function so that it includes usage demos of the special Deriscope functions dsMergeH and dsMergeV.

Other:

27 Mar 2018 version 3.6.3

New Features:

  • Added the wizard menu item Paste All Currency Pairs under Tools -> Insert Function -> Live Feeds -> TrueFX that simply pastes all currency pair symbols supported by the TrueFX live feeds provider.

Bug Fixes:

  • The spreadsheet formula =dsLiveGetSync("TrueFX","XYZ/ABC") failed when it was applied on a single cell.

Improvements:

Other:

25 Mar 2018 version 3.6.2

New Features:

Bug Fixes:

  • Wrong calculation of the target price presented as default input parameter within the wizard when the Implied Vol function was selected.

Improvements:

Other:

21 Mar 2018 version 3.6.1

New Features:

Bug Fixes:

  • The automatic creation of the default bond referenced by a CDS during its construction in the wizard resulted in a maturity extending beyond the end of the swap.

Improvements:

Other:

17 Mar 2018 version 3.6.0

New Features:

  • Enhanced the Clean Price function of the Bond type so that it can handle a Z-spread input.
  • Added the following 22 Bond functions:

    • Is Tradable
    • Previous Cash Flow Date
    • Next Cash Flow Date
    • Previous Cash Flow Amount
    • Next Cash Flow Amount
    • Previous Coupon Rate
    • Next Coupon Rate
    • Accrual Start Date
    • Accrual End Date
    • Reference Period Start
    • Reference Period End
    • Accrual Period
    • Accrual Days
    • Accrued Period
    • Accrued Days
    • BPS
    • ATM Rate
    • Duration
    • Convexity
    • Basis Point Value
    • Yield Value Basis Point
    • Z-spread

Bug Fixes:

  • The wizard's Browse Area consumed unnecessarily space by showing up as an empty rectangle when new information was displayed in the Info Area, even though it was supposed to be collapsed due to an earlier user action.

Improvements:

Other:

  • Changed the names of the Bond functions Get Start Date and Get Maturity to Start Date and Maturity Date respectively. Changed the names of a few input keys to various Bond functions. Changed the names of the Schedule functions Get Start Date and Get Last Date to Start Date and Last Date respectively.(Note these changes break backward compatibility with regard to the spreadsheet formula ds, when its input references one of these functions. Please replace all spreadsheet occurrences with the correct function syntax, which you can create using the wizard.)

10 Mar 2018 version 3.5.0

New Features:

  • Added the date bump conventions Half Month Modified Following and Nearest.
  • Added the day count conventions ACTUAL/365 for Canadian bonds, ACTUAL/365 no leap and Bus/252BR for Brazilian bonds.
  • Introduced two optional input parameters to the Time Length function of the DayCount type, so that the reference dates required by certain day counts can be specified.

Bug Fixes:

  • Creation of Yield Curve failed when a mixture of zero and fixed rate bonds was used as input data.

Improvements:

  • Changed the hierarchy with regard to zero bonds so that the Zero Bond type inherits from the Fixed Rate Bond type. This has the advantage that now a Zero Bond object can be used wherever a Fixed Rate Bond object is required.

Other:

06 Mar 2018 version 3.4.0

New Features:

  • In the case of the yield curve creation out of a flat rate, added the optional Compounding and Frequency inputs that specify the respective rate conventions.
  • Added Compounded Then Simple interest rate compounding convention that is essentially the reverse of the existing Simple Then Compounded convention.
  • Added the United States calendars US_LiborImpact and US_FederalReserve.
  • Added the Chinese calendar CN_IB for Interbank calendar.
  • Added the Israelish calendars TASE and TASE_GENERIC.
  • Changed the Icelandish calendar name from IS to ICEX.

Bug Fixes:

Improvements:

Other:

23 Feb 2018 version 3.3.0

New Features:

Bug Fixes:

Improvements:

  • Minor wizard-level improvement concerning the display ordering of the keys used as input to the Create function of the type Yield Curve. More specifically the keys Modelled Qty, Interpolation Method, Build Method and Accuracy have been shifted to the bottom of the Browse Area screen.

Other:

20 Feb 2018 version 3.2.0

New Features:

  • Introduced the spreadsheet function dsReplace that takes input a) a source range with dimensions NxM containing any data, b) the coordinates of an orthogonal subset of that range with dimensions nxm, c) a target range with dimensions nxm and returns an array with dimensions NxM, the data of which match those of the source range except of the nxm subset, which is replaced with the data of the target range. This function is particularly useful in cloning objects that contain array data - such as Yield Curve objects containing a table of deposit rates -, whereby only a subset of the original array data needs to be replaced with new data.

Bug Fixes:

Improvements:

Other:

04 Feb 2018 version 3.1.1

New Features:

Bug Fixes:

  • Serious bug that caused severe Excel sluggishness (almost freeze) as soon as the contents of an object containing an array were displayed in the taskpane.

Improvements:

Other:

02 Feb 2018 version 3.1.0

New Features:

Bug Fixes:

Improvements:

Other:

  • Linked to the recently released QuantLib version 1.12. The QuantLib list of changes for this release is here.

29 Jan 2018 version 3.0.2

New Features:

Bug Fixes:

  • Failure to report the latest available Deriscope version during startup, which was caused by the host server's Transport Layer Security (TLS) upgrade to the latest TLS 1.2

Improvements:

Other:

08 Jan 2018 version 3.0.1

New Features:

Bug Fixes:

  • Small bug introduced in version 3.0.0

Improvements:

Other:

05 Jan 2018 version 3.0.0

New Features:

  • Added a new version of the Stock Trading Simulator spreadsheet that is capable of retaining the received live feeds for further processing by the user. Available for download here. Video tutorials available: Stock Trading Simulator and Stock Trading Simulator - version 2.
  • Added a new Forex Trading Simulator spreadsheet that is capable of retaining the received live feeds for further processing by the user. It handles most important currency pairs and powered by the TrueFX live feeds provider. Available for download here. Video tutorial available: Forex Trading Simulator.
  • Introduced real time FX rates in Excel on the most important currency pairs powered by the TrueFX live feeds provider. The respective formulas can be generated under Tools -> Insert Function -> Live Feeds -> (TrueFX). Video tutorial at Real Time forex rates in Excel from TrueFX Demo spreadsheet at ExcelRealTimeTrueFX.xlsx
  • Enhanced the Live Feeds Engine so that it can retain in a memory buffer a specified number of incoming live feeds. This can be achieved by starting the Engine through a new spreadsheet formula called dsLive that takes as input a single handle name. If that handle name points to an object of type Live Engine, then dsLive starts the Engine according to the specifications in that object. Among else, the Live Engine object determines the number and type of the received live feeds that need to be retained in memory. Note the dsLiveStartEngine spreadsheet formula is still retained because of its simplicity, but it cannot be used to start an Engine with buffer capabilities. Video tutorial at Real Time data in Excel with retention of the received feeds Demo spreadsheet at ExcelRealTimeAdvanced.xlsx
  • The buffered feeds can be displayed on the spreadsheet through the dsLiveGetAsync formula, by setting a newly introduced last optional parameter to true. Alternatively they may be displayed through the dsLive formula, provided that its input is the handle name of an object of the new type Live Display Async.
  • The dsHist formula has been replaced by the dsLive formula.(Note this change breaks backward compatibility with regard to the spreadsheet formula "dsHist"! You must replace all occurrences of dsHist in your spreadsheets with dsLive). Note also that the second input GoToURL argument to the original dsHist formula does not exist in the new dsLive formula. The GoToURL boolean still exists, but is now part of the object that is fed as input to the dsLive formula.
  • The strategy is to elevate dsLive as an all-in-one formula that can do various live data related jobs according to the specs in some object being fed to it as its single input argument.
  • Changed the names of the types HistRequestAV, HistRequestYF, HistRequestComp to HistAV, HistYF, HistComp respectively, in order to reduce their length and thus the width of the Excel columns containing these names. (Note this change breaks backward compatibility with regard to the spreadsheet formula ds, when its input references one of these types! Please replace all spreadsheet occurrences as suggested here!)
  • Introduced new Yield Curve calibration to bond prices based on non-linear optimization. The popular Nelson-Siegel and Svensson parametric fitting methods are supported. Additional supported methods are: Exponential Splines, CubicB Splines, Simple Polynomial and Spread. Video tutorial at Bond Curve Fitting in Excel using the QuantLib Nelson-Siegel and Svensson methods Demo spreadsheet at YieldCurveNelsonSiegelSvensson.xlsx

Bug Fixes:

Improvements:

Other:

24 Dec 2017 version 2.7.2

New Features:

Bug Fixes:

  • Bug that seemed to affect primarily the fx and cryptocurrency rates received from Alpha Vantage but had the potential to affect all feeds that are received in decimal format.
  • Bug that caused the suppression of the "Loading Values, Please wait!" alert meant to appear when the user clicked on a cell in the taskpane that contained a large number of possible values, such as the value cell for the "Name" of an Issuer object with country set to "United States", which contains over 35,000 possible values.

Improvements:

Other:

21 Dec 2017 version 2.7.1

New Features:

Bug Fixes:

  • Related to first call of dsLiveHist

Improvements:

Other:

20 Dec 2017 version 2.7.0

New Features:

  • (A)synchronous live data from IEX (Investors Exchange) include now the top section of the IEX Order Book. In other words, live quotes on the best bid and ask prices and sizes are (a)synchronously reported. This is achieved through a new provider code named "IEX Tops". For demonstration purposes the wizard generates the complete set of formulas under Tools -> Insert Function -> Live Feeds -> (IEX Tops).
  • Introduced the new Deriscope formula dsAny that is capable of producing in Excel anything that IEX delivers in json format! This new formula works like dsLiveHist, i.e. it expects as input an object of type AnyRequestIEX, the role of which is to specify the details of the request to be sent to the server of the live feeds provider. For demonstration purposes the wizard generates the complete set of formulas under Tools -> Insert Function -> Live Feeds -> (IEX) -> Any.

Bug Fixes:

Improvements:

Other:

  • Changed the name of the Deriscope spreadsheet formula dsHist to dsLiveHist in order to make it clear that it retrieves live feeds. (Note this change breaks backward compatibility with regard to this spreadsheet formula!)
  • Removed the Deriscope spreadsheet formulas dsStats, dsFin because their output is now produced by the new spreadsheet formula dsAny that references a Request object of type AnyRequestIEX that has its Service property set to one of stats, financials, earnings. (Note this change breaks backward compatibility with regard to these spreadsheet formulas!)
  • Removed from wizard the menu items Stats, Financials under Tools -> Insert Function -> Live Feeds -> (IEX) due to the change above.

05 Dec 2017 version 2.5.4

New Features:

  • Live data from IEX (Investors Exchange) are now available. They cover true real time (sub-second time delay) prices of over 8,000 US stocks and ETFs. Both synchronous and asynchronous requests are supported. Also several statistical indicators - called stats by IEX - and company quarterly financial data are reported.
  • The synchronous and asynchronous live data from IEX are accessed through the same functions as those used for AlphaVantage by setting the feeds provider code to "IEX".
  • The statistical indicators are accessed through the new Deriscope formula dsStats.
  • The quarterly financial data are accessed through the new Deriscope formula dsFin.

Bug Fixes:

Improvements:

Other:

28 Nov 2017 version 2.5.4

New Features:

  • No Deriscope taskpane is any more loaded when Excel starts. This allows the user to work with Excel without any interference with Deriscope. It is nevertheless possible to configure Deriscope so that it loads automatically.
  • A new ribbon group item called Deriscope - a top menu item in versions earlier than Excel 2007 - appears that allow the user to switch on and off the Deriscope taskpane. A similar option is made available through the Tools button and Excel's context menu appearing after a mouse right-click.

Bug Fixes:

  • About overall taskpane stability in Excel 2013 and later by redesigning the taskpane manager. Also about third party Add-Ins loaded together with Deriscope.

Improvements:

  • Now Deriscope works fine in Excel 2013 when Excel starts after the user opens a spreadsheet directly through the Windows Explorer.

Other:

  • Removed the Deriscope-managed workbook saving dialog introduced in version 2.5.0 and re-enabled Excel's native dialog.

15 Nov 2017 version 2.5.3

New Features:

Bug Fixes:

  • When the number of tickers processed by Hist Request AV or Hist Request YF exceeded 27, a failure was caused by a built-in Excel limitation. A similar restriction was also imposed on Hist Request Comp, this time with regard to the total number of individual requests.
  • Related to Hist Request Comp or when several tickers were processed by Hist Request AV or Hist Request YF, whereby the whole report failed even if only one of the constituent requests failed.

Improvements:

Other:

13 Nov 2017 version 2.5.2

New Features:

  • Enhanced the type Hist Request Comp to also accept individual requests that happen to share the same Function Name. Now, for example, a composite request may comprise two SMA requests differing on their time_period property.
  • Added the optional key Function Label in the Hist Request AV and Hist Request YF types so that the user can customize the label under which the respective data are reported in the combined (composite) report.

Bug Fixes:

  • Failure of the wizard menu option TimeSeries (Composite) under Tools -> Insert Function -> Live Feeds

Improvements:

Other:

10 Nov 2017 version 2.5.1

New Features:

Bug Fixes:

  • About the dsHist formula: Ticker inputs containing blanks (invisible characters) caused url failures. Now such blanks are trimmed away.

Improvements:

Other:

09 Nov 2017 version 2.5.0

New Features:

  • Introduced live fx rates for physical and digital currencies (cryptocurrencies) from the Alpha Vantage provider. A total of 165 physical and 392 digital currencies are supported. All possible cross fx rates can be requested.
  • Introduced historical bitcoin fx rates from the Alpha Vantage provider. The intraday series is updated in real time every 5 minutes. Available are also daily, weekly and monthly time series.
  • Added an optional input parameter to the special Excel formulas dsHist and dsLiveGetSync called GoToUrl. It takes a boolean value. If set to true, each produced url will be also visited through the default browser. If omitted it is set to false. It enables the user to run diagnostics by examining the raw data as they produced by the feeds provider before they are intercepted, processed and relayed to the spreadsheet by Deriscope.
  • Released API for Visual Basic. This Programming Interface allows the user to interact with Deriscope through Visual Basic code.
  • Replaced Excel's native dialog appearing when a workbook is closing with a Deriscope-managed dialog. This protects Deriscope's stability under various scenarios of user actions, such as cancelling the closing operation or saving the workbook before closing.

Bug Fixes:

  • Problem relating to starting Deriscope from workbooks that have been opened in protected view, such as workbooks that were email attachments at the time of their opening. In particular, this affected only Excel 2013 as well as Excel 2016 64 bit. Notably Excel 2016 32 bit was not affected! In addition the problem appeared only when the user attempted to open a protected view workbook from within Excel and only if at least one other workbook was already open!
  • Time series properties were displayed in a non-constant order.
  • Problem relating to saving and reopening a workbook that has been repaired by Excel due to the existence of validation dropdowns with too many items.
  • Interference problem with external objects that happened to have the BackgroundQuery property set to true. These objects were refreshed as a side-effect of the tutorials with sometimes disastrous consequences.

Improvements:

Other:

04 Nov 2017 version 2.4.1

New Features:

Bug Fixes:

  • This version is a pure bug fix release that addresses a very serious issue confronting the Excel 64 bit users. The Excel 32 bit users who are already in possession of the previous 2.4.0 release, do need to download this version! The bug fixed in this release was the inability to enter the Settings area of Deriscope, which rendered the registration of the Alpha Vantage User key impossible, thus incapacitating the acquisition of live feeds from the Alpha Vantage provider!

Improvements:

Other:

02 Nov 2017 version 2.4.0

New Features:

  • Added support for historical data from the Yahoo Finance provider. Now the special dsHist Excel formula accepts also input objects of the new type HistRequestYF.
  • Added two additional menu items called Time Series and Time Series (Composite) under Tools -> Insert Function -> Live Feeds -> (Yahoo Finance) that demonstrate the new feature above.
  • Added an additional menu item called Refresh Yahoo Credentials under Tools that enables the user - when the link to the Yahoo Finance web service fails - to rebuild the security tokens that Deriscope uses internally in order to execute the web service call.
  • Added an additional permanent configuration setting called Yahoo Finance Auto Refresh Credentials under Tools -> Settings -> Internet that instructs Deriscope to automatically rebuild the Yahoo Finance security tokens mentioned above before each and every web service call.
  • Added an additional menu item called Copy Allowed Parameter Values under Tools that (re)creates all Deriscope validation dropdowns in those cells within the currently selected range, where such dropdowns are applicable and also copies the values associated with these dropdowns into the clipboard so that the user may paste them afterwards in the spreadsheet or anywhere else.
  • Removed the Force Recalc menu item under Tools and replaced it with a submenu consisting of 6 options that provide for fine-tuned forced recalculation of one of: Everything, active workbook, active worksheet, selected range, as well as targeted recalculation of only the error-containing cells found in either the active worksheet or the selected range. The latter is particularly useful when sparse errors have occurred, but a full Excel recalculation is not desired, due to either a) processing time considerations or b) the risk of replacing healthy formula outputs with newly introduced errors.

Bug Fixes:

  • Bug that was responsible for an alert display when the user quit Excel. This fix seems to also have a positive effect on the ability to open an Excel spreadsheet directly from the File Manager before having started Excel. The latter issue still persists though in Excel 2013.

Improvements:

  • Introduced a special storage procedure specifically for the Alpha Vantage User Key entered by the user so that it is permanently stored and is automatically available at a subsequent Excel session, even if the rest of the configuration settings are reset to their default values.

Other:

  • Changed the names of the types HistDataRequest, HistDataRequestAV, HistDataRequestComp to HistRequest, HistRequestAV, HistRequestComp respectively, in order to reduce their length and thus the width of the Excel columns containing these names. (Note this change breaks backward compatibility with regard to the spreadsheet formula ds, when its input references one of these types!)

27 Oct 2017 version 2.3.1

New Features:

Bug Fixes:

  • Problems relating to starting Deriscope from workbooks that have been opened in protected view, such as workbooks that were email attachments at the time of their opening.

Improvements:

  • Substantially stopped the very annoying taskpane flickering by removing an unnecessary highlighting feature. Now the taskpane reacts much faster and more smoothly as the user hovers the mouse over and out of its area.
  • Improved the TaskPane Reactivity High setting so that Excel's undo history is not deleted as the user select various cells.
  • Improved the TaskPane Reactivity High setting so that Excel does not hang for a few seconds as text-containing cells referenced by special formulas, such as dsHist or dsLive, get selected. These functions contain no key-value pairs so there is no reason for the taskpane to waste resources analyzing these functions.

Other:

23 Oct 2017 version 2.3.0

New Features:

  • Introduced integrated Excel tutorials, tips and warnings that appear automatically when and if a need arises.
  • Added multi-ticker and composite request support to the Alpha Vantage Historical data through the new HistDataRequest type. Also the dsHist Excel formula now takes only one argument that is expected to be a handle name of an object of type HistDataRequest. (Note this new feature breaks backward compatibility with regard to the spreadsheet formula "dsHist"!)
  • Added a new timeout property in the HistDataRequest type that takes precedence over the respective timeout definitions under Settings.

Bug Fixes:

  • Bug observed in the stand-alone Excel version 2016 (not the 365 one!), whereby the opening of a spreadsheet directly from the File Manager before Excel had started, led to taskpane corruption.
    Note that a similar attempt to open a workbook in 365 results to the taskpane being completely absent. Users of 365 are therefore advised to start Excel prior to opening workbooks from the file manager.

Improvements:

Other:

09 Oct 2017 version 2.2.1

New Features:

  • The ISDA pricing method has been added in the pricing of Credit Default Swaps
  • The Analytic Heston method has been added in the pricing of european options, which includes the Andersen Piterbarg engine for the representation of the complex logarithm.

Bug Fixes:

  • Any cell-bound validation dropdowns that are created by Deriscope with data exceeding 255 characters are now removed before a workbook is saved. This solves an existing bug, whereby the message "Excel found unreadable content" appeared when the user attempted to open a previously saved workbook that happened to contain such validation items.
  • Date parsing bug, whereby a certain type of text (eg "193.2000") was wrongly interpreted as date (19.03.2000)
  • Several bugs that led to task pane corruption during workbook saving in Excel 2016

Improvements:

  • Made dsHist - the function that retrieves historical time series from a live feeds provider, such as Yahoo Finance or Alpha Vantage - persistent, in the sense that it keeps trying - up to a certain number of repetitions - until the feeds are received. This resolves the frequent "timeout error" appearing after dsHist was executed for the first time.
  • Changed the default setting that controls Excel's calculation state when Deriscope starts, from Manual to Inherited. Under the new setting, the default behaviour will be so that Excel's calculation state will not change when a user presses the Start button in order to load Deriscope analytics into Excel. As before, that default behaviour can still be changed in the Settings.
  • Enhanced the diagnostic message "Object named xyz does not exist!" with a suggestion that the user ensures that the responsible formula has been calculated.

Other:

  • Integration with the latest QuantLib version 1.11
    The QuantLib version history is available here

24 Sep 2017 version 2.2.0

New Features:

  • Complete revamp of the the live feeds interface. The synchronous method is now accomplished through the new function dsLiveGetSync. The asynchronous method now requires a) a live feeds engine initiated through dsLiveStartEngine and b) the display of the latest acquired data through the function dsLiveGetAsync.

Bug Fixes:

  • Now getting live feeds does not erase Excel's undo history, provided that flashing has been switched off. Also several other user actions, such as selecting cells containing keys, does not necessarily interfere with either the clipboard or the undo history.

Improvements:

  • A warning is issued before an action is undertaken that is accompanied with a negative sideeffect, such as clipboard or undo history deletion.

Other:

31 Aug 2017 version 2.1.1

New Features:

Bug Fixes:

  • The grid data entry dialog appears now with the right size and position with respect to all grid cells and various windows text size settings
  • The "About" option in wizard now returns correct operation system information in the cases of Windows 8.1, Windows Server 2012 R2, Windows 10 and Windows Server 2016

Improvements:

Other:

  • Integration with the latest QuantLib version 1.10.1
    The QuantLib version history is available here

29 Aug 2017 version 2.1.0

New Features:

  • On Yield Curve construction:

    • Implementation of Dual Curve Bootstrapping through an additional exogenous Discounting Yield Curve input in the swap market data
    • Optional specification of the Forward Start and Pillar Choice in the market swap rates input
    • New mandatory Spread column in the table of market swap rates, where the floating leg spread for each swap is specified. (Note this new feature breaks backward compatibility with regard to function "Create" of type "Yield Curve"!)
    • New mandatory Pillar Date column in the table of market swap rates in case the Pillar Choice is set to Custom Date
    • Two more Yield Curve building market instrument choices: a) OIS rates and b) BMA Ibor fractions, both with exogenous Discounting Yield Curve input capability
  • On Real Time Data:

    • Addition of Alpha Vantage as a Real Time Data provider. The spreadsheet functions dsLive and dsQuote have been slightly modified so that they can request live data from either Yahoo Finance or Alpha Vantage.
      Note the big current advantage of Alpha Vantage in relation to Yahoo Finance is the delivery of prices with only up to one minute delay. It also supplies quotes, such as DJI, that are not made available by Yahoo (Note this new feature breaks backward compatibility with regard to the spreadsheet functions "dsLive" and "dsQuote"!)
    • Addition of Alpha Vantage as a Historical Data provider. The dsHist spreadsheet function has been slightly modified so that it can request historical data from either Yahoo Finance or Alpha Vantage. Whereas Yahoo Finance historical data service is currently completely broken, Alpha Vantage delivers time series of intraday and daily quotes as well as several statistical indicators that can go back to 20 years (Note this new feature breaks backward compatibility with regard to the spreadsheet function "dsHist"!)
    • Improvement of the information returned to the user by the spreadsheet function dsLive. Instead of long cell-bound sentences and flashing text appearing temporarily in the task pane, an object is now returned that contains all relevant information in a persistent fashion
  • Data Entry change (see below under Bug Fixes)

Bug Fixes:

  • A major user interface issue affecting Excel 2016 users has been addressed. With the previous version users of Excel 2016 were unable to enter data in the task pane using the keyboard. That was due to Excel 2016 resisting to release the focus away from the spreadsheet, which resulted in keyboard-generated user input flowing to the wrong destination.
    The solution required a dramatic change of user input interface towards a new data entry screen, at least in those cases where keyboard is required. This new interface actually is more stable and leads to fewer surprises than the older one.
    As a useful byproduct, users now have the additional option to select a custom date from a calendar pop-up window, while they edit the date inside a grid cell.
  • The mouse right-click context menu choice “Copy selected cells preserving grid structure” has been fixed to work as intended, namely to transfer the selected grid cells to the spreadsheet respecting their original geometric location on the grid

Improvements:

  • Reduction of the noticeable flickering of various task pane elements during user interaction

Other:

18 Aug 2017 version 2.0.0

Initial Deriscope release