Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@quantlib/ql

quantlibjs158Apache-2.00.3.6TypeScript support: included

quantitative finance in javascript

quantlib, quant, quantitative, finance, quantitative finance, mathematical finance

readme

quantlib.js

npm version License Twitter Follow

quantitative finance in javascript

  1. introduction
  2. get started
  3. how to use
  4. release note
  5. api document
  6. test suite & example
  7. license
  8. credit
  9. resource
  10. test report

introduction

quantlib.js aims to be a COMPLETE re-implementation of C++ QuantLib in javascript language, emscripten is NOT used. it can be used in web browser or node.js environment.

get started

Old home page and get started section moved to https://quantlib.js.org/test-suite/

We build a notebook app for easy use of quantlib.js, it's hosted on Github pages, after loading, it works offline.

https://quantlib.js.org/notebook/

usage

load from CDN

install from npm

npm i @quantlib/ql

use in web page

ql.mjs is ESM format, when using in html script tag, make sure to have script type set to "module"

<script type="module">

import { Actual360, AnalyticEuropeanEngine, BlackConstantVol, BlackScholesProcess, DateExt, EuropeanExercise, EuropeanOption, FlatForward, Handle, Option, PlainVanillaPayoff, Settings, SimpleQuote, TARGET } from 'https://cdn.jsdelivr.net/npm/@quantlib/ql@latest/ql.mjs';

const today = DateExt.UTC('7,March,2014');
Settings.evaluationDate.set(today);

const payoff = new PlainVanillaPayoff(Option.Type.Call, 100.0);
const exercise = new EuropeanExercise(DateExt.UTC('7,June,2014'));
const option = new EuropeanOption(payoff, exercise);

const u = new SimpleQuote(100.0);
const r = new SimpleQuote(0.01);
const s = new SimpleQuote(0.2);

const riskFreeCurve = new FlatForward().ffInit3(0, new TARGET(), new Handle(r), new Actual360());
const volatility = new BlackConstantVol().bcvInit4(0, new TARGET(), new Handle(s), new Actual360());

const process = new BlackScholesProcess(new Handle(u), new Handle(riskFreeCurve), new Handle(volatility));

const engine = new AnalyticEuropeanEngine().init1(process);
option.setPricingEngine(engine);

const npv = option.NPV();
console.log(`NPV = ${npv}`);  // 4.155543462156206

</script>

UMD format javascript

ql.js is published as of 0.3.6

You may also use javascript dynamic import

<script>

import('https://cdn.jsdelivr.net/npm/@quantlib/ql@latest/ql.mjs').then(module=>{
  window.ql = module;
  test();
});

function test() {
  const today = ql.DateExt.UTC('7,March,2014');
  ql.Settings.evaluationDate.set(today);

  const payoff = new ql.PlainVanillaPayoff(ql.Option.Type.Call, 100.0);
  const exercise = new ql.EuropeanExercise(ql.DateExt.UTC('7,June,2014'));
  const option = new ql.EuropeanOption(payoff, exercise);

  const u = new ql.SimpleQuote(100.0);
  const r = new ql.SimpleQuote(0.01);
  const s = new ql.SimpleQuote(0.2);

  const riskFreeCurve = new ql.FlatForward().ffInit3(0, new ql.TARGET(), new ql.Handle(r), new ql.Actual360());
  const volatility = new ql.BlackConstantVol().bcvInit4(0, new ql.TARGET(), new ql.Handle(s), new ql.Actual360());

  const process = new ql.BlackScholesProcess(new ql.Handle(u), new ql.Handle(riskFreeCurve), new ql.Handle(volatility));

  const engine = new ql.AnalyticEuropeanEngine().init1(process);
  option.setPricingEngine(engine);

  const npv = option.NPV();
  console.log(`NPV = ${npv}`);  // 4.155543462156206
}

</script>

use in node.js

quantlib.js works in node.js environment. after installing with npm, pass --experimental-modules to node to use ESM javascript file

node --experimental-modules test.mjs

in test.mjs

import { Actual360, AnalyticEuropeanEngine, BlackConstantVol, BlackScholesProcess, DateExt, EuropeanExercise, EuropeanOption, FlatForward, Handle, Option, PlainVanillaPayoff, Settings, SimpleQuote, TARGET } from '@quantlib/ql';

const today = DateExt.UTC('7,March,2014');
Settings.evaluationDate.set(today);

const payoff = new PlainVanillaPayoff(Option.Type.Call, 100.0);
const exercise = new EuropeanExercise(DateExt.UTC('7,June,2014'));
const option = new EuropeanOption(payoff, exercise);

const u = new SimpleQuote(100.0);
const r = new SimpleQuote(0.01);
const s = new SimpleQuote(0.2);

const riskFreeCurve = new FlatForward().ffInit3(0, new TARGET(), new Handle(r), new Actual360());
const volatility = new BlackConstantVol().bcvInit4(0, new TARGET(), new Handle(s), new Actual360());

const process = new BlackScholesProcess(new Handle(u), new Handle(riskFreeCurve), new Handle(volatility));

const engine = new AnalyticEuropeanEngine().init1(process);
option.setPricingEngine(engine);

const npv = option.NPV();
console.log(`NPV = ${npv}`);  // 4.155543462156206

typescript

ql.d.ts is published along with ql.mjs

write code in typescript, then compile with tsc or run with ts-node

in test.ts

import {Actual360, AnalyticEuropeanEngine, BlackConstantVol, BlackScholesProcess, BlackVolTermStructure, DateExt, EuropeanExercise, EuropeanOption, Exercise, FlatForward, GeneralizedBlackScholesProcess, Handle, Option, PlainVanillaPayoff, PricingEngine, Quote, Real, Settings, SimpleQuote, StrikedTypePayoff, TARGET, YieldTermStructure} from '@quantlib/ql';

const today: Date = DateExt.UTC('7,March,2014');
Settings.evaluationDate.set(today);

const payoff: StrikedTypePayoff =
    new PlainVanillaPayoff(Option.Type.Call, 100.0);
const exercise: Exercise = new EuropeanExercise(DateExt.UTC('7,June,2014'));
const option: EuropeanOption = new EuropeanOption(payoff, exercise);

const u: Quote = new SimpleQuote(100.0);
const r: Quote = new SimpleQuote(0.01);
const s: Quote = new SimpleQuote(0.2);

const riskFreeCurve: YieldTermStructure =
    new FlatForward().ffInit3(0, new TARGET(), new Handle(r), new Actual360());
const volatility: BlackVolTermStructure = new BlackConstantVol().bcvInit4(
    0, new TARGET(), new Handle(s), new Actual360());

const process: GeneralizedBlackScholesProcess = new BlackScholesProcess(
    new Handle(u), new Handle(riskFreeCurve), new Handle(volatility));

const engine: PricingEngine = new AnalyticEuropeanEngine().init1(process);
option.setPricingEngine(engine);

const npv: Real = option.NPV();
console.log(`NPV = ${npv}`); // 4.155543462156206

release note

version notes
0.3.6 releaed UMD version: ql.js, minor fix to cashflowvector
0.3.5 minor fix for notebook
0.3.4 no fix, renamed many symbol names for notebook app
0.3.3 fixed most asianoption specs
0.3.2 fixed swaption, most of short-rate models specs and some other pricing specs, and part of bermudanswaption example
0.3.1 examples code cleanup, fixed 4 examples, global optimizers example DE tests passed
0.3.0 fixed 40+ pricing specs, started working on model tests
0.2.7 fixed default probability curves specs
0.2.6 fixed most european option test, tree engine cleanup
0.2.5 fixed piecewise zero spreaded term structure, brownian bridge, 4 american options specs, FD engine cleanup
0.2.4 fixed risk statistics, brownian bridge some piecewise yield curve specs
0.2.3 fixed termstructure spec, experimental Gaussian quadratures specs
0.2.2 termstructure constructor cleanup, fixed a few simple ts specs
0.2.1 add halley, halleysafe, inverseIncompleteGammaFunction from QuantLib-noBoost, fixed blackdeltacalculator
0.2.0 started working on instrument pricing specs, fixed some old test that passed before
0.1.x most math specs passed
0.0.x date&time, patterns, currency, misc specs passed

docs

test-suite & example

source code in ESM javascript:

converted from the c++ quantlib test-suite & Examples

these are the code loaded and executed in https://quantlib.js.org/test-suite/

license


                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

credit

resource

test report

v0.3.3 specs + examples status report total: 735, passed: 452, failed: 176, pending: 107

LazyObject tests

  • <input checked="" disabled="" type="checkbox"> Testing that lazy objects discard notifications after the first...
  • <input checked="" disabled="" type="checkbox"> Testing that lazy objects forward all notifications when told...

Observer tests

  • <input checked="" disabled="" type="checkbox"> Testing observable settings...

Black delta calculator tests

  • <input checked="" disabled="" type="checkbox"> Testing delta calculator values...
  • <input checked="" disabled="" type="checkbox"> Testing premium-adjusted delta price consistency...
  • <input checked="" disabled="" type="checkbox"> Testing put-call parity for deltas...
  • <input checked="" disabled="" type="checkbox"> Testing delta-neutral ATM quotations...

Exchange-rate tests

  • <input checked="" disabled="" type="checkbox"> Testing direct exchange rates...
  • <input checked="" disabled="" type="checkbox"> Testing derived exchange rates...
  • <input checked="" disabled="" type="checkbox"> Testing lookup of direct exchange rates...
  • <input checked="" disabled="" type="checkbox"> Testing lookup of triangulated exchange rates...
  • <input checked="" disabled="" type="checkbox"> Testing lookup of derived exchange rates...

Money tests

  • <input checked="" disabled="" type="checkbox"> Testing money arithmetic without conversions...
  • <input disabled="" type="checkbox"> Testing money arithmetic with conversion to base currency...
  • <input disabled="" type="checkbox"> Testing money arithmetic with automated conversion...

Rounding tests

  • <input checked="" disabled="" type="checkbox"> Testing closest decimal rounding...
  • <input checked="" disabled="" type="checkbox"> Testing upward decimal rounding...
  • <input checked="" disabled="" type="checkbox"> Testing downward decimal rounding...
  • <input checked="" disabled="" type="checkbox"> Testing floor decimal rounding...
  • <input checked="" disabled="" type="checkbox"> Testing ceiling decimal rounding...

Business day convention tests

  • <input checked="" disabled="" type="checkbox"> Testing business day conventions...

Calendar tests

  • <input checked="" disabled="" type="checkbox"> Testing calendar modification...
  • <input checked="" disabled="" type="checkbox"> Testing joint calendars...
  • <input checked="" disabled="" type="checkbox"> Testing US settlement holiday list...
  • <input checked="" disabled="" type="checkbox"> Testing US government bond market holiday list...
  • <input checked="" disabled="" type="checkbox"> Testing New York Stock Exchange holiday list...
  • <input checked="" disabled="" type="checkbox"> Testing TARGET holiday list...
  • <input checked="" disabled="" type="checkbox"> Testing Frankfurt Stock Exchange holiday list...
  • <input checked="" disabled="" type="checkbox"> Testing Eurex holiday list...
  • <input checked="" disabled="" type="checkbox"> Testing Xetra holiday list...
  • <input checked="" disabled="" type="checkbox"> Testing UK settlement holiday list...
  • <input checked="" disabled="" type="checkbox"> Testing London Stock Exchange holiday list...
  • <input checked="" disabled="" type="checkbox"> Testing London Metals Exchange holiday list...
  • <input checked="" disabled="" type="checkbox"> Testing Milan Stock Exchange holiday list...
  • <input checked="" disabled="" type="checkbox"> Testing Russia holiday list...
  • <input checked="" disabled="" type="checkbox"> Testing Brazil holiday list...
  • <input checked="" disabled="" type="checkbox"> Testing South-Korean settlement holiday list...
  • <input checked="" disabled="" type="checkbox"> Testing Korea Stock Exchange holiday list...
  • <input checked="" disabled="" type="checkbox"> Testing China Shanghai Stock Exchange holiday list...
  • <input checked="" disabled="" type="checkbox"> Testing China Inter Bank working weekends list...
  • <input checked="" disabled="" type="checkbox"> Testing end-of-month calculation...
  • <input checked="" disabled="" type="checkbox"> Testing calculation of business days between dates...
  • <input checked="" disabled="" type="checkbox"> Testing bespoke calendars...

Date tests

  • <input checked="" disabled="" type="checkbox"> Testing ECB dates...
  • <input checked="" disabled="" type="checkbox"> Testing IMM dates...
  • <input checked="" disabled="" type="checkbox"> Testing ASX dates...
  • <input checked="" disabled="" type="checkbox"> Testing dates...
  • <input checked="" disabled="" type="checkbox"> Testing ISO dates...
  • <input checked="" disabled="" type="checkbox"> Testing parsing of dates...
  • <input checked="" disabled="" type="checkbox"> Testing intraday information of dates...

Day counter tests

  • <input checked="" disabled="" type="checkbox"> Testing actual/actual day counters...
  • <input checked="" disabled="" type="checkbox"> Testing actual/actual day counter with schedule...
  • <input checked="" disabled="" type="checkbox"> Testing simple day counter...
  • <input checked="" disabled="" type="checkbox"> Testing 1/1 day counter...
  • <input checked="" disabled="" type="checkbox"> Testing business/252 day counter...
  • <input checked="" disabled="" type="checkbox"> Testing thirty/360 day counter (Bond Basis)...
  • <input checked="" disabled="" type="checkbox"> Testing thirty/360 day counter (Eurobond Basis)...
  • <input checked="" disabled="" type="checkbox"> Testing intraday behavior of day counter ...

Period tests

  • <input checked="" disabled="" type="checkbox"> Testing period algebra on years/months...
  • <input checked="" disabled="" type="checkbox"> Testing period algebra on weeks/days...
  • <input checked="" disabled="" type="checkbox"> Testing period parsing...

Schedule tests

  • <input checked="" disabled="" type="checkbox"> Testing schedule with daily frequency...
  • <input checked="" disabled="" type="checkbox"> Testing end date for schedule with end-of-month adjustment...
  • <input checked="" disabled="" type="checkbox"> Testing that no dates are past the end date with EOM adjustment...
  • <input checked="" disabled="" type="checkbox"> Testing that next-to-last date same as end date is removed...
  • <input checked="" disabled="" type="checkbox"> Testing that the last date is not adjusted for EOM when termination date convention is unadjusted...
  • <input checked="" disabled="" type="checkbox"> Testing that the first date is not duplicated due to EOM convention when going backwards...
  • <input checked="" disabled="" type="checkbox"> Testing CDS2015 semi-annual rolling convention...
  • <input checked="" disabled="" type="checkbox"> Testing the constructor taking a vector of dates and possibly additional meta information...
  • <input checked="" disabled="" type="checkbox"> Testing that a four-weeks tenor works...

Timegrid tests

  • <input checked="" disabled="" type="checkbox"> Testing TimeGrid constructor with additional steps...
  • <input checked="" disabled="" type="checkbox"> Testing TimeGrid constructor with only mandatory points...
  • <input checked="" disabled="" type="checkbox"> Testing TimeGrid construction with n evenly spaced points...
  • <input checked="" disabled="" type="checkbox"> Testing if the constructor raises an error for empty iterators...
  • <input checked="" disabled="" type="checkbox"> Testing if the constructor raises an error for negative time values...
  • <input checked="" disabled="" type="checkbox"> Testing returned index is closest to the requested time...
  • <input checked="" disabled="" type="checkbox"> Testing returned time matches to the requested index...
  • <input checked="" disabled="" type="checkbox"> Testing mandatory times are recalled correctly...

Time series tests

  • <input checked="" disabled="" type="checkbox"> Testing time series construction...
  • <input checked="" disabled="" type="checkbox"> Testing time series interval price...
  • <input disabled="" type="checkbox"> Testing time series iterators...

Gaussian quadraturesGaussian quadratures tests

  • <input checked="" disabled="" type="checkbox"> Testing Gauss-Jacobi integration...
  • <input checked="" disabled="" type="checkbox"> Testing Gauss-Laguerre integration...
  • <input checked="" disabled="" type="checkbox"> Testing Gauss-Hermite integration...
  • <input checked="" disabled="" type="checkbox"> Testing Gauss hyperbolic integration...
  • <input checked="" disabled="" type="checkbox"> Testing tabulated Gauss-Laguerre integration...

Gaussian quadratures experimental tests

  • <input checked="" disabled="" type="checkbox"> Testing Gauss non-central chi-squared integration...
  • <input checked="" disabled="" type="checkbox"> Testing Gauss non-central chi-squared sum of notes...

Integration tests

  • <input checked="" disabled="" type="checkbox"> Testing segment integration...
  • <input checked="" disabled="" type="checkbox"> Testing trapezoid integration...
  • <input checked="" disabled="" type="checkbox"> Testing mid-point trapezoid integration...
  • <input checked="" disabled="" type="checkbox"> Testing Simpson integration...
  • <input checked="" disabled="" type="checkbox"> Testing adaptive Gauss-Kronrod integration...
  • <input checked="" disabled="" type="checkbox"> Testing adaptive Gauss-Lobatto integration...
  • <input checked="" disabled="" type="checkbox"> Testing non-adaptive Gauss-Kronrod integration...
  • <input checked="" disabled="" type="checkbox"> Testing two dimensional adaptive Gauss-Lobatto integration...
  • <input checked="" disabled="" type="checkbox"> Testing Folin's integral formulae...
  • <input checked="" disabled="" type="checkbox"> Testing discrete integral formulae...
  • <input checked="" disabled="" type="checkbox"> Testing discrete integrator formulae...
  • <input checked="" disabled="" type="checkbox"> Testing piecewise integral...

Numerical differentiation tests

  • <input checked="" disabled="" type="checkbox"> Testing numerical differentiation using the central scheme...
  • <input checked="" disabled="" type="checkbox"> Testing numerical differentiation using the backward scheme...
  • <input checked="" disabled="" type="checkbox"> Testing numerical differentiation using the Forward scheme...
  • <input checked="" disabled="" type="checkbox"> Testing numerical differentiation of first order using an irregular scheme...
  • <input checked="" disabled="" type="checkbox"> Testing numerical differentiation of second order using an irregular scheme...
  • <input checked="" disabled="" type="checkbox"> Testing numerical differentiation of sin function...
  • <input checked="" disabled="" type="checkbox"> Testing coefficients from numerical differentiation by comparison with results from Vandermonde matrix inversion...

ODE tests

  • <input checked="" disabled="" type="checkbox"> Testing adaptive Runge Kutta...
  • <input checked="" disabled="" type="checkbox"> Testing matrix exponential based on ode...
  • <input checked="" disabled="" type="checkbox"> Testing matrix exponential of a zero matrix based on ode...

1-D solver tests

  • <input checked="" disabled="" type="checkbox"> Testing Brent solver...
  • <input checked="" disabled="" type="checkbox"> Testing bisection solver...
  • <input checked="" disabled="" type="checkbox"> Testing false-position solver...
  • <input checked="" disabled="" type="checkbox"> Testing Newton solver...
  • <input checked="" disabled="" type="checkbox"> Testing Newton-safe solver...
  • <input checked="" disabled="" type="checkbox"> Testing Halley solver...
  • <input checked="" disabled="" type="checkbox"> Testing Halley-safe solver...
  • <input checked="" disabled="" type="checkbox"> Testing finite-difference Newton-safe solver...
  • <input checked="" disabled="" type="checkbox"> Testing Ridder solver...
  • <input checked="" disabled="" type="checkbox"> Testing secant solver...

Array tests

  • <input checked="" disabled="" type="checkbox"> Testing array construction...
  • <input checked="" disabled="" type="checkbox"> Testing array functions...

Covariance and correlation tests

  • <input checked="" disabled="" type="checkbox"> Testing matrix rank reduction salvaging algorithms...
  • <input checked="" disabled="" type="checkbox"> Testing positive semi-definiteness salvaging algorithms...
  • <input checked="" disabled="" type="checkbox"> Testing covariance and correlation calculations...

Matrix tests

  • <input checked="" disabled="" type="checkbox"> Testing eigenvalues and eigenvectors calculation...
  • <input checked="" disabled="" type="checkbox"> Testing matricial square root...
  • <input checked="" disabled="" type="checkbox"> Testing Higham matricial square root...
  • <input checked="" disabled="" type="checkbox"> Testing singular value decomposition...
  • <input checked="" disabled="" type="checkbox"> Testing QR decomposition...
  • <input checked="" disabled="" type="checkbox"> Testing QR solve...
  • <input checked="" disabled="" type="checkbox"> Testing LU inverse calculation...
  • <input checked="" disabled="" type="checkbox"> Testing LU determinant calculation...
  • <input checked="" disabled="" type="checkbox"> Testing orthogonal projections...
  • <input checked="" disabled="" type="checkbox"> Testing Cholesky Decomposition...
  • <input checked="" disabled="" type="checkbox"> Testing Moore-Penrose inverse...
  • <input checked="" disabled="" type="checkbox"> Testing iterative solvers...

TQR eigen decomposition tests

  • <input checked="" disabled="" type="checkbox"> Testing TQR eigenvalue decomposition...
  • <input checked="" disabled="" type="checkbox"> Testing TQR zero-off-diagonal eigenvalues...
  • <input checked="" disabled="" type="checkbox"> Testing TQR eigenvector decomposition...

Auto-covariance tests

  • <input checked="" disabled="" type="checkbox"> Testing convolutions...
  • <input checked="" disabled="" type="checkbox"> Testing auto-covariances...
  • <input checked="" disabled="" type="checkbox"> Testing auto-correlations...

Distribution tests

  • <input checked="" disabled="" type="checkbox"> Testing normal distributions...
  • <input checked="" disabled="" type="checkbox"> Testing bivariate cumulative normal distribution...
  • <input checked="" disabled="" type="checkbox"> Testing Poisson distribution...
  • <input checked="" disabled="" type="checkbox"> Testing cumulative Poisson distribution...
  • <input checked="" disabled="" type="checkbox"> Testing inverse cumulative Poisson distribution...
  • <input checked="" disabled="" type="checkbox"> Testing bivariate cumulative Student t distribution...
  • <input checked="" disabled="" type="checkbox"> Testing bivariate cumulative Student t distribution for large N...
  • <input checked="" disabled="" type="checkbox"> Testing inverse CDF based on stochastic collocation...

Linear least squares regression tests

  • <input checked="" disabled="" type="checkbox"> Testing linear least-squares regression...
  • <input checked="" disabled="" type="checkbox"> Testing multi-dimensional linear least-squares regression...
  • <input checked="" disabled="" type="checkbox"> Testing 1D simple linear least-squares regression...

Optimizers tests

  • <input checked="" disabled="" type="checkbox"> Testing optimizers...
  • <input checked="" disabled="" type="checkbox"> Testing nested optimizations...
  • <input checked="" disabled="" type="checkbox"> Testing differential evolution...

Risk statistics tests

  • <input checked="" disabled="" type="checkbox"> Testing risk measures...

Statistics tests

  • <input checked="" disabled="" type="checkbox"> Testing statistics...
  • <input checked="" disabled="" type="checkbox"> Testing sequence statistics...
  • <input checked="" disabled="" type="checkbox"> Testing convergence statistics...
  • <input checked="" disabled="" type="checkbox"> Testing incremental statistics...

Low-discrepancy sequence tests

  • <input checked="" disabled="" type="checkbox"> Testing random-seed generator...
  • <input checked="" disabled="" type="checkbox"> Testing 21200 primitive polynomials modulo two...
  • <input checked="" disabled="" type="checkbox"> Testing randomized low-discrepancy sequences up to dimension 21200...
  • <input checked="" disabled="" type="checkbox"> Testing randomized lattice sequences...
  • <input checked="" disabled="" type="checkbox"> Testing Sobol sequences up to dimension 21200...
  • <input checked="" disabled="" type="checkbox"> Testing Faure sequences...
  • <input checked="" disabled="" type="checkbox"> Testing Halton sequences...
  • <input checked="" disabled="" type="checkbox"> Testing Mersenne-twister discrepancy...
  • <input checked="" disabled="" type="checkbox"> Testing plain Halton discrepancy...
  • <input checked="" disabled="" type="checkbox"> Testing random-start Halton discrepancy...
  • <input checked="" disabled="" type="checkbox"> Testing random-shift Halton discrepancy...
  • <input checked="" disabled="" type="checkbox"> Testing random-start, random-shift Halton discrepancy...
  • <input checked="" disabled="" type="checkbox"> Testing Jaeckel-Sobol discrepancy...
  • <input checked="" disabled="" type="checkbox"> Testing Levitan-Sobol discrepancy...
  • <input checked="" disabled="" type="checkbox"> Testing Levitan-Lemieux-Sobol discrepancy...
  • <input checked="" disabled="" type="checkbox"> Testing unit Sobol discrepancy...
  • <input checked="" disabled="" type="checkbox"> Testing Sobol sequence skipping...

RNG traits tests

  • <input checked="" disabled="" type="checkbox"> Testing Gaussian pseudo-random number generation...
  • <input checked="" disabled="" type="checkbox"> Testing Poisson pseudo-random number generation...
  • <input checked="" disabled="" type="checkbox"> Testing custom Poisson pseudo-random number generation...

Mersenne twister tests

  • <input checked="" disabled="" type="checkbox"> Testing Mersenne twister...

Fast fourier transform tests

  • <input checked="" disabled="" type="checkbox"> Testing complex direct FFT...
  • <input checked="" disabled="" type="checkbox"> Testing convolution via inverse FFT...

Factorial tests

  • <input checked="" disabled="" type="checkbox"> Testing factorial numbers...
  • <input checked="" disabled="" type="checkbox"> Testing Gamma function...
  • <input checked="" disabled="" type="checkbox"> Testing Gamma values...
  • <input checked="" disabled="" type="checkbox"> Testing modified Bessel function of first and second kind...
  • <input checked="" disabled="" type="checkbox"> Testing weighted modified Bessel functions...

Interpolation tests

  • <input checked="" disabled="" type="checkbox"> Testing spline approximation on Gaussian data sets...
  • <input checked="" disabled="" type="checkbox"> Testing spline interpolation on a Gaussian data set...
  • <input checked="" disabled="" type="checkbox"> Testing spline interpolation on RPN15A data set...
  • <input checked="" disabled="" type="checkbox"> Testing spline interpolation on generic values...
  • <input checked="" disabled="" type="checkbox"> Testing symmetry of spline interpolation end-conditions ...
  • <input checked="" disabled="" type="checkbox"> Testing derivative end-conditions for spline interpolation ...
  • <input checked="" disabled="" type="checkbox"> Testing non-restrictive Hyman filter...
  • <input disabled="" type="checkbox"> Testing N-dimensional cubic spline...
  • <input checked="" disabled="" type="checkbox"> Testing use of interpolations as functors...
  • <input checked="" disabled="" type="checkbox"> Testing Fritsch-Butland interpolation...
  • <input checked="" disabled="" type="checkbox"> Testing backward-flat interpolation...
  • <input checked="" disabled="" type="checkbox"> Testing forward-flat interpolation...
  • <input checked="" disabled="" type="checkbox"> Testing Sabr interpolation...
  • <input checked="" disabled="" type="checkbox"> Testing kernel 1D interpolation...
  • <input checked="" disabled="" type="checkbox"> Testing kernel 2D interpolation...
  • <input checked="" disabled="" type="checkbox"> Testing bicubic spline derivatives...
  • <input checked="" disabled="" type="checkbox"> Testing that bicubic splines actually update...
  • <input checked="" disabled="" type="checkbox"> Testing Richardson extrapolation...
  • <input disabled="" type="checkbox"> Testing no-arbitrage Sabr interpolation...
  • <input disabled="" type="checkbox"> Testing Sabr calibration single cases...
  • <input checked="" disabled="" type="checkbox"> Testing Sabr and no-arbitrage Sabr transformation functions...
  • <input checked="" disabled="" type="checkbox"> Testing Lagrange interpolation...
  • <input checked="" disabled="" type="checkbox"> Testing Lagrange interpolation at supporting points...
  • <input checked="" disabled="" type="checkbox"> Testing Lagrange interpolation derivatives...
  • <input checked="" disabled="" type="checkbox"> Testing Lagrange interpolation on Chebyshev points...
  • <input checked="" disabled="" type="checkbox"> Testing B-Splines...
  • <input checked="" disabled="" type="checkbox"> Testing piecewise constant interpolation on a single point...

Sampled curve tests

  • <input checked="" disabled="" type="checkbox"> Testing sampled curve construction...

Transformed grid

  • <input checked="" disabled="" type="checkbox"> Testing transformed grid construction...

Cash flows tests

  • <input checked="" disabled="" type="checkbox"> Testing cash-flow settings...
  • <input checked="" disabled="" type="checkbox"> Testing dynamic cast of coupon in Black pricer...
  • <input checked="" disabled="" type="checkbox"> Testing default evaluation date in cashflows methods...
  • <input checked="" disabled="" type="checkbox"> Testing ibor leg construction with null fixing days...
  • <input checked="" disabled="" type="checkbox"> Testing irregular first coupon reference dates with end of month enabled...
  • <input checked="" disabled="" type="checkbox"> Testing irregular last coupon reference dates with end of month enabled...
  • <input checked="" disabled="" type="checkbox"> Testing leg construction with partial schedule...

Capped and floored coupon tests

  • <input checked="" disabled="" type="checkbox"> Testing degenerate collared coupon...
  • <input checked="" disabled="" type="checkbox"> Testing collared coupon against its decomposition...

Digital coupon tests

  • <input checked="" disabled="" type="checkbox"> Testing European asset-or-nothing digital coupon...
  • <input disabled="" type="checkbox"> Testing European deep in-the-money asset-or-nothing digital coupon...
  • <input disabled="" type="checkbox"> Testing European deep out-the-money asset-or-nothing digital coupon...
  • <input disabled="" type="checkbox"> Testing European cash-or-nothing digital coupon...
  • <input disabled="" type="checkbox"> Testing European deep in-the-money cash-or-nothing digital coupon...
  • <input disabled="" type="checkbox"> Testing European deep out-the-money cash-or-nothing digital coupon...
  • <input disabled="" type="checkbox"> Testing call/put parity for European digital coupon...
  • <input disabled="" type="checkbox"> Testing replication type for European digital coupon...

YoY inflation capped and floored coupon tests

  • <input disabled="" type="checkbox"> Testing collared coupon against its decomposition...
  • <input disabled="" type="checkbox"> Testing inflation capped/floored coupon against inflation capfloor instrument...

Interest Rate tests

  • <input checked="" disabled="" type="checkbox"> Testing interest-rate conversions...

Range Accrual tests

  • <input checked="" disabled="" type="checkbox"> Testing infinite range accrual floaters...
  • <input checked="" disabled="" type="checkbox"> Testing price monotonicity with respect to the lower strike...
  • <input checked="" disabled="" type="checkbox"> Testing price monotonicity with respect to the upper strike...

Hybrid Heston-HullWhite tests

  • <input disabled="" type="checkbox"> Testing European option pricing for a BSM process with one-factor Hull-White model...
  • <input disabled="" type="checkbox"> Comparing European option pricing for a BSM process with one-factor Hull-White model...
  • <input disabled="" type="checkbox"> Testing Monte-Carlo zero bond pricing...
  • <input disabled="" type="checkbox"> Testing Monte-Carlo vanilla option pricing...
  • <input disabled="" type="checkbox"> Testing Monte-Carlo Heston option pricing...
  • <input disabled="" type="checkbox"> Testing analytic Heston Hull-White option pricing...

Brownian bridge tests

  • <input checked="" disabled="" type="checkbox"> Testing Brownian-bridge variates...
  • <input checked="" disabled="" type="checkbox"> Testing Brownian-bridge path generation...

Path generation tests

  • <input checked="" disabled="" type="checkbox"> Testing 1-D path generation against cached values...
  • <input checked="" disabled="" type="checkbox"> Testing n-D path generation against cached values...

Longstaff Schwartz MC engine tests

  • <input disabled="" type="checkbox"> Testing Monte-Carlo pricing of American options...
  • <input disabled="" type="checkbox"> Testing Monte-Carlo pricing of American max options...

Curve States tests

  • <input checked="" disabled="" type="checkbox"> Testing constant-maturity-swap-market-model curve state...

Finite Difference Heston tests

  • <input disabled="" type="checkbox"> Testing FDM Heston variance mesher ...
  • <input disabled="" type="checkbox"> Testing FDM Heston variance mesher ...
  • <input disabled="" type="checkbox"> Testing FDM with barrier option for Heston model vs Black-Scholes model...
  • <input disabled="" type="checkbox"> Testing FDM with American option in Heston model...
  • <input disabled="" type="checkbox"> Testing FDM Heston for Ikonen and Toivanen tests...
  • <input disabled="" type="checkbox"> Testing FDM Heston with Black Scholes model...
  • <input disabled="" type="checkbox"> Testing FDM with European option with dividends in Heston model...
  • <input disabled="" type="checkbox"> Testing FDM Heston convergence...
  • <input disabled="" type="checkbox"> Testing FDM Heston intraday pricing ...
  • <input disabled="" type="checkbox"> Testing method of lines to solve Heston PDEs...
  • <input disabled="" type="checkbox"> Testing for spurious oscillations when solving the Heston PDEs...

Linear operator tests

  • <input checked="" disabled="" type="checkbox"> Testing indexing of a linear operator...
  • <input checked="" disabled="" type="checkbox"> Testing uniform grid mesher...
  • <input disabled="" type="checkbox"> Testing application of first-derivatives map...
  • <input disabled="" type="checkbox"> Testing application of second-derivatives map...
  • <input disabled="" type="checkbox"> Testing finite differences coefficients...
  • <input checked="" disabled="" type="checkbox"> Testing application of second-order mixed-derivatives map...
  • <input disabled="" type="checkbox"> Testing triple-band map solution...
  • <input disabled="" type="checkbox"> Testing FDM with barrier option in Heston model...
  • <input disabled="" type="checkbox"> Testing FDM with American option in Heston model...
  • <input disabled="" type="checkbox"> Testing FDM with express certificate in Heston model...
  • <input disabled="" type="checkbox"> Testing FDM with Heston Hull-White model...
  • <input disabled="" type="checkbox"> Testing bi-conjugated gradient stabilized algorithm...
  • <input disabled="" type="checkbox"> Testing GMRES algorithm...
  • <input disabled="" type="checkbox"> Testing Crank-Nicolson with initial implicit damping steps for a digital option...
  • <input disabled="" type="checkbox"> Testing SparseMatrixReference type...
  • <input disabled="" type="checkbox"> Testing assignment to zero in sparse matrix...
  • <input disabled="" type="checkbox"> Testing integrals over meshers functions...
  • <input checked="" disabled="" type="checkbox"> Testing Black-Scholes mesher in a high interest rate scenario...
  • <input checked="" disabled="" type="checkbox"> Testing Black-Scholes mesher in a low volatility and high discrete dividend scenario...

Operator tests

  • <input checked="" disabled="" type="checkbox"> Testing tridiagonal operator...
  • <input checked="" disabled="" type="checkbox"> Testing differential operators...
  • <input checked="" disabled="" type="checkbox"> Testing consistency of BSM operators...

European option extended trees tests

  • <input checked="" disabled="" type="checkbox"> Testing time-dependent JR binomial European engines against analytic results...
  • <input checked="" disabled="" type="checkbox"> Testing time-dependent CRR binomial European engines against analytic results...
  • <input checked="" disabled="" type="checkbox"> Testing time-dependent EQP binomial European engines against analytic results...
  • <input checked="" disabled="" type="checkbox"> Testing time-dependent TGEO binomial European engines against analytic results...
  • <input checked="" disabled="" type="checkbox"> Testing time-dependent TIAN binomial European engines against analytic results...
  • <input disabled="" type="checkbox"> Testing time-dependent LR binomial European engines against analytic results...
  • <input disabled="" type="checkbox"> Testing time-dependent Joshi binomial European engines against analytic results...

Black formula tests

  • <input checked="" disabled="" type="checkbox"> Testing Bachelier implied vol...
  • <input checked="" disabled="" type="checkbox"> Testing Chambers-Nawalkha implied vol approximation...
  • <input checked="" disabled="" type="checkbox"> Testing Radoicic-Stefanica implied vol approximation...
  • <input checked="" disabled="" type="checkbox"> Testing Radoicic-Stefanica lower bound...
  • <input checked="" disabled="" type="checkbox"> Testing implied volatility calculation via adaptive successive over-relaxation...

Amortizing Bond tests

  • <input checked="" disabled="" type="checkbox"> Testing amortizing fixed rate bond...

Bond tests

  • <input checked="" disabled="" type="checkbox"> Testing consistency of bond price/yield calculation...
  • <input checked="" disabled="" type="checkbox"> Testing consistency of bond price/ATM rate calculation...
  • <input checked="" disabled="" type="checkbox"> Testing consistency of bond price/z-spread calculation...
  • <input checked="" disabled="" type="checkbox"> Testing theoretical bond price/yield calculation...
  • <input checked="" disabled="" type="checkbox"> Testing bond price/yield calculation against cached values...
  • <input checked="" disabled="" type="checkbox"> Testing zero-coupon bond prices against cached values...
  • <input checked="" disabled="" type="checkbox"> Testing fixed-coupon bond prices against cached values...
  • <input checked="" disabled="" type="checkbox"> Testing floating-rate bond prices against cached values...
  • <input checked="" disabled="" type="checkbox"> Testing Brazilian public bond prices against Andima cached values...
  • <input checked="" disabled="" type="checkbox"> Testing ex-coupon UK Gilt price against market values...
  • <input checked="" disabled="" type="checkbox"> Testing ex-coupon Australian bond price against market values...
  • <input checked="" disabled="" type="checkbox"> Testing South African R2048 bond price using Schedule constructor with Date vector...
  • <input checked="" disabled="" type="checkbox"> Testing Thirty/360 bond with settlement on 31st of the month...

CatBond tests

  • <input checked="" disabled="" type="checkbox"> Testing that catastrophe events are split correctly for periods of whole years...
  • <input disabled="" type="checkbox"> Testing that catastrophe events are split correctly for irregular periods...
  • <input disabled="" type="checkbox"> Testing that catastrophe events are split correctly when there are no simulated events...
  • <input disabled="" type="checkbox"> Testing that beta risk gives correct terminal distribution...
  • <input disabled="" type="checkbox"> Testing floating-rate cat bond against risk-free floating-rate bond...
  • <input disabled="" type="checkbox"> Testing floating-rate cat bond in a doom scenario (certain default)...
  • <input disabled="" type="checkbox"> Testing floating-rate cat bond in a doom once in 10 years scenario...
  • <input disabled="" type="checkbox"> Testing floating-rate cat bond in a doom once in 10 years scenario with proportional notional reduction...
  • <input disabled="" type="checkbox"> Testing floating-rate cat bond in a generated scenario with proportional notional reduction...

Convertible bond tests

  • <input disabled="" type="checkbox"> Testing out-of-the-money convertible bonds against vanilla bonds...
  • <input disabled="" type="checkbox"> Testing zero-coupon convertible bonds against vanilla option...
  • <input checked="" disabled="" type="checkbox"> Testing fixed-coupon convertible bond in known regression case...

Cap and floor tests

  • <input checked="" disabled="" type="checkbox"> Testing cap/floor vega...
  • <input checked="" disabled="" type="checkbox"> Testing cap/floor dependency on strike...
  • <input checked="" disabled="" type="checkbox"> Testing consistency between cap, floor and collar...
  • <input checked="" disabled="" type="checkbox"> Testing cap/floor parity...
  • <input checked="" disabled="" type="checkbox"> Testing cap/floor ATM rate...
  • <input checked="" disabled="" type="checkbox"> Testing implied term volatility for cap and floor...
  • <input checked="" disabled="" type="checkbox"> Testing Black cap/floor price against cached values...

Inflation (year-on-year) Cap and floor tests

  • <input disabled="" type="checkbox"> Testing consistency between yoy inflation cap, floor and collar...
  • <input disabled="" type="checkbox"> Testing yoy inflation cap/floor parity...
  • <input disabled="" type="checkbox"> Testing Black yoy inflation cap/floor price against cached values...

CPI swaption tests

  • <input disabled="" type="checkbox"> Testing cpi capfloor price surface...
  • <input disabled="" type="checkbox"> Testing cpi capfloor pricer...

Forward rate agreement

  • <input checked="" disabled="" type="checkbox"> Testing forward rate agreement construction...

Instrument tests

  • <input checked="" disabled="" type="checkbox"> Testing observability of instruments...
  • <input checked="" disabled="" type="checkbox"> Testing reaction of composite instrument to date changes...

American option tests

  • <input checked="" disabled="" type="checkbox"> Testing Barone-Adesi and Whaley approximation for American options...
  • <input checked="" disabled="" type="checkbox"> Testing Bjerksund and Stensland approximation for American options...
  • <input checked="" disabled="" type="checkbox"> Testing Ju approximation for American options...
  • <input disabled="" type="checkbox"> Testing finite-difference engine for American options...
  • <input checked="" disabled="" type="checkbox"> Testing finite-differences American option greeks...
  • <input checked="" disabled="" type="checkbox"> Testing finite-differences shout option greeks...

Asian option tests

  • <input checked="" disabled="" type="checkbox"> Testing analytic continuous geometric average-price Asians...
  • <input checked="" disabled="" type="checkbox"> Testing analytic continuous geometric average-price Asian greeks...
  • <input checked="" disabled="" type="checkbox"> Testing analytic discrete geometric average-price Asians...
  • <input checked="" disabled="" type="checkbox"> Testing analytic discrete geometric average-strike Asians...
  • <input checked="" disabled="" type="checkbox"> Testing Monte Carlo discrete geometric average-price Asians...
  • <input disabled="" type="checkbox"> Testing Monte Carlo discrete arithmetic average-price Asians...
  • <input checked="" disabled="" type="checkbox"> Testing Monte Carlo discrete arithmetic average-strike Asians...
  • <input checked="" disabled="" type="checkbox"> Testing discrete-averaging geometric Asian greeks...
  • <input checked="" disabled="" type="checkbox"> Testing use of past fixings in Asian options...
  • <input checked="" disabled="" type="checkbox"> Testing Asian options with all fixing dates in the past...

Asian option experimental tests

  • <input checked="" disabled="" type="checkbox"> Testing Levy engine for Asians options...
  • <input disabled="" type="checkbox"> Testing Vecer engine for Asian options...

Barrier option tests

  • <input disabled="" type="checkbox"> Testing that knock-in plus knock-out barrier options replicate a European option...
  • <input disabled="" type="checkbox"> Testing barrier options against Haug's values...
  • <input disabled="" type="checkbox"> Testing barrier options against Babsiri's values...
  • <input disabled="" type="checkbox"> Testing barrier options against Beaglehole's values...
  • <input disabled="" type="checkbox"> Testing local volatility and Heston FD engines for barrier options...
  • <input disabled="" type="checkbox"> Testing barrier option pricing with discrete dividends...

Barrier option experimental tests

  • <input checked="" disabled="" type="checkbox"> Testing perturbative engine for barrier options...
  • <input disabled="" type="checkbox"> Testing barrier FX options against Vanna/Volga values...

Basket option tests

  • <input disabled="" type="checkbox"> Testing two-asset European basket options...
  • <input disabled="" type="checkbox"> Testing three-asset basket options against Barraquand's values...
  • <input disabled="" type="checkbox"> Testing three-asset American basket options against Tavella's values...
  • <input disabled="" type="checkbox"> Testing basket American options against 1-D case...
  • <input disabled="" type="checkbox"> Testing antithetic engine using odd sample number...
  • <input disabled="" type="checkbox"> Testing 2D local-volatility spread-option pricing...
  • <input disabled="" type="checkbox"> Testing Greeks of two-dimensional PDE engine...

Cliquet option tests

  • <input checked="" disabled="" type="checkbox"> Testing Cliquet option values...
  • <input disabled="" type="checkbox"> Testing Cliquet option greeks...
  • <input disabled="" type="checkbox"> Testing performance option greeks...
  • <input disabled="" type="checkbox"> Testing Monte Carlo performance engine against analytic results...

Dividend European option tests

  • <input checked="" disabled="" type="checkbox"> Testing dividend European option values with no dividends...
  • <input disabled="" type="checkbox"> Testing dividend European option values with known value...
  • <input checked="" disabled="" type="checkbox"> Testing dividend European option with a dividend on today's date...
  • <input disabled="" type="checkbox"> Testing dividend European option values with end limits...
  • <input checked="" disabled="" type="checkbox"> Testing dividend European option greeks...
  • <input disabled="" type="checkbox"> Testing finite-difference dividend European option values...
  • <input disabled="" type="checkbox"> Testing finite-differences dividend European option greeks...
  • <input disabled="" type="checkbox"> Testing finite-differences dividend American option greeks...
  • <input disabled="" type="checkbox"> Testing degenerate finite-differences dividend European option...
  • <input disabled="" type="checkbox"> Testing degenerate finite-differences dividend American option...

European option tests

  • <input checked="" disabled="" type="checkbox"> Testing European option values...
  • <input checked="" disabled="" type="checkbox"> Testing European option greek values...
  • <input checked="" disabled="" type="checkbox"> Testing analytic European option greeks...
  • <input checked="" disabled="" type="checkbox"> Testing European option implied volatility...
  • <input checked="" disabled="" type="checkbox"> Testing self-containment of implied volatility calculation...
  • <input checked="" disabled="" type="checkbox"> Testing JR binomial European engines against analytic results...
  • <input checked="" disabled="" type="checkbox"> Testing CRR binomial European engines against analytic results...
  • <input checked="" disabled="" type="checkbox"> Testing EQP binomial European engines against analytic results...
  • <input checked="" disabled="" type="checkbox"> Testing TGEO binomial European engines against analytic results...
  • <input checked="" disabled="" type="checkbox"> Testing TIAN binomial European engines against analytic results...
  • <input checked="" disabled="" type="checkbox"> Testing LR binomial European engines against analytic results...
  • <input checked="" disabled="" type="checkbox"> Testing Joshi binomial European engines against analytic results...
  • <input checked="" disabled="" type="checkbox"> Testing finite-difference European engines against analytic results...
  • <input checked="" disabled="" type="checkbox"> Testing integral European engines against analytic results...
  • <input checked="" disabled="" type="checkbox"> Testing Monte Carlo European engines against analytic results...
  • <input checked="" disabled="" type="checkbox"> Testing Quasi Monte Carlo European engines against analytic results...
  • <input checked="" disabled="" type="checkbox"> Testing European price curves...
  • <input disabled="" type="checkbox"> Testing finite-differences with local volatility...
  • <input checked="" disabled="" type="checkbox"> Testing separate discount curve for analytic European engine...
  • <input disabled="" type="checkbox"> Testing different PDE schemes to solve Black-Scholes PDEs...
  • <input checked="" disabled="" type="checkbox"> Testing finite-difference European engine with non-constant parameters...

European option experimental tests

  • <input disabled="" type="checkbox"> Testing FFT European engines against analytic results...

Forward option tests

  • <input checked="" disabled="" type="checkbox"> Testing forward option values...
  • <input checked="" disabled="" type="checkbox"> Testing forward performance option values...
  • <input disabled="" type="checkbox"> Testing forward option greeks...
  • <input disabled="" type="checkbox"> Testing forward performance option greeks...
  • <input disabled="" type="checkbox"> Testing forward option greeks initialization...

Quanto option tests

  • <input checked="" disabled="" type="checkbox"> Testing quanto option values...
  • <input checked="" disabled="" type="checkbox"> Testing quanto option greeks...
  • <input checked="" disabled="" type="checkbox"> Testing quanto-forward option values...
  • <input checked="" disabled="" type="checkbox"> Testing quanto-forward option greeks...
  • <input checked="" disabled="" type="checkbox"> Testing quanto-forward-performance option values...

Experimental quanto option tests

  • <input checked="" disabled="" type="checkbox"> Testing quanto-double-barrier option values...

Quote tests

  • <input checked="" disabled="" type="checkbox"> Testing observability of quotes...
  • <input checked="" disabled="" type="checkbox"> Testing observability of quote handles...
  • <input checked="" disabled="" type="checkbox"> Testing derived quotes...
  • <input checked="" disabled="" type="checkbox"> Testing composite quotes...
  • <input checked="" disabled="" type="checkbox"> Testing forward-value and implied-standard-deviation quotes...

AssetSwap tests

  • <input checked="" disabled="" type="checkbox"> Testing consistency between fair price and fair spread...
  • <input disabled="" type="checkbox"> Testing implied bond value against asset-swap fair price with null spread...
  • <input disabled="" type="checkbox"> Testing relationship between market asset swap and par asset swap...
  • <input disabled="" type="checkbox"> Testing clean and dirty price with null Z-spread against theoretical prices...
  • <input disabled="" type="checkbox"> Testing implied generic-bond value against asset-swap fair price with null spread...
  • <input disabled="" type="checkbox"> Testing market asset swap against par asset swap with generic bond...
  • <input disabled="" type="checkbox"> Testing clean and dirty price with null Z-spread against theoretical prices...
  • <input disabled="" type="checkbox"> Testing clean and dirty prices for specialized bond against equivalent generic bond...
  • <input disabled="" type="checkbox"> Testing asset-swap prices and spreads for specialized bond against equivalent generic bond...

Cms tests

  • <input disabled="" type="checkbox"> Testing Hagan-pricer flat-vol equivalence for coupons...
  • <input disabled="" type="checkbox"> Testing Hagan-pricer flat-vol equivalence for swaps...
  • <input disabled="" type="checkbox"> Testing put-call parity for capped-floored CMS coupons...

Cms spread tests

  • <input disabled="" type="checkbox"> Testing fixings of cms spread indices...
  • <input disabled="" type="checkbox"> Testing pricing of cms spread coupons...

Overnight-indexed swap tests

  • <input checked="" disabled="" type="checkbox"> Testing Eonia-swap calculation of fair fixed rate...
  • <input checked="" disabled="" type="checkbox"> Testing Eonia-swap calculation of fair floating spread...
  • <input checked="" disabled="" type="checkbox"> Testing Eonia-swap calculation against cached value...
  • <input checked="" disabled="" type="checkbox"> Testing Eonia-swap curve building...
  • <input checked="" disabled="" type="checkbox"> Testing Eonia-swap curve building with telescopic value dates...
  • <input checked="" disabled="" type="checkbox"> Testing seasoned Eonia-swap calculation...

Swap tests

  • <input checked="" disabled="" type="checkbox"> Testing vanilla-swap calculation of fair fixed rate...
  • <input checked="" disabled="" type="checkbox"> Testing vanilla-swap calculation of fair floating spread...
  • <input checked="" disabled="" type="checkbox"> Testing vanilla-swap dependency on fixed rate...
  • <input checked="" disabled="" type="checkbox"> Testing vanilla-swap dependency on floating spread...
  • <input checked="" disabled="" type="checkbox"> Testing in-arrears swap calculation...
  • <input checked="" disabled="" type="checkbox"> Testing vanilla-swap calculation against cached value...

swap-forward mappings tests

  • <input checked="" disabled="" type="checkbox"> Testing forward-rate coinitial-swap Jacobian...
  • <input disabled="" type="checkbox"> Testing forward-rate coterminal-swap mappings...
  • <input disabled="" type="checkbox"> Testing implied swaption vol in LMM using HW approximation...

Bermudan swaption tests

  • <input disabled="" type="checkbox"> Testing Bermudan swaption with HW model against cached values...
  • <input disabled="" type="checkbox"> Testing Bermudan swaption with G2 model against cached values...

Swaption tests

  • <input checked="" disabled="" type="checkbox"> Testing swaption dependency on strike...
  • <input checked="" disabled="" type="checkbox"> Testing swaption dependency on spread...
  • <input checked="" disabled="" type="checkbox"> Testing swaption treatment of spread...
  • <input checked="" disabled="" type="checkbox"> Testing swaption value against cached value...
  • <input checked="" disabled="" type="checkbox"> Testing swaption vega...
  • <input checked="" disabled="" type="checkbox"> Testing cash settled swaptions modified annuity...
  • <input checked="" disabled="" type="checkbox"> Testing implied volatility for swaptions...

Swaption Volatility Cube tests

  • <input disabled="" type="checkbox"> Testing swaption volatility cube (atm vols)...
  • <input disabled="" type="checkbox"> Testing swaption volatility cube (smile)...
  • <input disabled="" type="checkbox"> Testing swaption volatility cube (sabr interpolation)...
  • <input disabled="" type="checkbox"> Testing spreaded swaption volatility cube...
  • <input disabled="" type="checkbox"> Testing volatility cube observability...

Swaption Volatility Matrix tests

  • <input checked="" disabled="" type="checkbox"> Testing swaption volatility matrix observability...
  • <input disabled="" type="checkbox"> Testing swaption volatility matrix...

Bates model tests

  • <input disabled="" type="checkbox"> Testing analytic Bates engine against Black formula...
  • <input disabled="" type="checkbox"> Testing analytic Bates engine against Merton-76 engine...
  • <input disabled="" type="checkbox"> Testing analytic Bates engine against Monte-Carlo engine...
  • <input disabled="" type="checkbox"> Testing Bates model calibration using DAX volatility data...

GARCH model tests

  • <input disabled="" type="checkbox"> Testing GARCH model calibration...
  • <input disabled="" type="checkbox"> Testing GARCH model calculation...

GJR-GARCH model tests

  • <input disabled="" type="checkbox"> Testing Monte Carlo GJR-GARCH engine against analytic GJR-GARCH engine...
  • <input disabled="" type="checkbox"> Testing GJR-GARCH model calibration using DAX volatility data...

GSR model tests

  • <input disabled="" type="checkbox"> Testing GSR process...
  • <input disabled="" type="checkbox"> Testing GSR model...

Heston model tests

  • <input checked="" disabled="" type="checkbox"> Testing Heston model calibration using a flat volatility surface...
  • <input disabled="" type="checkbox"> Testing Heston model calibration using DAX volatility data...
  • <input disabled="" type="checkbox"> Testing analytic Heston engine against Black formula...
  • <input checked="" disabled="" type="checkbox"> Testing analytic Heston engine against cached values...
  • <input disabled="" type="checkbox"> Testing Monte Carlo Heston engine against cached values...
  • <input disabled="" type="checkbox"> Testing FD barrier Heston engine against cached values...
  • <input disabled="" type="checkbox"> Testing FD vanilla Heston engine against cached values...
  • <input disabled="" type="checkbox"> Testing MC and FD Heston engines for the Kahl-Jaeckel example...
  • <input checked="" disabled="" type="checkbox"> Testing different numerical Heston integration algorithms...
  • <input disabled="" type="checkbox"> Testing multiple-strikes FD Heston engine...
  • <input disabled="" type="checkbox"> Testing analytic piecewise time dependent Heston prices...
  • <input disabled="" type="checkbox"> Testing time-dependent Heston model calibration...
  • <input disabled="" type="checkbox"> Testing Alan Lewis reference prices...
  • <input disabled="" type="checkbox"> Testing expansion on Alan Lewis reference prices...
  • <input checked="" disabled="" type="checkbox"> Testing expansion on Forde reference prices...
  • <input disabled="" type="checkbox"> Testing semi-analytic Heston pricing with all integration methods...
  • <input disabled="" type="checkbox"> Testing Heston COS cumulants...
  • <input disabled="" type="checkbox"> Testing Heston pricing via COS method...
  • <input disabled="" type="checkbox"> Testing Heston characteristic function...
  • <input disabled="" type="checkbox"> Testing Andersen-Piterbarg method to price under the Heston model...
  • <input disabled="" type="checkbox"> Testing Andersen-Piterbarg Integrand with control variate...
  • <input disabled="" type="checkbox"> Testing Andersen-Piterbarg pricing convergence...
  • <input disabled="" type="checkbox"> Testing piecewise time dependent ChF vs Heston ChF...
  • <input disabled="" type="checkbox"> Testing piecewise time dependent comparison...
  • <input disabled="" type="checkbox"> Testing piecewise time dependent ChF Asymtotic...

Heston model experimental tests

  • <input disabled="" type="checkbox"> Testing analytic PDF Heston engine...

Heston Stochastic Local Volatility tests

  • <input disabled="" type="checkbox"> Testing Fokker-Planck forward equation for BS process...
  • <input disabled="" type="checkbox"> Testing zero-flow BC for the square root process...
  • <input disabled="" type="checkbox"> Testing zero-flow BC for transformed Fokker-Planck forward equation...
  • <input disabled="" type="checkbox"> Testing Fokker-Planck forward equation for the square root process with stationary density...
  • <input disabled="" type="checkbox"> Testing Fokker-Planck forward equation for the square root log process with stationary density...
  • <input disabled="" type="checkbox"> Testing Fokker-Planck forward equation for the square root process with Dirac start...
  • <input disabled="" type="checkbox"> Testing Fokker-Planck forward equation for the Heston process...
  • <input disabled="" type="checkbox"> Testing Fokker-Planck forward equation for the Heston process Log Transformation with leverage LV limiting case...
  • <input disabled="" type="checkbox"> Testing Fokker-Planck forward equation for BS Local Vol process...
  • <input disabled="" type="checkbox"> Testing local volatility vs SLV model...
  • <input disabled="" type="checkbox"> Testing calibration via vanilla options...
  • <input disabled="" type="checkbox"> Testing Barrier pricing with mixed models...
  • <input disabled="" type="checkbox"> Testing Monte-Carlo vs FDM Pricing for Heston SLV models...
  • <input disabled="" type="checkbox"> Testing Monte-Carlo Calibration...
  • <input disabled="" type="checkbox"> Testing the implied volatility skew of forward starting options in SLV model...
  • <input disabled="" type="checkbox"> Testing double no touch pricing with SLV and mixing...

Jump-diffusion tests

  • <input checked="" disabled="" type="checkbox"> Testing Merton 76 jump-diffusion model for European options...

Markov functional model tests

  • <input checked="" disabled="" type="checkbox"> Testing Markov functional state process...
  • <input checked="" disabled="" type="checkbox"> Testing Kahale smile section...
  • <input disabled="" type="checkbox"> Testing Markov functional calibration to one instrument set...
  • <input disabled="" type="checkbox"> Testing Markov functional vanilla engines...
  • <input disabled="" type="checkbox"> Testing Markov functional calibration to two instrument sets...
  • <input disabled="" type="checkbox"> Testing Markov functional Bermudan swaption engine...

Normal CLV Model tests

  • <input checked="" disabled="" type="checkbox"> Testing Black-Scholes cumulative distribution function with constant volatility...
  • <input disabled="" type="checkbox"> Testing Heston cumulative distribution function...
  • <input disabled="" type="checkbox"> Testing illustrative 1D example of normal CLV model...
  • <input checked="" disabled="" type="checkbox"> Testing Monte Carlo BS option pricing...
  • <input disabled="" type="checkbox"> Testing double no-touch pricing with normal CLV model...

Short-rate model tests

  • <input checked="" disabled="" type="checkbox"> Testing Hull-White calibration against cached values using swaptions with start delay...
  • <input checked="" disabled="" type="checkbox"> Testing Hull-White calibration with fixed reversion against cached values...
  • <input checked="" disabled="" type="checkbox"> Testing Hull-White calibration against cached values using swaptions without start delay...
  • <input disabled="" type="checkbox"> Testing Hull-White swap pricing against known values...
  • <input checked="" disabled="" type="checkbox"> Testing Hull-White futures convexity bias...
  • <input checked="" disabled="" type="checkbox"> Testing zero bond pricing for extended CIR model ...

SquareRootCLVModel tests

  • <input disabled="" type="checkbox"> Testing vanilla option pricing with square root kernel process...
  • <input disabled="" type="checkbox"> Testing mapping function of the square root kernel process...
  • <input disabled="" type="checkbox"> Testing forward skew dynamics with square root kernel process...

Market-model tests

  • <input disabled="" type="checkbox"> Testing exact repricing of one-step forwards and optionlets in a lognormal forward rate market model...
  • <input disabled="" type="checkbox"> Testing exact repricing of one-step forwards and optionlets in a normal forward rate market model...
  • <input disabled="" type="checkbox"> Testing exact repricing of inverse floater in forward rate market model...

CMS Market-model tests

  • <input disabled="" type="checkbox"> Testing exact repricing of multi-step constant maturity swaps and swaptions in a lognormal constant maturity swap market model...

SMM Market-model tests

  • <input disabled="" type="checkbox"> Testing exact repricing of multi-step coterminal swaps and swaptions in a lognormal coterminal swap rate market model...

SMM Caplet alpha calibration test

  • <input disabled="" type="checkbox"> Testing alpha caplet calibration in a lognormal coterminal swap market model...

SMM Caplet calibration test

  • <input disabled="" type="checkbox"> Testing GHLS caplet calibration in a lognormal coterminal swap market model...

SMM Caplet homogeneous calibration test

  • <input disabled="" type="checkbox"> Testing max homogeneity caplet calibration in a lognormal coterminal swap market model...
  • <input disabled="" type="checkbox"> Testing max homogeneity periodic caplet calibration in a lognormal coterminal swap market model...
  • <input disabled="" type="checkbox"> Testing sphere-cylinder optimization...

volatility models tests

  • <input checked="" disabled="" type="checkbox"> Testing volatility model construction...

Default-probability curve tests

  • <input checked="" disabled="" type="checkbox"> Testing default-probability structure...
  • <input checked="" disabled="" type="checkbox"> Testing flat hazard rate...
  • <input checked="" disabled="" type="checkbox"> Testing piecewise-flat hazard-rate consistency...
  • <input checked="" disabled="" type="checkbox"> Testing piecewise-flat default-density consistency...
  • <input checked="" disabled="" type="checkbox"> Testing piecewise-linear default-density consistency...
  • <input checked="" disabled="" type="checkbox"> Testing log-linear survival-probability consistency...
  • <input checked="" disabled="" type="checkbox"> Testing single-instrument curve bootstrap...
  • <input checked="" disabled="" type="checkbox"> Testing bootstrap on upfront quotes...

Inflation tests

  • <input checked="" disabled="" type="checkbox"> Testing zero inflation indices...
  • <input disabled="" type="checkbox"> Testing zero inflation term structure...
  • <input checked="" disabled="" type="checkbox"> Testing that zero inflation indices forecast future fixings...
  • <input disabled="" type="checkbox"> Testing year-on-year inflation indices...
  • <input disabled="" type="checkbox"> Testing year-on-year inflation term structure...
  • <input disabled="" type="checkbox"> Testing inflation period...

CPI bond tests

  • <input disabled="" type="checkbox"> Testing clean price...

CPI Swap tests

  • <input disabled="" type="checkbox"> Testing consistency...
  • <input disabled="" type="checkbox"> Testing zciis consistency...
  • <input disabled="" type="checkbox"> Testing cpi bond consistency...

Term structure tests

  • <input checked="" disabled="" type="checkbox"> Testing term structure against evaluation date change...
  • <input checked="" disabled="" type="checkbox"> Testing consistency of implied term structure...
  • <input checked="" disabled="" type="checkbox"> Testing observability of implied term structure...
  • <input checked="" disabled="" type="checkbox"> Testing consistency of forward-spreaded term structure...
  • <input checked="" disabled="" type="checkbox"> Testing observability of forward-spreaded term structure...
  • <input checked="" disabled="" type="checkbox"> Testing consistency of zero-spreaded term structure...
  • <input checked="" disabled="" type="checkbox"> Testing observability of zero-spreaded term structure...
  • <input checked="" disabled="" type="checkbox"> Testing that a zero-spreaded curve can be created with a null underlying curve...
  • <input checked="" disabled="" type="checkbox"> Testing that an underlying curve can be relinked to a null underlying curve...
  • <input checked="" disabled="" type="checkbox"> Testing composite zero yield structures...

Andreasen-Huge volatility interpolation tests

  • <input disabled="" type="checkbox"> Testing Andreasen-Huge example with Put calibration...
  • <input disabled="" type="checkbox"> Testing Andreasen-Huge example with Call calibration...
  • <input disabled="" type="checkbox"> Testing Andreasen-Huge example with instantaneous Call and Put calibration...
  • <input disabled="" type="checkbox"> Testing Andreasen-Huge example with linear interpolation...
  • <input disabled="" type="checkbox"> Testing Andreasen-Huge example with piecewise constant interpolation...
  • <input disabled="" type="checkbox"> Testing Andreasen-Huge volatility interpolation with time dependent interest rates and dividend yield...
  • <input disabled="" type="checkbox"> Testing Andreasen-Huge volatility interpolation with a single option...
  • <input disabled="" type="checkbox"> Testing Andreasen-Huge volatility interpolation gives arbitrage free prices...
  • <input disabled="" type="checkbox"> Testing Barrier option pricing with Andreasen-Huge local volatility surface...
  • <input disabled="" type="checkbox"> Testing Peter's and Fabien's SABR example...
  • <input disabled="" type="checkbox"> Testing different optimizer for Andreasen-Huge volatility interpolation...
  • <input disabled="" type="checkbox"> Testing that reference date of adapter surface moves along with evaluation date...

YoY OptionletStripper (yoy inflation vol) tests

  • <input disabled="" type="checkbox"> Testing conversion from YoY price surface to YoY volatility surface...
  • <input disabled="" type="checkbox"> Testing conversion from YoY cap-floor surface to YoY inflation term structure...

Optionlet Stripper Tests

  • <input disabled="" type="checkbox"> Testing forward/forward vol stripping from flat term vol surface using OptionletStripper1 class...
  • <input disabled="" type="checkbox"> Testing forward/forward vol stripping from non-flat term vol surface using OptionletStripper1 class...
  • <input disabled="" type="checkbox"> Testing forward/forward vol stripping from non-flat normal vol term vol surface for normal vol setup using OptionletStripper1 class...
  • <input disabled="" type="checkbox"> Testing forward/forward vol stripping from non-flat normal vol term vol surface for normal vol setup using OptionletStripper1 class...
  • <input disabled="" type="checkbox"> Testing forward/forward vol stripping from flat term vol surface using OptionletStripper2 class...
  • <input disabled="" type="checkbox"> Testing forward/forward vol stripping from non-flat term vol surface using OptionletStripper2 class...
  • <input disabled="" type="checkbox"> Testing switch strike level and recalibration of level in case of curve relinking...

Piecewise yield curve tests

  • <input disabled="" type="checkbox"> Testing consistency of piecewise-log-cubic discount curve...
  • <input checked="" disabled="" type="checkbox"> Testing consistency of piecewise-log-linear discount curve...
  • <input checked="" disabled="" type="checkbox"> Testing consistency of piecewise-linear discount curve...
  • <input checked="" disabled="" type="checkbox"> Testing consistency of piecewise-log-linear zero-yield curve...
  • <input checked="" disabled="" type="checkbox"> Testing consistency of piecewise-linear zero-yield curve...
  • <input disabled="" type="checkbox"> Testing consistency of piecewise-cubic zero-yield curve...
  • <input checked="" disabled="" type="checkbox"> Testing consistency of piecewise-linear forward-rate curve...
  • <input checked="" disabled="" type="checkbox"> Testing consistency of piecewise-flat forward-rate curve...
  • <input disabled="" type="checkbox"> Testing consistency of piecewise-cubic forward-rate curve...
  • <input checked="" disabled="" type="checkbox"> Testing consistency of convex monotone forward-rate curve...
  • <input disabled="" type="checkbox"> Testing consistency of local-bootstrap algorithm...
  • <input checked="" disabled="" type="checkbox"> Testing observability of piecewise yield curve...
  • <input disabled="" type="checkbox"> Testing use of today's LIBOR fixings in swap curve...
  • <input checked="" disabled="" type="checkbox"> Testing bootstrap over JPY LIBOR swaps...
  • <input disabled="" type="checkbox"> Testing copying of discount curve...
  • <input disabled="" type="checkbox"> Testing copying of forward-rate curve...
  • <input disabled="" type="checkbox"> Testing copying of zero-rate curve...
  • <input checked="" disabled="" type="checkbox"> Testing SwapRateHelper last relevant date...
  • <input disabled="" type="checkbox"> Testing bootstrap starting from bad guess...

Interpolated piecewise zero spreaded yield curve tests

  • <input checked="" disabled="" type="checkbox"> Testing flat interpolation before the first spreaded date...
  • <input checked="" disabled="" type="checkbox"> Testing flat interpolation after the last spreaded date...
  • <input checked="" disabled="" type="checkbox"> Testing linear interpolation with more than two spreaded dates...
  • <input checked="" disabled="" type="checkbox"> Testing linear interpolation between two dates...
  • <input checked="" disabled="" type="checkbox"> Testing forward flat interpolation between two dates...
  • <input checked="" disabled="" type="checkbox"> Testing backward flat interpolation between two dates...
  • <input checked="" disabled="" type="checkbox"> Testing default interpolation between two dates...
  • <input checked="" disabled="" type="checkbox"> Testing factory constructor with additional parameters...
  • <input checked="" disabled="" type="checkbox"> Testing term structure max date...
  • <input checked="" disabled="" type="checkbox"> Testing quote update...

CDO tests

  • <input disabled="" type="checkbox"> Testing CDO premiums against Hull-White values for data set

CDS Option tests

  • <input checked="" disabled="" type="checkbox"> Testing CDS-option value against cached values...

Credit-default swap tests

  • <input checked="" disabled="" type="checkbox"> Testing credit-default swap against cached values...
  • <input checked="" disabled="" type="checkbox"> Testing credit-default swap against cached market values...
  • <input checked="" disabled="" type="checkbox"> Testing implied hazard-rate for credit-default swaps...
  • <input checked="" disabled="" type="checkbox"> Testing fair-spread calculation for credit-default swaps...
  • <input checked="" disabled="" type="checkbox"> Testing fair-upfront calculation for credit-default swaps...
  • <input disabled="" type="checkbox"> Testing ISDA engine calculations for credit-default swaps...

Nth-to-default tests

  • <input disabled="" type="checkbox"> Testing nth-to-default against Hull-White values with Gaussian copula...
  • <input disabled="" type="checkbox"> Testing nth-to-default against Hull-White values with Gaussian and Student copula...

NthOrderDerivativeOp tests

  • <input disabled="" type="checkbox"> Testing sparse matrix apply......

Commodity Unit Of Measure tests

  • <input disabled="" type="checkbox"> Testing direct commodity unit of measure conversions...

Binary Option tests

  • <input checked="" disabled="" type="checkbox"> Testing cash-or-nothing barrier options against Haug's values...
  • <input checked="" disabled="" type="checkbox"> Testing asset-or-nothing barrier options against Haug's values...

Chooser option tests

  • <input checked="" disabled="" type="checkbox"> Testing analytic simple chooser option...
  • <input checked="" disabled="" type="checkbox"> Testing analytic complex chooser option...

Compound option tests

  • <input disabled="" type="checkbox"> Testing compound-option put-call parity...
  • <input disabled="" type="checkbox"> Testing compound-option values and greeks...

DoubleBarrier tests

  • <input disabled="" type="checkbox"> Testing double barrier european options against Haug's values...

DoubleBarrier experimental tests

  • <input disabled="" type="checkbox"> Testing double-barrier FX options against Vanna/Volga values...

DoubleBinary tests

  • <input disabled="" type="checkbox"> Testing cash-or-nothing double barrier options against Haug's values...

Digital option tests

  • <input checked="" disabled="" type="checkbox"> Testing European cash-or-nothing digital option...
  • <input checked="" disabled="" type="checkbox"> Testing European asset-or-nothing digital option...
  • <input checked="" disabled="" type="checkbox"> Testing European gap digital option...
  • <input checked="" disabled="" type="checkbox"> Testing American cash-(at-hit)-or-nothing digital option...
  • <input checked="" disabled="" type="checkbox"> Testing American asset-(at-hit)-or-nothing digital option...
  • <input checked="" disabled="" type="checkbox"> Testing American cash-(at-expiry)-or-nothing digital option...
  • <input checked="" disabled="" type="checkbox"> Testing American asset-(at-expiry)-or-nothing digital option...
  • <input checked="" disabled="" type="checkbox"> Testing American cash-(at-hit)-or-nothing digital option greeks...
  • <input disabled="" type="checkbox"> Testing Monte Carlo cash-(at-hit)-or-nothing American engine...

Extensible option tests

  • <input checked="" disabled="" type="checkbox"> Testing analytic engine for holder-extensible option...
  • <input checked="" disabled="" type="checkbox"> Testing analytic engine for writer-extensible option...

Everest-option tests

  • <input checked="" disabled="" type="checkbox"> Testing Everest option against cached values...

Himalaya-option tests

  • <input checked="" disabled="" type="checkbox"> Testing Himalaya option against cached values...

Lookback option tests

  • <input checked="" disabled="" type="checkbox"> Testing analytic continuous floating-strike lookback options...
  • <input checked="" disabled="" type="checkbox"> Testing analytic continuous fixed-strike lookback options...
  • <input checked="" disabled="" type="checkbox"> Testing analytic continuous partial floating-strike lookback options...
  • <input checked="" disabled="" type="checkbox"> Testing analytic continuous fixed-strike lookback options...

Exchange option tests

  • <input checked="" disabled="" type="checkbox"> Testing European one-asset-for-another option...
  • <input checked="" disabled="" type="checkbox"> Testing analytic European exchange option greeks...
  • <input checked="" disabled="" type="checkbox"> Testing American one-asset-for-another option...

Pagoda-option tests

  • <input checked="" disabled="" type="checkbox"> Testing pagoda option against cached values...

Partial-time