diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md
new file mode 100644
index 000000000..a1169c712
--- /dev/null
+++ b/.github/CODE_OF_CONDUCT.md
@@ -0,0 +1,43 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment include:
+
+* Using welcoming and inclusive language
+* Being respectful of differing viewpoints and experiences
+* Gracefully accepting constructive criticism
+* Focusing on what is best for the community
+* Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery and unwelcome sexual attention or advances
+* Trolling, insulting/derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or electronic address, without explicit permission
+* Other conduct which could reasonably be considered inappropriate in a professional setting
+
+## Our Responsibilities
+
+Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
+
+Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at a.maggiulli@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
+
+Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4.
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
new file mode 100644
index 000000000..f506cf261
--- /dev/null
+++ b/.github/CONTRIBUTING.md
@@ -0,0 +1,123 @@
+# Contributing to QLNet
+
+Love QLNet and want to help? Thanks so much, there's something to do for everybody!
+
+Please take a moment to review this document in order to make the contribution process easy and effective for everyone involved.
+
+Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue or assessing patches and features.
+
+## Using the issue tracker
+
+The [issue tracker](https://github.com/amaggiulli/qlnet/issues) is
+the preferred channel for [bug reports](#bugs), [features requests](#features)
+and [submitting pull requests](#pull-requests).
+
+
+## Bug reports
+
+A bug is a _demonstrable problem_ that is caused by the code in the repository.
+Good bug reports are extremely helpful - thank you!
+
+Guidelines for bug reports:
+
+1. **Use the GitHub issue search** — check if the issue has already been reported.
+
+2. **Check if the issue has been fixed** — try to reproduce it using the latest `master` or development branch in the repository.
+
+3. **Isolate the problem** —
+
+A good bug report shouldn't leave others needing to chase you up for more information. Please try to be as detailed as possible in your report. What is your environment? What steps will reproduce the issue? What OS
+experience the problem? What version of .NET Framework ? All these details will help people to fix any potential bugs.
+
+Example:
+
+> Short and descriptive example bug report title
+>
+> A summary of the issue and the .NET/OS environment in which it occurs. If
+> suitable, include the steps required to reproduce the bug.
+>
+> 1. This is the first step
+> 2. This is the second step
+> 3. Further steps, etc.
+>
+> `` - a link to the reduced test case
+>
+> Any other information you want to share that is relevant to the issue being
+> reported. This might include the lines of code that you have identified as
+> causing the bug, and potential solutions (and your opinions on their
+> merits).
+
+
+
+## Feature requests
+
+Feature requests are welcome. But take a moment to find out whether your idea fits with the scope and aims of the project. It's up to *you* to make a strong case to convince the project's developers of the merits of this feature. Please provide as much detail and context as possible.
+
+
+
+## Pull requests
+
+Good pull requests - patches, improvements, new features - are a fantastic
+help. They should remain focused in scope and avoid containing unrelated
+commits.
+
+**Please ask first** before embarking on any significant pull request (e.g.
+implementing features, refactoring code, porting to a different language),
+otherwise you risk spending a lot of time working on something that the
+project's developers might not want to merge into the project.
+
+Please adhere to the coding conventions used throughout a project (indentation,
+accurate comments, etc.) and any other requirements (such as test coverage).
+
+Adhering to the following process is the best way to get your work
+included in the project:
+
+1. [Fork](https://help.github.com/articles/fork-a-repo/) the project, clone your fork, and configure the remotes:
+
+ ```bash
+ # Clone your fork of the repo into the current directory
+ git clone https://github.com//qlnet.git
+ # Navigate to the newly cloned directory
+ cd qlnet
+ # Assign the original repo to a remote called "upstream"
+ git remote add upstream https://github.com/amaggiulli/qlnet.git
+ ```
+
+2. If you cloned a while ago, get the latest changes from upstream:
+
+ ```bash
+ git checkout develop
+ git pull upstream develop
+ ```
+
+3. Create a new topic branch (off the main project development branch) to contain your feature, change, or fix:
+
+ ```bash
+ git checkout -b some-feature develop
+ ```
+
+4. Commit your changes in logical chunks. Please adhere to the project git commit message guideline or your code is unlikely be merged into the main project. Use Git's [interactive rebase](https://help.github.com/articles/about-git-rebase/) feature to tidy up your commits before making them public.
+
+5. Locally merge (or rebase) the upstream development branch into your topic branch:
+
+ ```bash
+ git pull [--rebase] upstream develop
+ ```
+
+6. Push your topic branch up to your fork:
+
+ ```bash
+ git push origin
+ ```
+
+7. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/)
+ with a clear title and description.
+
+To help you get your feet wet and get you familiar with our contribution process, we have a list of [good first issues](https://github.com/amaggiulli/qlnet/issues?q=is:open+is:issue+label:"good+first+issue") that contain bugs that have a relatively limited scope. This is a great place to get started.
+
+If you decide to fix an issue, please be sure to check the comment thread in case somebody is already working on a fix. If nobody is working on it at the moment, please leave a comment stating that you intend to work on it so other people don’t accidentally duplicate your effort.
+
+If somebody claims an issue but doesn’t follow up for more than two weeks, it’s fine to take over it but you should still leave a comment.
+
+**IMPORTANT**: By submitting a patch, you agree to allow the project
+owners to license your work under the terms of the [BSD3 License](https://github.com/amaggiulli/QLNet/blob/develop/LICENSE).
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
new file mode 100644
index 000000000..e2136bdb5
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE.md
@@ -0,0 +1,31 @@
+
+
+## Expected Behavior
+
+
+
+## Current Behavior
+
+
+
+## Possible Solution
+
+
+
+## Steps to Reproduce (for bugs)
+
+
+1.
+2.
+3.
+4.
+
+## Context
+
+
+
+## Your Environment
+
+* Version used ( e.g. QLNet 1.9.2 )
+* Environment name and version (e.g. .NET Framework 4.5 on Windows 7):
+* Link to your fork
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 000000000..bd7f29f44
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,23 @@
+## QLNet
+
+Thank you for contributing! Take a moment to review our [**contributing guidelines**](https://github.com/amaggiulli/qlnet/blob/develop/.github/CONTRIBUTING.md)
+to make the process easy and effective for everyone involved.
+
+**You must open an issue** before embarking on any significant pull request, especially those that
+add a new code or change existing tests, otherwise you risk spending a lot of time working
+on something that might not end up being merged into the project.
+
+Before opening a pull request, please ensure:
+
+- [ ] You have followed our [**contributing guidelines**](https://github.com/amaggiulli/qlnet/blob/develop/.github/CONTRIBUTING.md)
+- [ ] Pull request has tests
+- [ ] Code is well-commented and follows project conventions
+- [ ] You only changed necessary files (commits with formatting only changes will be reject, see below)
+- [ ] Documentation is updated (if necessary)
+- [ ] Description explains the issue/use-case resolved and auto-closes related issues
+- [ ] **IMPORTANT** You have executed the format_code.bat batch in the root of your fork to format the code with qlnet standard.
+
+Be kind to code reviewers, please try to keep pull requests as small and focused as possible :)
+
+**IMPORTANT**: By submitting a patch via a Pull Request, you agree to allow the project
+owners to license your work under the terms of the [BSD3 License](https://github.com/amaggiulli/qlnet/blob/develop/LICENSE).
diff --git a/ChangeLog.txt b/ChangeLog.txt
index 6d6e661c7..dc866ef89 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,1702 +1,2586 @@
-commit 4bd55d80a5f7320175a1f3da9224237b3423fe12
-Merge: 440c673 763bdd7
+commit 6cf92a77edb292dd6e0ac17916d40c7dd8718304
Author: Andrea Maggiulli
-Date: Mon Oct 30 12:31:33 2017 +0100
+Date: Sat Jun 9 18:01:13 2018 +0200
- Merge pull request #180 from tournierjc/SviInterpolationCtorMissingParam
-
- Svi interpolation ctor missing param
-
-commit 440c6737dc545b088568f21a3166d15bed500222
-Merge: 4cb47c8 2247182
-Author: Andrea Maggiulli
-Date: Mon Oct 30 12:31:23 2017 +0100
-
- Merge pull request #179 from tournierjc/NewGettersBlackVarianceSurface
-
- New getters black variance surface
-
-commit 763bdd7486d34151e098dc26f4106f13b0f47c6f
-Author: tournierjc
-Date: Mon Oct 30 11:53:57 2017 +0100
+ Added raw calculation for WeightedAverageLife given a list of dates and a list of amounts.
- addParams was missing
+ src/QLNet/Pricingengines/Bond/BondFunctions.cs | 31 ++++++++++++++++++++++++++
+ tests/QLNet.Tests/T_Bonds.cs | 19 ++++++++++++++++
+ 2 files changed, 50 insertions(+)
- src/QLNet/Math/Interpolations/SviInterpolation.cs | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-commit 2247182e30c33ebb831852b60c90b082c9b59641
-Author: tournierjc
-Date: Mon Oct 30 11:50:03 2017 +0100
-
- Add public getters for BlackVarianceSurface
-
- .../Volatility/equityfx/BlackVarianceSurface.cs | 19 +++++++++++++++----
- 1 file changed, 15 insertions(+), 4 deletions(-)
-
-commit d78aae5b43fcfb5359b73014a22c4a46d00d8f66
-Merge: 43dd1ff 4cb47c8
-Author: tournierjc
-Date: Mon Oct 30 11:49:21 2017 +0100
+commit c5bd5e10a6e84a18b6fc4686aa2e691b8e747d77
+Merge: c7e5102 b4fe2d2
+Author: Andrea Maggiulli
+Date: Mon Apr 9 16:52:48 2018 +0200
- Merge pull request #4 from amaggiulli/develop
+ Merge pull request #203 from igitur/indexmanager-trygethistory
- last merge
+ Add helper method IndexManager.tryGetHistory
-commit 4cb47c82a4b7822a2bbe8858367f09ca37b405e7
-Merge: 35fdae7 33c7ab3
-Author: Andrea Maggiulli
-Date: Mon Oct 30 09:45:26 2017 +0100
+commit b4fe2d2449d853ede448844bbe765053b329c537
+Author: Francois Botha
+Date: Mon Apr 9 16:22:53 2018 +0200
- Merge pull request #178 from tournierjc/FdmBermudanSwaptionHW
-
- Fdm bermudan swaption hw
+ Add helper method IndexManager.tryGetHistory
-commit 35fdae7745ca66ece0e7dcad0285dcc7586f08e3
-Merge: 9f99b0e 077c4a4
-Author: Andrea Maggiulli
-Date: Mon Oct 30 09:45:15 2017 +0100
+ src/QLNet/Indexes/Indexmanager.cs | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
- Merge pull request #177 from tournierjc/ProjetFileFix
-
- Projet file fix
-
-commit 9f99b0e3f0286497b169fae0c78bef4cc40f973b
-Merge: fae51c7 529e46d
-Author: Andrea Maggiulli
-Date: Mon Oct 30 09:45:02 2017 +0100
+commit c7e5102e339f2b8a6c258c10ac4565561093c3dc
+Merge: 3a6a865 2b6d998
+Author: Andrea Maggiulli
+Date: Thu Apr 5 16:39:57 2018 +0200
- Merge pull request #176 from tournierjc/DoubleBarrierBinaryOptionPort
+ Merge pull request #202 from igitur/fix-LfmCovarianceProxy-filename
- Double barrier binary option port
+ Fix filename after rename
-commit 529e46d7e8ec90c40d705e49a8a36119ffa5d859
-Author: tournierjc
-Date: Fri Oct 27 09:19:15 2017 +0200
-
- Fix some SonarQube issues
-
- .../barrier/AnalyticDoubleBarrierBinaryEngine.cs | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
+commit 2b6d998f91eca90910bc319102fd56285b052fa0
+Author: Francois Botha
+Date: Thu Apr 5 16:18:01 2018 +0200
-commit 33c7ab3ed0019e0c641718cddeb2d0e96643f8dd
-Author: tournierjc
-Date: Fri Oct 27 09:13:44 2017 +0200
+ Fix filename after rename in https://github.com/amaggiulli/QLNet/commit/c0ea99c26b198c04bf51de5dad55394b9debe3e5
- Add files via upload
-
- src/QLNet/Pricingengines/vanilla/FdHullWhiteSwaptionEngine.cs | 4 ++--
+ src/QLNet.Old/QLNet.Old.csproj | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-commit 406f84ea86f2a0d6703b4743636952607b78c5a4
-Author: tournierjc
-Date: Fri Oct 27 09:13:19 2017 +0200
-
- Fix SonarQube
-
- .../Methods/Finitedifferences/Meshers/FdmSimpleProcess1dMesher.cs | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit 66c5b10998ba21a5d929bf607e915ae30ddc0ccb
-Author: tournierjc
-Date: Fri Oct 27 09:10:30 2017 +0200
-
- Fix SonarQube
-
- .../Methods/Finitedifferences/Operators/FdmHullWhiteOp.cs | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-commit 243e81d3aefff54c9495af5d641c8d1d5303df0e
-Author: tournierjc
-Date: Fri Oct 27 09:09:53 2017 +0200
-
- Fix AppVeyor
-
- .../Finitedifferences/StepConditions/FdmBermudanStepCondition.cs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit a9ff37f70198f00b0b1a561a4014959979bb8670
-Author: tournierjc
-Date: Fri Oct 27 09:09:19 2017 +0200
-
- Fix SonarQube
-
- .../Finitedifferences/Utilities/FdmAffineModelSwapInnerValue.cs | 4 ++--
- .../Finitedifferences/Utilities/FdmAffineModelTermStructure.cs | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-commit 43dd1fff6d26167633b975ab7c08f7bb0c8433c8
-Author: tournierjc
-Date: Fri Oct 27 09:07:07 2017 +0200
-
- Fix SonarQube
-
- .../Utilities/FdmAffineModelSwapInnerValue.cs | 132 +++++++++++++++++++++
- .../Utilities/FdmAffineModelTermStructure.cs | 59 +++++++++
- 2 files changed, 191 insertions(+)
-
-commit 71f929423b24dd49f21d97f6a783888f2427d3d9
-Author: tournierjc
-Date: Thu Oct 26 18:54:48 2017 +0200
-
- Update project file
-
- src/QLNet.Old/QLNet.Old.csproj | 20 +++++++++++++++++++-
- 1 file changed, 19 insertions(+), 1 deletion(-)
-
-commit 077c4a4d9f84955e375fc10622c4960bd520019a
-Author: tournierjc
-Date: Thu Oct 26 18:38:05 2017 +0200
-
- I missed a line in #175
-
- src/QLNet.Old/QLNet.Old.csproj | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 8a7dde3d2264964a904a0065c2221de7c151e77e
-Author: tournierjc
-Date: Thu Oct 26 18:28:31 2017 +0200
-
- Update test case
-
- tests/QLNet.Tests/T_Bermudanswaption.cs | 56 ++++++++++++++++++++++-----------
- 1 file changed, 38 insertions(+), 18 deletions(-)
-
-commit 4a3ffec87f2c8b156da8bb73d51952c373f67768
-Author: tournierjc
-Date: Thu Oct 26 18:27:44 2017 +0200
-
- Add HW swaption engine
-
- .../vanilla/FdHullWhiteSwaptionEngine.cs | 117 +++++++++++++++++++++
- 1 file changed, 117 insertions(+)
-
-commit c92776e9186201d3d4858b6bcfd074c04b08c7d7
-Author: tournierjc
-Date: Thu Oct 26 18:26:48 2017 +0200
-
- 1 line was missing
-
- src/QLNet/Methods/Finitedifferences/finitedifferencemodel.cs | 1 +
- 1 file changed, 1 insertion(+)
-
-commit 48780ce12da77cf4595b2eb777f441b5961b4558
-Author: tournierjc
-Date: Thu Oct 26 18:26:08 2017 +0200
-
- Affine model utilities add
-
- .../Utilities/FdmAffineModelSwapInnerValue.cs | 132 +++++++++++++++++++++
- .../Utilities/FdmAffineModelTermStructure.cs | 59 +++++++++
- 2 files changed, 191 insertions(+)
-
-commit ac9f04a20005b7024dfc9354adb5d2e81e7964a9
-Author: tournierjc
-Date: Thu Oct 26 18:25:14 2017 +0200
-
- Bermudan condition bug fix
-
- .../Finitedifferences/StepConditions/FdmBermudanStepCondition.cs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 2ffa5dfd90f966610b8a7b1eb821cdf595e46d55
-Author: tournierjc
-Date: Thu Oct 26 18:24:36 2017 +0200
-
- FDM Hull White Solver add
-
- .../Solvers/FdmHullWhiteSolver.cs | 65 ++++++++++++++++++++++
- 1 file changed, 65 insertions(+)
-
-commit 103091cdb1c34ffc0202793d67ab404f5bb208de
-Author: tournierjc
-Date: Thu Oct 26 18:23:17 2017 +0200
-
- TripleBandLinear op bug fix
-
- .../Finitedifferences/Operators/TripleBandLinearOp.cs | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-commit a0161badfeb67301683f48dfed1e8d84b45bc079
-Author: tournierjc
-Date: Thu Oct 26 18:22:43 2017 +0200
-
- Hull White operator add
-
- .../Finitedifferences/Operators/FdmHullWhiteOp.cs | 105 +++++++++++++++++++++
- 1 file changed, 105 insertions(+)
-
-commit ee20b5b90f25ee27dbaecea5163e0b37bd8a2798
-Author: tournierjc
-Date: Thu Oct 26 18:21:55 2017 +0200
-
- 1D Simple mesher add
-
- .../Meshers/FdmSimpleProcess1dMesher.cs | 74 ++++++++++++++++++++++
- 1 file changed, 74 insertions(+)
-
-commit 59f451c70f50e151dd653adb5fa80ad2a7ae6d26
-Author: tournierjc
-Date: Wed Oct 25 17:39:06 2017 +0200
-
- Add pricing engines
-
- .../barrier/AnalyticDoubleBarrierBinaryEngine.cs | 322 +++++++++++++++++++++
- .../barrier/BinomialDoubleBarrierEngine.cs | 154 ++++++++++
- .../barrier/DiscretizedDoubleBarrierOption.cs | 270 +++++++++++++++++
- 3 files changed, 746 insertions(+)
-
-commit a7eb97586af20cd17d96d4d12e4c272364a972f8
-Author: tournierjc
-Date: Wed Oct 25 17:37:14 2017 +0200
-
- Add test
-
- tests/QLNet.Tests/T_DoubleBinaryOption.cs | 282 ++++++++++++++++++++++++++++++
- 1 file changed, 282 insertions(+)
-
-commit 8f01ba3dc1759a3a7df6c4ec7c802d9267528aea
-Author: tournierjc
-Date: Wed Oct 25 17:36:39 2017 +0200
-
- QLNet Tests old project file
-
- tests/QLNet.Tests.Old/QLNet.Tests.Old.csproj | 1 +
- 1 file changed, 1 insertion(+)
-
-commit ce2a6c6d839c9cb5fe21bad84619042ad0da293a
-Author: tournierjc
-Date: Wed Oct 25 17:36:04 2017 +0200
-
- QLNet Old project file
-
- src/QLNet.Old/QLNet.Old.csproj | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-commit ba2136e79db1a9185ab4318afb1c2385c27a86de
-Merge: 5ae4482 fae51c7
-Author: tournierjc
-Date: Wed Oct 25 16:37:29 2017 +0200
-
- Merge pull request #3 from amaggiulli/develop
-
- Merge from QLnet
-
-commit fae51c7bf38743ee11b05454ab69ced327cf4244
-Merge: 4071869 0f5594d
+commit 3a6a865bb791df07012c4fd7f7663d18c346c3bc
Author: Andrea Maggiulli
-Date: Wed Oct 25 15:03:34 2017 +0200
+Date: Wed Feb 28 15:37:21 2018 +0100
- Merge pull request #175 from tournierjc/Update_QLNet_Old
-
- Update QLNet Old Project files
-
-commit 0f5594dd7ec7d104101610e7be8d2398e51b7881
-Author: tournierjc
-Date: Wed Oct 25 14:21:11 2017 +0200
+ Added Range Accrual tests and fixed 2 bugs on RangeAccrual and InterpolatedSmileSection
- Update QLNet.Test.Old projet file
-
- Were missing last PR : FdmLinearOp and CreditDefaultSwap
-
- tests/QLNet.Tests.Old/QLNet.Tests.Old.csproj | 1 +
- 1 file changed, 1 insertion(+)
-
-commit d952b86afadd9cef1845f8dcf34126890081f672
-Author: tournierjc
-Date: Wed Oct 25 14:20:20 2017 +0200
+ src/QLNet/Cashflows/RangeAccrual.cs | 2 +-
+ .../Volatility/InterpolatedSmileSection.cs | 10 +
+ tests/QLNet.Tests/T_RangeAccrual.cs | 1584 ++++++++++++++++++++
+ 3 files changed, 1595 insertions(+), 1 deletion(-)
- Update QLNet.Old projet file
-
- Were missing last PR : FDM + Local Volatility + CDS ISDA Engine
-
- src/QLNet.Old/QLNet.Old.csproj | 180 +++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 180 insertions(+)
-
-commit 407186955c71e019c9899ed6af387279c16c8e9f
+commit 1d2312bcd32b82d39f8fa6275280331234fb28c5
Author: Andrea Maggiulli
-Date: Fri Oct 20 12:24:39 2017 +0200
+Date: Tue Feb 6 13:59:06 2018 +0100
- Traits cleanup & update.
+ Updated BlackVanillaOptionPricer constructor, check volatility type and shift.
- .../Termstructures/Credit/ProbabilityTraits.cs | 178 ++++++++++++++++++---
- .../Termstructures/Inflation/InflationTraits.cs | 61 +------
- .../Inflation/PiecewiseYoYInflationCurve.cs | 8 -
- .../Inflation/PiecewiseZeroInflationCurve.cs | 8 -
- src/QLNet/Termstructures/Yield/Bootstraptraits.cs | 86 +---------
- .../Termstructures/Yield/PiecewiseYieldCurve.cs | 5 -
- 6 files changed, 163 insertions(+), 183 deletions(-)
+ src/QLNet/Cashflows/ConundrumPricer.cs | 4 ++++
+ 1 file changed, 4 insertions(+)
-commit 7bd298f045176abea39eb50eb04c08ce0bbe29b6
+commit ef4dbd40e6eb76a73984b51216c1824d1a37b8de
Author: Andrea Maggiulli
-Date: Wed Oct 18 17:30:08 2017 +0200
+Date: Tue Feb 6 13:43:12 2018 +0100
- Added IsdaCdsEngine, InterpolatedSurvivalProbabilityCurve and SurvivalProbabilityStructure with test .
+ Updated day count convention and spot lag by CAD fixings.
- src/QLNet/Pricingengines/credit/IsdaCdsEngine.cs | 432 +++++++++++++++++++++
- .../Credit/InterpolatedSurvivalProbabilityCurve.cs | 166 ++++++++
- .../Credit/SurvivalProbabilityStructure.cs | 74 ++++
- tests/QLNet.Tests/T_CreditDefaultSwap.cs | 144 ++++++-
- 4 files changed, 815 insertions(+), 1 deletion(-)
+ src/QLNet/Indexes/Ibor/Cadlibor.cs | 32 +++++++++++++++++++++-----------
+ src/QLNet/Indexes/Ibor/Cdor.cs | 32 +++++++++++++++++---------------
+ 2 files changed, 38 insertions(+), 26 deletions(-)
-commit 41ed73f7b8c1ef7547c75bb0bd758360c5de583c
+commit e59cdfed0bc1fcadf652d962e7a45ef968bd9b12
Author: Andrea Maggiulli
-Date: Wed Oct 18 17:26:10 2017 +0200
+Date: Tue Feb 6 12:49:47 2018 +0100
- Updated Actual360 daycounter to include/exclude last day
+ Updated Vanna Volga test values according with previous fix to double barrier KI.
- src/QLNet/Time/DayCounters/Actual360.cs | 67 ++++++++++++++++++++++-----------
- 1 file changed, 46 insertions(+), 21 deletions(-)
+ tests/QLNet.Tests/T_DoubleBarrierOption.cs | 180 +++++++++++++----------------
+ 1 file changed, 82 insertions(+), 98 deletions(-)
-commit 1bdedbdd76257963549e4068ee72dbf831809de2
+commit eac972a2f10a667c96be3df15e92e81df05f0c3a
Author: Andrea Maggiulli
-Date: Wed Oct 18 17:25:12 2017 +0200
+Date: Tue Feb 6 12:24:01 2018 +0100
- Updated Schedule for CDS2015 with test.
+ Fixed bug in Vanna-Volga method for double barrier knock in options.
- src/QLNet/Time/Schedule.cs | 468 ++++++++++++++++++++++------------------
- tests/QLNet.Tests/T_Schedule.cs | 44 +++-
- 2 files changed, 301 insertions(+), 211 deletions(-)
+ .../barrier/VannaVolgaBarrierEngine.cs | 20 +++++++++++++-------
+ .../barrier/VannaVolgaDoubleBarrierEngine.cs | 4 ++--
+ 2 files changed, 15 insertions(+), 9 deletions(-)
-commit 30afffab64083a8360c8eed51db58e18d1b0f351
+commit 1e7f51dcb3590bdfcdbe68fd108b6035df4ea1f6
+Merge: 19269b8 d807825
Author: Andrea Maggiulli
-Date: Wed Oct 18 17:22:50 2017 +0200
+Date: Tue Feb 6 11:55:00 2018 +0100
- Added LastPeriodDayCounter to FixedRateCoupon
-
- src/QLNet/Cashflows/FixedRateCoupon.cs | 28 ++++++++++++++++++++--------
- 1 file changed, 20 insertions(+), 8 deletions(-)
+ Merge branch 'develop' of https://github.com/amaggiulli/qlnet into develop
-commit be3a170839ff5d98b5bbaf2a214305949ac1be73
+commit 19269b86bf31caad7bce1eb3f6de5ac665070d6a
Author: Andrea Maggiulli
-Date: Wed Oct 18 17:21:53 2017 +0200
+Date: Tue Feb 6 11:54:20 2018 +0100
- Updated CreditDefaultSwap + helper
+ Added Kirk Option Engine with test.
- src/QLNet/Instruments/CreditDefaultSwap.cs | 523 ++++++++++++++++++-----------
- src/QLNet/Instruments/MakeCDS.cs | 122 +++++++
- src/QLNet/Types.cs | 5 +-
- 3 files changed, 452 insertions(+), 198 deletions(-)
+ src/QLNet/Instruments/SpreadOption.cs | 35 ++++
+ .../Option/KirkSpreadOptionEngine.cs | 106 ++++++++++++
+ tests/QLNet.Tests/T_SpreadOption.cs | 189 +++++++++++++++++++++
+ 3 files changed, 330 insertions(+)
-commit bb61b6794e3c01a9ed580715ba38afc70de0cd27
-Author: Andrea Maggiulli
-Date: Wed Oct 18 14:05:35 2017 +0200
+commit d807825f1c925b4bae6bbe6b9977fe47e9d59672
+Author: Andrea Maggiulli
+Date: Tue Feb 6 10:17:00 2018 +0100
- Fixed floating comparison
+ Updated CONTRIBUTING.md [skip ci]
- tests/QLNet.Tests/Utilities.cs | 2 +-
+ .github/CONTRIBUTING.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-commit a26aeddb912b4738b1e28c26a1c97edbdd181b35
+commit 00b1f476e4743b5a69d33edca5ea97c79549efd5
Author: Andrea Maggiulli
-Date: Wed Oct 18 14:03:34 2017 +0200
+Date: Tue Feb 6 00:13:24 2018 +0100
+
+ Updated Copyright License link to github.
+
+ src/BermudanSwaption/BermudanSwaption.cs | 2 +-
+ src/Bonds/Bonds.cs | 2 +-
+ src/CVAIRS/CVAIRS.cs | 2 +-
+ src/CallableBonds/CallableBonds.cs | 4 ++--
+ src/EquityOption/EquityOption.cs | 2 +-
+ src/FRA/FRA.cs | 2 +-
+ src/FittedBondCurve/FittedBondCurve.cs | 2 +-
+ src/QLNet/CashflowBase.cs | 2 +-
+ src/QLNet/Cashflows/AverageBMACoupon.cs | 2 +-
+ src/QLNet/Cashflows/CPICoupon.cs | 2 +-
+ src/QLNet/Cashflows/CPICouponPricer.cs | 2 +-
+ src/QLNet/Cashflows/CappedFlooredCoupon.cs | 2 +-
+ .../Cashflows/CappedFlooredYoYInflationCoupon.cs | 2 +-
+ src/QLNet/Cashflows/CashFlows.cs | 2 +-
+ src/QLNet/Cashflows/Cashflowvectors.cs | 2 +-
+ src/QLNet/Cashflows/CmsCoupon.cs | 2 +-
+ src/QLNet/Cashflows/CmsSpreadCoupon.cs | 2 +-
+ src/QLNet/Cashflows/ConundrumPricer.cs | 2 +-
+ src/QLNet/Cashflows/Coupon.cs | 2 +-
+ src/QLNet/Cashflows/CouponPricer.cs | 2 +-
+ src/QLNet/Cashflows/DigitalCmsCoupon.cs | 2 +-
+ src/QLNet/Cashflows/DigitalCoupon.cs | 2 +-
+ src/QLNet/Cashflows/DigitalIborCoupon.cs | 2 +-
+ src/QLNet/Cashflows/Dividend.cs | 2 +-
+ src/QLNet/Cashflows/FixedRateCoupon.cs | 2 +-
+ src/QLNet/Cashflows/FloatingRateCoupon.cs | 2 +-
+ src/QLNet/Cashflows/Iborcoupon.cs | 2 +-
+ src/QLNet/Cashflows/IndexedCashFlow.cs | 2 +-
+ src/QLNet/Cashflows/InflationCoupon.cs | 2 +-
+ src/QLNet/Cashflows/InflationCouponPricer.cs | 2 +-
+ src/QLNet/Cashflows/LinearTsrPricer.cs | 2 +-
+ src/QLNet/Cashflows/OvernightIndexedCoupon.cs | 2 +-
+ src/QLNet/Cashflows/Principal.cs | 2 +-
+ src/QLNet/Cashflows/PrincipalLegBase.cs | 2 +-
+ src/QLNet/Cashflows/RangeAccrual.cs | 2 +-
+ src/QLNet/Cashflows/RateLegBase.cs | 2 +-
+ src/QLNet/Cashflows/Replication.cs | 2 +-
+ src/QLNet/Cashflows/SimpleCashFlow.cs | 2 +-
+ src/QLNet/Cashflows/YoYInflationCoupon.cs | 2 +-
+ src/QLNet/Currencies/Africa.cs | 2 +-
+ src/QLNet/Currencies/America.cs | 2 +-
+ src/QLNet/Currencies/Asia.cs | 2 +-
+ src/QLNet/Currencies/Currency.cs | 2 +-
+ src/QLNet/Currencies/Europe.cs | 2 +-
+ src/QLNet/Currencies/ExchangeRate.cs | 2 +-
+ src/QLNet/Currencies/ExchangeRateManager.cs | 2 +-
+ src/QLNet/Currencies/Oceania.cs | 2 +-
+ src/QLNet/DiscretizedAsset.cs | 2 +-
+ src/QLNet/Event.cs | 2 +-
+ src/QLNet/Exercise.cs | 2 +-
+ src/QLNet/Extensions/DoubleExtension.cs | 2 +-
+ src/QLNet/Grid.cs | 2 +-
+ src/QLNet/Handle.cs | 2 +-
+ src/QLNet/Index.cs | 2 +-
+ src/QLNet/Indexes/BMAIndex.cs | 2 +-
+ src/QLNet/Indexes/IBORIndex.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Aonia.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Audlibor.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Bbsw.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Bkbm.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Cadlibor.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Cdor.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Chflibor.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Dkklibor.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Eonia.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Euribor.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Eurlibor.cs | 2 +-
+ src/QLNet/Indexes/Ibor/FedFunds.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Gbplibor.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Jibar.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Jpylibor.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Libor.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Nzdlibor.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Nzocr.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Seklibor.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Shibor.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Sonia.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Tibor.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Trylibor.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Usdlibor.cs | 2 +-
+ src/QLNet/Indexes/Ibor/Zibor.cs | 2 +-
+ src/QLNet/Indexes/Indexmanager.cs | 2 +-
+ src/QLNet/Indexes/Inflation/AUCPI.cs | 2 +-
+ src/QLNet/Indexes/Inflation/EUHICP.cs | 2 +-
+ src/QLNet/Indexes/Inflation/FRHICP.cs | 2 +-
+ src/QLNet/Indexes/Inflation/UKRPI.cs | 2 +-
+ src/QLNet/Indexes/Inflation/USCPI.cs | 2 +-
+ src/QLNet/Indexes/Inflation/ZACPI.cs | 2 +-
+ src/QLNet/Indexes/InflationIndex.cs | 2 +-
+ src/QLNet/Indexes/InterestRateIndex.cs | 2 +-
+ src/QLNet/Indexes/Region.cs | 2 +-
+ src/QLNet/Indexes/Swapindex.cs | 2 +-
+ src/QLNet/Indexes/swap/ChfLiborSwap.cs | 2 +-
+ src/QLNet/Indexes/swap/EurLiborSwap.cs | 2 +-
+ src/QLNet/Indexes/swap/EuriborSwap.cs | 2 +-
+ src/QLNet/Indexes/swap/GbpLiborSwap.cs | 2 +-
+ src/QLNet/Indexes/swap/JpyLiborSwap.cs | 2 +-
+ src/QLNet/Indexes/swap/SwapSpreadIndex.cs | 2 +-
+ src/QLNet/Indexes/swap/UsdLiborSwap.cs | 2 +-
+ src/QLNet/Instruments/AsianOption.cs | 2 +-
+ src/QLNet/Instruments/AssetSwap.cs | 2 +-
+ src/QLNet/Instruments/AverageType.cs | 2 +-
+ src/QLNet/Instruments/BMASwap.cs | 2 +-
+ src/QLNet/Instruments/BarrierOption.cs | 2 +-
+ src/QLNet/Instruments/BarrierType.cs | 2 +-
+ src/QLNet/Instruments/BasisSwap.cs | 2 +-
+ src/QLNet/Instruments/BasketOption.cs | 2 +-
+ src/QLNet/Instruments/Bond.cs | 2 +-
+ src/QLNet/Instruments/Bonds/AmortizingBond.cs | 2 +-
+ .../Instruments/Bonds/AmortizingCmsRateBond.cs | 2 +-
+ .../Instruments/Bonds/AmortizingFixedRateBond.cs | 2 +-
+ .../Bonds/AmortizingFloatingRateBond.cs | 2 +-
+ src/QLNet/Instruments/Bonds/BTP.cs | 2 +-
+ src/QLNet/Instruments/Bonds/BondFactory.cs | 2 +-
+ src/QLNet/Instruments/Bonds/CPIBond.cs | 2 +-
+ src/QLNet/Instruments/Bonds/CallableBond.cs | 2 +-
+ src/QLNet/Instruments/Bonds/CmsRateBond.cs | 2 +-
+ src/QLNet/Instruments/Bonds/ConstantCPR.cs | 2 +-
+ src/QLNet/Instruments/Bonds/ConvertibleBond.cs | 2 +-
+ .../Bonds/DiscretizedCallableFixedRateBond.cs | 2 +-
+ src/QLNet/Instruments/Bonds/Fixedratebond.cs | 2 +-
+ src/QLNet/Instruments/Bonds/FloatingRateBond.cs | 2 +-
+ src/QLNet/Instruments/Bonds/IPrepayModel.cs | 2 +-
+ src/QLNet/Instruments/Bonds/MBSFixedRateBond.cs | 2 +-
+ src/QLNet/Instruments/Bonds/PSACurve.cs | 2 +-
+ src/QLNet/Instruments/Bonds/Zerocouponbond.cs | 2 +-
+ src/QLNet/Instruments/CPICapFloor.cs | 2 +-
+ src/QLNet/Instruments/CPISwap.cs | 2 +-
+ src/QLNet/Instruments/Callability.cs | 2 +-
+ src/QLNet/Instruments/CapFloor.cs | 2 +-
+ src/QLNet/Instruments/Claim.cs | 2 +-
+ src/QLNet/Instruments/CliquetOption.cs | 2 +-
+ src/QLNet/Instruments/CompositeInstrument.cs | 2 +-
+ src/QLNet/Instruments/CreditDefaultSwap.cs | 2 +-
+ src/QLNet/Instruments/DividendBarrierOption.cs | 2 +-
+ src/QLNet/Instruments/DividendSchedule.cs | 2 +-
+ src/QLNet/Instruments/DividendVanillaOption.cs | 2 +-
+ src/QLNet/Instruments/DoubleBarrierOption.cs | 2 +-
+ src/QLNet/Instruments/EuropeanOption.cs | 2 +-
+ src/QLNet/Instruments/FixedRateBondForward.cs | 2 +-
+ src/QLNet/Instruments/FloatFloatSwap.cs | 2 +-
+ src/QLNet/Instruments/Forward.cs | 2 +-
+ src/QLNet/Instruments/ForwardRateAgreement.cs | 2 +-
+ src/QLNet/Instruments/ForwardVanillaOption.cs | 2 +-
+ src/QLNet/Instruments/Futures.cs | 2 +-
+ src/QLNet/Instruments/ImpliedVolatility.cs | 2 +-
+ src/QLNet/Instruments/InflationCapFloor.cs | 2 +-
+ src/QLNet/Instruments/Instrument.cs | 2 +-
+ src/QLNet/Instruments/Loan.cs | 2 +-
+ src/QLNet/Instruments/LookbackOption.cs | 2 +-
+ src/QLNet/Instruments/MakeBasisSwap.cs | 2 +-
+ src/QLNet/Instruments/MakeCDS.cs | 2 +-
+ src/QLNet/Instruments/MakeCapFloor.cs | 2 +-
+ src/QLNet/Instruments/MakeCms.cs | 2 +-
+ src/QLNet/Instruments/MakeLoans.cs | 2 +-
+ src/QLNet/Instruments/MakeOIS.cs | 2 +-
+ src/QLNet/Instruments/Makeswaption.cs | 2 +-
+ src/QLNet/Instruments/Makevanillaswap.cs | 2 +-
+ src/QLNet/Instruments/MultiAssetOption.cs | 2 +-
+ src/QLNet/Instruments/OneAssetOption.cs | 2 +-
+ src/QLNet/Instruments/OvernightIndexedSwap.cs | 2 +-
+ src/QLNet/Instruments/Payoffs.cs | 2 +-
+ src/QLNet/Instruments/Stock.cs | 2 +-
+ src/QLNet/Instruments/Swap.cs | 2 +-
+ src/QLNet/Instruments/Swaption.cs | 2 +-
+ src/QLNet/Instruments/VanillaOption.cs | 2 +-
+ src/QLNet/Instruments/VanillaSwap.cs | 2 +-
+ src/QLNet/Instruments/YearOnYearInflationSwap.cs | 2 +-
+ src/QLNet/Instruments/ZeroCouponInflationSwap.cs | 2 +-
+ src/QLNet/InterestRate.cs | 2 +-
+ src/QLNet/Math/AbcdMathFunction.cs | 2 +-
+ src/QLNet/Math/BSpline.cs | 2 +-
+ src/QLNet/Math/BernsteinPolynomial.cs | 2 +-
+ src/QLNet/Math/Beta.cs | 2 +-
+ src/QLNet/Math/Comparison.cs | 2 +-
+ .../Math/Distributions/BinomialDistribution.cs | 2 +-
+ .../Distributions/BivariateNormalDistribution.cs | 2 +-
+ .../Math/Distributions/ChiSquareDistribution.cs | 2 +-
+ src/QLNet/Math/Distributions/GammaDistribution.cs | 2 +-
+ src/QLNet/Math/Distributions/NormalDistribution.cs | 2 +-
+ .../Math/Distributions/PoissonDistribution.cs | 2 +-
+ src/QLNet/Math/Factorial.cs | 2 +-
+ src/QLNet/Math/Interpolation.cs | 2 +-
+ src/QLNet/Math/Interpolations/Abcdinterpolation.cs | 2 +-
+ .../Interpolations/BackwardFlatInterpolation.cs | 2 +-
+ .../BackwardflatLinearInterpolation.cs | 2 +-
+ .../Interpolations/BicubicSplineInterpolation.cs | 2 +-
+ .../Math/Interpolations/BilinearInterpolation.cs | 2 +-
+ .../Interpolations/ConvexMonotoneInterpolation.cs | 2 +-
+ .../Math/Interpolations/CubicInterpolation.cs | 2 +-
+ src/QLNet/Math/Interpolations/Extrapolator.cs | 2 +-
+ .../Math/Interpolations/FlatExtrapolator2D.cs | 2 +-
+ .../Interpolations/ForwardFlatInterpolation.cs | 2 +-
+ src/QLNet/Math/Interpolations/Interpolation2D.cs | 2 +-
+ .../Math/Interpolations/KernelInterpolation.cs | 2 +-
+ .../Math/Interpolations/KernelInterpolation2D.cs | 2 +-
+ .../Math/Interpolations/Linearinterpolation.cs | 2 +-
+ src/QLNet/Math/Interpolations/Loginterpolation.cs | 2 +-
+ .../Math/Interpolations/MixedInterpolation.cs | 2 +-
+ src/QLNet/Math/Interpolations/MultiCubicSpline.cs | 2 +-
+ src/QLNet/Math/Interpolations/SABRInterpolation.cs | 2 +-
+ src/QLNet/Math/Interpolations/SviInterpolation.cs | 2 +-
+ .../Math/Interpolations/VannaVolgaInterpolation.cs | 2 +-
+ src/QLNet/Math/Interpolations/XABRInterpolation.cs | 2 +-
+ src/QLNet/Math/KernelFunctions.cs | 2 +-
+ src/QLNet/Math/LinearLeastSquaresRegression.cs | 2 +-
+ src/QLNet/Math/Matrix.cs | 2 +-
+ src/QLNet/Math/ModifiedBessel.cs | 2 +-
+ src/QLNet/Math/NumericalDifferentiation.cs | 2 +-
+ src/QLNet/Math/ODE/AdaptiveRungeKutta.cs | 2 +-
+ src/QLNet/Math/Optimization/ArmijoLineSearch.cs | 2 +-
+ src/QLNet/Math/Optimization/BFGS.cs | 2 +-
+ src/QLNet/Math/Optimization/ConjugateGradient.cs | 2 +-
+ src/QLNet/Math/Optimization/Constraint.cs | 2 +-
+ src/QLNet/Math/Optimization/CostFunction.cs | 2 +-
+ .../Math/Optimization/DifferentialEvolution.cs | 2 +-
+ src/QLNet/Math/Optimization/EndCriteria.cs | 2 +-
+ src/QLNet/Math/Optimization/GoldsteinLineSearch.cs | 2 +-
+ src/QLNet/Math/Optimization/LeastSquareProblem.cs | 2 +-
+ src/QLNet/Math/Optimization/LevenbergMarquardt.cs | 2 +-
+ src/QLNet/Math/Optimization/LineSearch.cs | 2 +-
+ .../Math/Optimization/LineSearchBasedMethod.cs | 2 +-
+ src/QLNet/Math/Optimization/LmDif.cs | 2 +-
+ src/QLNet/Math/Optimization/Method.cs | 2 +-
+ src/QLNet/Math/Optimization/Problem.cs | 2 +-
+ src/QLNet/Math/Optimization/ProjectedConstraint.cs | 2 +-
+ .../Math/Optimization/ProjectedCostFunction.cs | 2 +-
+ src/QLNet/Math/Optimization/Projection.cs | 2 +-
+ src/QLNet/Math/Optimization/Simplex.cs | 2 +-
+ src/QLNet/Math/Optimization/SimulatedAnnealing.cs | 2 +-
+ src/QLNet/Math/Optimization/SteepestDescent.cs | 2 +-
+ src/QLNet/Math/PascalTriangle.cs | 2 +-
+ src/QLNet/Math/PolynomialFunction.cs | 2 +-
+ src/QLNet/Math/PrimeNumbers.cs | 2 +-
+ src/QLNet/Math/RichardsonExtrapolation.cs | 2 +-
+ src/QLNet/Math/Rounding.cs | 2 +-
+ src/QLNet/Math/SampledCurve.cs | 2 +-
+ src/QLNet/Math/Solver1d.cs | 2 +-
+ src/QLNet/Math/Solvers1d/Bisection.cs | 2 +-
+ src/QLNet/Math/Solvers1d/Brent.cs | 2 +-
+ src/QLNet/Math/Solvers1d/FalsePosition.cs | 2 +-
+ .../Math/Solvers1d/FiniteDifferenceNewtonSafe.cs | 2 +-
+ src/QLNet/Math/Solvers1d/Newton.cs | 2 +-
+ src/QLNet/Math/Solvers1d/Newtonsafe.cs | 2 +-
+ src/QLNet/Math/Solvers1d/Ridder.cs | 2 +-
+ src/QLNet/Math/Solvers1d/Secant.cs | 2 +-
+ src/QLNet/Math/TransformedGrid.cs | 2 +-
+ src/QLNet/Math/Vector.cs | 2 +-
+ src/QLNet/Math/integrals/DiscreteIntegrals.cs | 2 +-
+ src/QLNet/Math/integrals/GaussLobattoIntegral.cs | 2 +-
+ .../Math/integrals/GaussianOrthogonalPolynomial.cs | 2 +-
+ src/QLNet/Math/integrals/GaussianQuadratures.cs | 2 +-
+ src/QLNet/Math/integrals/Integral.cs | 2 +-
+ src/QLNet/Math/integrals/Kronrodintegral.cs | 2 +-
+ src/QLNet/Math/integrals/Segmentintegral.cs | 2 +-
+ src/QLNet/Math/integrals/SimpsonIntegral.cs | 2 +-
+ src/QLNet/Math/integrals/TrapezoidIntegral.cs | 2 +-
+ src/QLNet/Math/matrixutilities/BiCGStab.cs | 2 +-
+ .../Math/matrixutilities/CholeskyDecomposition.cs | 2 +-
+ src/QLNet/Math/matrixutilities/GMRES.cs | 2 +-
+ src/QLNet/Math/matrixutilities/PseudoSqrt.cs | 2 +-
+ src/QLNet/Math/matrixutilities/QRDecomposition.cs | 2 +-
+ src/QLNet/Math/matrixutilities/SVD.cs | 2 +-
+ src/QLNet/Math/matrixutilities/SparseMatrix.cs | 2 +-
+ .../matrixutilities/SymmetricSchurDecomposition.cs | 2 +-
+ .../Math/matrixutilities/TqrEigenDecomposition.cs | 2 +-
+ src/QLNet/Math/randomnumbers/Haltonrsg.cs | 2 +-
+ .../Math/randomnumbers/InverseCumulativeRng.cs | 2 +-
+ .../Math/randomnumbers/InverseCumulativeRsg.cs | 2 +-
+ src/QLNet/Math/randomnumbers/MT19937UniformRng.cs | 2 +-
+ .../Math/randomnumbers/PrimitivePolynomials.cs | 2 +-
+ src/QLNet/Math/randomnumbers/RNGTraits.cs | 2 +-
+ .../Math/randomnumbers/RandomSequenceGenerator.cs | 2 +-
+ src/QLNet/Math/randomnumbers/SeedGenerator.cs | 2 +-
+ .../Math/randomnumbers/SobolBrownianBridgeRsg.cs | 2 +-
+ src/QLNet/Math/randomnumbers/SobolRsg.cs | 2 +-
+ src/QLNet/Math/randomnumbers/SobolRsg2.cs | 2 +-
+ src/QLNet/Math/statistics/ConvergenceStatistics.cs | 2 +-
+ src/QLNet/Math/statistics/DiscrepancyStatistics.cs | 2 +-
+ src/QLNet/Math/statistics/GaussianStatistics.cs | 2 +-
+ src/QLNet/Math/statistics/GeneralStatistics.cs | 2 +-
+ src/QLNet/Math/statistics/IncrementalStatistics.cs | 2 +-
+ src/QLNet/Math/statistics/RiskStatistics.cs | 2 +-
+ src/QLNet/Math/statistics/SequenceStatistics.cs | 2 +-
+ .../Methods/Finitedifferences/AmericanCondition.cs | 2 +-
+ src/QLNet/Methods/Finitedifferences/BSMOperator.cs | 2 +-
+ .../Methods/Finitedifferences/BoundaryCondition.cs | 2 +-
+ .../Methods/Finitedifferences/CrankNicolson.cs | 2 +-
+ src/QLNet/Methods/Finitedifferences/DMinus.cs | 2 +-
+ src/QLNet/Methods/Finitedifferences/DPlus.cs | 2 +-
+ src/QLNet/Methods/Finitedifferences/DPlusDMinus.cs | 2 +-
+ src/QLNet/Methods/Finitedifferences/DZero.cs | 2 +-
+ .../Methods/Finitedifferences/ExplicitEuler.cs | 2 +-
+ .../Finitedifferences/FiniteDifferenceModel.cs | 2 +-
+ .../Methods/Finitedifferences/ImplicitEuler.cs | 2 +-
+ .../Meshers/Concentrating1dMesher.cs | 2 +-
+ .../Finitedifferences/Meshers/Fdm1dMesher.cs | 2 +-
+ .../Meshers/FdmBlackScholesMesher.cs | 2 +-
+ .../Methods/Finitedifferences/Meshers/FdmMesher.cs | 2 +-
+ .../Meshers/FdmMesherComposite.cs | 2 +-
+ .../Meshers/FdmSimpleProcess1dMesher.cs | 2 +-
+ .../Finitedifferences/Meshers/Uniform1dMesher.cs | 2 +-
+ .../Finitedifferences/Meshers/UniformGridMesher.cs | 2 +-
+ src/QLNet/Methods/Finitedifferences/MixedScheme.cs | 2 +-
+ .../Methods/Finitedifferences/OperatorFactory.cs | 2 +-
+ .../Operators/FdmBlackScholesOp.cs | 2 +-
+ .../Finitedifferences/Operators/FdmHullWhiteOp.cs | 2 +-
+ .../Finitedifferences/Operators/FdmLinearOp.cs | 2 +-
+ .../Operators/FdmLinearOpComposite.cs | 2 +-
+ .../Operators/FdmLinearOpIterator.cs | 2 +-
+ .../Operators/FdmLinearOpLayout.cs | 2 +-
+ .../Operators/FirstDerivativeOp.cs | 2 +-
+ .../Operators/NinePointLinearOp.cs | 2 +-
+ .../Operators/SecondDerivativeOp.cs | 2 +-
+ .../Operators/SecondOrderMixedDerivativeOp.cs | 2 +-
+ .../Operators/TripleBandLinearOp.cs | 2 +-
+ .../Methods/Finitedifferences/ParallelEvolver.cs | 2 +-
+ src/QLNet/Methods/Finitedifferences/Pde.cs | 2 +-
+ src/QLNet/Methods/Finitedifferences/PdeBsm.cs | 2 +-
+ .../Methods/Finitedifferences/PdeShortRate.cs | 2 +-
+ .../Schemes/BoundaryConditionSchemeHelper.cs | 2 +-
+ .../Finitedifferences/Schemes/CraigSneydScheme.cs | 2 +-
+ .../Finitedifferences/Schemes/DouglasScheme.cs | 2 +-
+ .../Schemes/ExplicitEulerScheme.cs | 2 +-
+ .../Finitedifferences/Schemes/HundsdorferScheme.cs | 2 +-
+ .../Schemes/ImplicitEulerScheme.cs | 2 +-
+ .../Schemes/ModifiedCraigSneydScheme.cs | 2 +-
+ .../Methods/Finitedifferences/ShoutCondition.cs | 2 +-
+ .../Finitedifferences/Solvers/Fdm1DimSolver.cs | 2 +-
+ .../Finitedifferences/Solvers/FdmBackwardSolver.cs | 2 +-
+ .../Solvers/FdmBlackScholesSolver.cs | 2 +-
+ .../Solvers/FdmHullWhiteSolver.cs | 2 +-
+ .../Finitedifferences/Solvers/FdmSolverDesc.cs | 2 +-
+ .../Methods/Finitedifferences/StepCondition.cs | 2 +-
+ .../StepConditions/FdmAmericanStepCondition.cs | 2 +-
+ .../StepConditions/FdmBermudanStepCondition.cs | 2 +-
+ .../StepConditions/FdmSnapshotCondition.cs | 2 +-
+ .../StepConditions/FdmStepConditionComposite.cs | 2 +-
+ src/QLNet/Methods/Finitedifferences/TRBDF2.cs | 2 +-
+ .../Finitedifferences/TridiagonalOperator.cs | 2 +-
+ .../Utilities/FdmAffineModelSwapInnerValue.cs | 2 +-
+ .../Utilities/FdmAffineModelTermStructure.cs | 2 +-
+ .../Utilities/FdmBoundaryConditionSet.cs | 2 +-
+ .../Utilities/FdmDirichletBoundary.cs | 2 +-
+ .../Utilities/FdmDividendHandler.cs | 2 +-
+ .../Utilities/FdmIndicesOnBoundary.cs | 2 +-
+ .../Utilities/FdmInnerValueCalculator.cs | 2 +-
+ .../Utilities/FdmMesherIntegral.cs | 2 +-
+ .../Finitedifferences/Utilities/ListUtils.cs | 2 +-
+ .../Methods/Finitedifferences/ZeroCondition.cs | 2 +-
+ src/QLNet/Methods/lattices/BinominalTree.cs | 2 +-
+ src/QLNet/Methods/lattices/BsmLattice.cs | 2 +-
+ src/QLNet/Methods/lattices/Lattice.cs | 2 +-
+ src/QLNet/Methods/lattices/Lattice1D.cs | 2 +-
+ src/QLNet/Methods/lattices/Lattice2D.cs | 2 +-
+ src/QLNet/Methods/lattices/Tree.cs | 2 +-
+ src/QLNet/Methods/lattices/TrinomialTree.cs | 2 +-
+ src/QLNet/Methods/montecarlo/BrownianBridge.cs | 2 +-
+ .../Methods/montecarlo/EarlyExercisePathPricer.cs | 2 +-
+ .../montecarlo/LongstaffSchwartzPathPricer.cs | 2 +-
+ src/QLNet/Methods/montecarlo/LsmBasisSystem.cs | 2 +-
+ src/QLNet/Methods/montecarlo/MCTraits.cs | 2 +-
+ src/QLNet/Methods/montecarlo/MontecarloModel.cs | 2 +-
+ src/QLNet/Methods/montecarlo/MultiPath.cs | 2 +-
+ src/QLNet/Methods/montecarlo/MultiPathGenerator.cs | 2 +-
+ src/QLNet/Methods/montecarlo/Path.cs | 2 +-
+ src/QLNet/Methods/montecarlo/PathGenerator.cs | 2 +-
+ src/QLNet/Methods/montecarlo/PathPricer.cs | 2 +-
+ src/QLNet/Methods/montecarlo/Sample.cs | 2 +-
+ src/QLNet/Models/CalibrationHelper.cs | 2 +-
+ src/QLNet/Models/Equity/HestonModel.cs | 2 +-
+ src/QLNet/Models/Equity/HestonModelHelper.cs | 2 +-
+ .../Equity/PiecewiseTimeDependentHestonModel.cs | 2 +-
+ src/QLNet/Models/MarketModels/BrownianGenerator.cs | 2 +-
+ .../BrownianGenerators/SobolBrownianGenerator.cs | 2 +-
+ src/QLNet/Models/Model.cs | 2 +-
+ src/QLNet/Models/Parameter.cs | 2 +-
+ src/QLNet/Models/Shortrate/OneFactorModel.cs | 2 +-
+ .../Shortrate/Onefactormodels/BlackKarasinski.cs | 2 +-
+ .../Shortrate/Onefactormodels/CoxIngersollRoss.cs | 2 +-
+ .../Models/Shortrate/Onefactormodels/HullWhite.cs | 2 +-
+ .../Models/Shortrate/Onefactormodels/Vasicek.cs | 2 +-
+ src/QLNet/Models/Shortrate/TwoFactorModel.cs | 2 +-
+ src/QLNet/Models/Shortrate/Twofactorsmodels/G2.cs | 2 +-
+ .../Shortrate/calibrationhelpers/CapHelper.cs | 2 +-
+ .../Shortrate/calibrationhelpers/SwaptionHelper.cs | 2 +-
+ src/QLNet/Money.cs | 2 +-
+ src/QLNet/NumericalMethod.cs | 2 +-
+ src/QLNet/Option.cs | 2 +-
+ src/QLNet/Patterns/FastActivator.cs | 2 +-
+ src/QLNet/Patterns/LazyObject.cs | 2 +-
+ src/QLNet/Patterns/ObservableValue.cs | 2 +-
+ src/QLNet/Patterns/Observer.cs | 2 +-
+ src/QLNet/Patterns/Visitor.cs | 2 +-
+ src/QLNet/Patterns/WeakEventSource.cs | 2 +-
+ src/QLNet/Payoff.cs | 2 +-
+ src/QLNet/PricingEngine.cs | 2 +-
+ src/QLNet/Pricingengines/Americanpayoffatexpiry.cs | 2 +-
+ src/QLNet/Pricingengines/Americanpayoffathit.cs | 2 +-
+ src/QLNet/Pricingengines/Basket/KirkEngine.cs | 2 +-
+ .../Basket/MCEuropeanBasketEngine.cs | 2 +-
+ src/QLNet/Pricingengines/Basket/StulzEngine.cs | 2 +-
+ src/QLNet/Pricingengines/BlackCalculator.cs | 2 +-
+ src/QLNet/Pricingengines/BlackDeltaCalculator.cs | 2 +-
+ src/QLNet/Pricingengines/BlackFormula.cs | 2 +-
+ src/QLNet/Pricingengines/Blackscholescalculator.cs | 2 +-
+ .../Pricingengines/Bond/BlackCallableBondEngine.cs | 2 +-
+ src/QLNet/Pricingengines/Bond/BondFunctions.cs | 2 +-
+ .../Pricingengines/Bond/Discountingbondengine.cs | 2 +-
+ .../Pricingengines/Bond/TreeCallableBondEngine.cs | 2 +-
+ .../CapFloor/AnalyticCapFloorEngine.cs | 2 +-
+ .../CapFloor/BachelierCapFloorEngine.cs | 2 +-
+ .../Pricingengines/CapFloor/BlackCapFloorEngine.cs | 2 +-
+ .../Pricingengines/CapFloor/DiscretizedCapFloor.cs | 2 +-
+ .../Cliquet/AnalyticCliquetEngine.cs | 2 +-
+ .../Cliquet/AnalyticPerformanceEngine.cs | 2 +-
+ .../Forward/ForwardPerformanceVanillaEngine.cs | 2 +-
+ .../Pricingengines/Forward/ForwardVanillaEngine.cs | 2 +-
+ src/QLNet/Pricingengines/GenericModelEngine.cs | 2 +-
+ src/QLNet/Pricingengines/Greeks.cs | 2 +-
+ .../Pricingengines/LatticeShortRateModelEngine.cs | 2 +-
+ .../Pricingengines/Loan/DiscountingLoanEngine.cs | 2 +-
+ .../AnalyticContinuousFixedLookbackEngine.cs | 2 +-
+ .../AnalyticContinuousFloatingLookbackEngine.cs | 2 +-
+ ...AnalyticContinuousPartialFixedLookbackEngine.cs | 2 +-
+ ...lyticContinuousPartialFloatingLookbackEngine.cs | 2 +-
+ .../Pricingengines/MCLongstaffSchwartzEngine.cs | 2 +-
+ src/QLNet/Pricingengines/McSimulation.cs | 2 +-
+ .../Swap/CounterpartyAdjSwapEngine.cs | 2 +-
+ .../Swap/DiscountingBasisSwapEngine.cs | 2 +-
+ .../Pricingengines/Swap/Discountingswapengine.cs | 2 +-
+ src/QLNet/Pricingengines/Swap/DiscretizedSwap.cs | 2 +-
+ src/QLNet/Pricingengines/Swap/TreeSwapEngine.cs | 2 +-
+ ...icContinuousGeometricAveragePriceAsianEngine.cs | 2 +-
+ ...yticDiscreteGeometricAveragePriceAsianEngine.cs | 2 +-
+ ...ticDiscreteGeometricAverageStrikeAsianEngine.cs | 2 +-
+ .../Pricingengines/asian/McDiscreteAsianEngine.cs | 2 +-
+ .../asian/Mc_Discr_Arith_Av_Price.cs | 2 +-
+ .../asian/Mc_Discr_Arith_Av_Strike.cs | 2 +-
+ .../Pricingengines/asian/Mc_Discr_Geom_Av_Price.cs | 2 +-
+ .../barrier/AnalyticBarrierEngine.cs | 2 +-
+ .../barrier/AnalyticBinaryBarrierEngine.cs | 2 +-
+ .../barrier/AnalyticDoubleBarrierBinaryEngine.cs | 2 +-
+ .../barrier/AnalyticDoubleBarrierEngine.cs | 2 +-
+ .../barrier/BinomialBarrierEngine.cs | 2 +-
+ .../barrier/BinomialDoubleBarrierEngine.cs | 2 +-
+ .../barrier/DiscretizedBarrierOption.cs | 2 +-
+ .../barrier/DiscretizedDoubleBarrierOption.cs | 2 +-
+ .../barrier/FdBlackScholesBarrierEngine.cs | 2 +-
+ .../barrier/FdBlackScholesRebateEngine.cs | 2 +-
+ .../barrier/VannaVolgaBarrierEngine.cs | 2 +-
+ .../barrier/VannaVolgaDoubleBarrierEngine.cs | 2 +-
+ .../barrier/WulinYongDoubleBarrierEngine.cs | 2 +-
+ .../Pricingengines/credit/IntegralCdsEngine.cs | 2 +-
+ src/QLNet/Pricingengines/credit/IsdaCdsEngine.cs | 2 +-
+ .../Pricingengines/credit/MidPointCdsEngine.cs | 2 +-
+ .../inflation/InflationCapFloorEngines.cs | 2 +-
+ .../inflation/InterpolatingCPICapFloorEngine.cs | 2 +-
+ .../Pricingengines/swaption/BlackSwaptionEngine.cs | 2 +-
+ .../Pricingengines/swaption/DiscretizedSwaption.cs | 2 +-
+ .../Pricingengines/swaption/G2SwaptionEngine.cs | 2 +-
+ .../swaption/JamshidianSwaptionEngine.cs | 2 +-
+ .../Pricingengines/swaption/TreeSwaptionEngine.cs | 2 +-
+ .../vanilla/AnalyticBSMHullWhiteEngine.cs | 2 +-
+ .../vanilla/AnalyticDigitalAmericanEngine.cs | 2 +-
+ .../vanilla/AnalyticDividendEuropeanEngine.cs | 2 +-
+ .../vanilla/AnalyticEuropeanEngine.cs | 2 +-
+ .../Pricingengines/vanilla/AnalyticH1HWEngine.cs | 2 +-
+ .../Pricingengines/vanilla/AnalyticHestonEngine.cs | 2 +-
+ .../vanilla/AnalyticHestonHullWhiteEngine.cs | 2 +-
+ .../vanilla/AnalyticPTDHestonEngine.cs | 2 +-
+ .../vanilla/BaroneAdesiWhaleyEngine.cs | 2 +-
+ src/QLNet/Pricingengines/vanilla/BinomialEngine.cs | 2 +-
+ .../vanilla/BjerksundStenslandEngine.cs | 2 +-
+ .../vanilla/DiscretizedVanillaOption.cs | 2 +-
+ .../Pricingengines/vanilla/FDAmericanEngine.cs | 2 +-
+ .../Pricingengines/vanilla/FDBermudanEngine.cs | 2 +-
+ src/QLNet/Pricingengines/vanilla/FDConditions.cs | 2 +-
+ .../vanilla/FDDividendAmericanEngine.cs | 2 +-
+ .../Pricingengines/vanilla/FDDividendEngine.cs | 2 +-
+ .../vanilla/FDDividendEuropeanEngine.cs | 2 +-
+ .../Pricingengines/vanilla/FDEuropeanEngine.cs | 2 +-
+ .../Pricingengines/vanilla/FDMultiPeriodEngine.cs | 2 +-
+ src/QLNet/Pricingengines/vanilla/FDShoutEngine.cs | 2 +-
+ .../vanilla/FDStepConditionEngine.cs | 2 +-
+ .../Pricingengines/vanilla/FDVanillaEngine.cs | 2 +-
+ .../vanilla/FdBlackScholesVanillaEngine.cs | 2 +-
+ .../vanilla/FdHestonVanillaEngine.cs | 2 +-
+ .../vanilla/FdHullWhiteSwaptionEngine.cs | 2 +-
+ .../vanilla/HestonExpansionEngine.cs | 2 +-
+ src/QLNet/Pricingengines/vanilla/Integralengine.cs | 2 +-
+ .../Pricingengines/vanilla/Juquadraticengine.cs | 2 +-
+ .../vanilla/MCEuropeanHestonEngine.cs | 2 +-
+ .../vanilla/MCHestonHullWhiteEngine.cs | 2 +-
+ .../Pricingengines/vanilla/McAmericanEngine.cs | 2 +-
+ .../Pricingengines/vanilla/McEuropeanEngine.cs | 2 +-
+ .../Pricingengines/vanilla/McVanillaEngine.cs | 2 +-
+ src/QLNet/Quotes/CompositeQuote.cs | 2 +-
+ src/QLNet/Quotes/DeltaVolQuote.cs | 2 +-
+ src/QLNet/Quotes/DerivedQuote.cs | 2 +-
+ src/QLNet/Quotes/LastFixingQuote.cs | 2 +-
+ src/QLNet/Quotes/Quote.cs | 2 +-
+ src/QLNet/Quotes/SimpleQuote.cs | 2 +-
+ src/QLNet/Settings.cs | 2 +-
+ src/QLNet/StochasticProcess.cs | 2 +-
+ src/QLNet/Termstructures/Bootstraperror.cs | 2 +-
+ src/QLNet/Termstructures/Bootstraphelper.cs | 2 +-
+ src/QLNet/Termstructures/Credit/FlatHazardRate.cs | 2 +-
+ .../Termstructures/Credit/HazardRateStructure.cs | 2 +-
+ .../Credit/InterpolatedHazardRateCurve.cs | 2 +-
+ .../Credit/InterpolatedSurvivalProbabilityCurve.cs | 2 +-
+ .../Termstructures/Credit/ProbabilityTraits.cs | 2 +-
+ .../Credit/SurvivalProbabilityStructure.cs | 2 +-
+ src/QLNet/Termstructures/Curve.cs | 2 +-
+ .../DefaultProbabilityTermStructure.cs | 2 +-
+ .../Inflation/CPICapFloorTermPriceSurface.cs | 2 +-
+ .../Termstructures/Inflation/InflationHelpers.cs | 2 +-
+ .../Termstructures/Inflation/InflationTraits.cs | 2 +-
+ .../Inflation/InterpolatedYoYInflationCurve.cs | 2 +-
+ .../Inflation/InterpolatedZeroInflationCurve.cs | 2 +-
+ .../Inflation/PiecewiseYoYInflationCurve.cs | 2 +-
+ .../Inflation/PiecewiseZeroInflationCurve.cs | 2 +-
+ src/QLNet/Termstructures/Inflation/Seasonality.cs | 2 +-
+ src/QLNet/Termstructures/InflationTermStructure.cs | 2 +-
+ src/QLNet/Termstructures/InterpolatedCurve.cs | 2 +-
+ src/QLNet/Termstructures/Iterativebootstrap.cs | 2 +-
+ src/QLNet/Termstructures/LocalBootstrap.cs | 2 +-
+ src/QLNet/Termstructures/TermStructure.cs | 2 +-
+ src/QLNet/Termstructures/VolTermStructure.cs | 2 +-
+ .../Termstructures/Volatility/AbcdCalibration.cs | 2 +-
+ .../Termstructures/Volatility/AbcdFunction.cs | 2 +-
+ .../Termstructures/Volatility/AtmSmileSection.cs | 2 +-
+ .../Bond/CallableBondConstantVolatility.cs | 2 +-
+ .../Bond/CallableBondVolatilityStructure.cs | 2 +-
+ .../Volatility/CapFloor/CapFloorTermVolCurve.cs | 2 +-
+ .../Volatility/CapFloor/CapFloorTermVolSurface.cs | 2 +-
+ .../CapFloor/CapFloorTermVolatilityStructure.cs | 2 +-
+ .../CapFloor/ConstantCapFloorTermVolatility.cs | 2 +-
+ .../Termstructures/Volatility/FlatSmileSection.cs | 2 +-
+ .../Volatility/Inflation/CPIVolatilitySurface.cs | 2 +-
+ .../YoYInflationOptionletVolatilityStructure.cs | 2 +-
+ .../Volatility/InterpolatedSmileSection.cs | 2 +-
+ .../Volatility/Optionlet/CapletVarianceCurve.cs | 2 +-
+ .../Optionlet/ConstantOptionletVolatility.cs | 2 +-
+ .../Volatility/Optionlet/OptionletStripper.cs | 2 +-
+ .../Volatility/Optionlet/OptionletStripper1.cs | 2 +-
+ .../Volatility/Optionlet/OptionletStripper2.cs | 2 +-
+ .../Optionlet/OptionletVolatilityStructure.cs | 2 +-
+ .../Optionlet/SpreadedOptionletVolatility.cs | 2 +-
+ .../Optionlet/StrippedOptionletAdapter.cs | 2 +-
+ .../Volatility/Optionlet/StrippedOptionletBase.cs | 2 +-
+ src/QLNet/Termstructures/Volatility/Sabr.cs | 2 +-
+ .../Volatility/SabrInterpolatedSmileSection.cs | 2 +-
+ .../Termstructures/Volatility/SmileSection.cs | 2 +-
+ .../Volatility/SpreadedSmileSection.cs | 2 +-
+ src/QLNet/Termstructures/Volatility/Svi.cs | 2 +-
+ .../Volatility/SviInterpolatedSmileSection.cs | 2 +-
+ .../Termstructures/Volatility/SviSmileSection.cs | 2 +-
+ .../Volatility/equityfx/BlackConstantVol.cs | 2 +-
+ .../Volatility/equityfx/BlackVarianceCurve.cs | 2 +-
+ .../Volatility/equityfx/BlackVarianceSurface.cs | 2 +-
+ .../Volatility/equityfx/BlackVolTermStructure.cs | 2 +-
+ .../Volatility/equityfx/FixedLocalVolSurface.cs | 2 +-
+ .../Volatility/equityfx/HestonBlackVolSurface.cs | 2 +-
+ .../Volatility/equityfx/ImpliedVolTermStructure.cs | 2 +-
+ .../Volatility/equityfx/LocalConstantVol.cs | 2 +-
+ .../Volatility/equityfx/LocalVolCurve.cs | 2 +-
+ .../Volatility/equityfx/LocalVolSurface.cs | 2 +-
+ .../Volatility/equityfx/LocalVolTermStructure.cs | 2 +-
+ .../Volatility/equityfx/NoExceptLocalVolSurface.cs | 2 +-
+ .../swaption/SpreadedSwaptionVolatility.cs | 2 +-
+ .../Volatility/swaption/SwaptionConstantVol.cs | 2 +-
+ .../Volatility/swaption/SwaptionVolCube1.cs | 2 +-
+ .../Volatility/swaption/SwaptionVolCube2.cs | 2 +-
+ .../Volatility/swaption/SwaptionVolDiscrete.cs | 2 +-
+ .../Volatility/swaption/SwaptionVolMatrix.cs | 2 +-
+ .../Volatility/swaption/SwaptionVolatilityCube.cs | 2 +-
+ .../swaption/SwaptionVolatilityStructure.cs | 2 +-
+ src/QLNet/Termstructures/Yield/BasisSwapHelper.cs | 2 +-
+ src/QLNet/Termstructures/Yield/Bondhelpers.cs | 2 +-
+ src/QLNet/Termstructures/Yield/Bootstraptraits.cs | 2 +-
+ .../Yield/CompositeZeroYieldStructure.cs | 2 +-
+ src/QLNet/Termstructures/Yield/DiscountCurve.cs | 2 +-
+ .../Yield/FittedBondDiscountCurve.cs | 2 +-
+ src/QLNet/Termstructures/Yield/Flatforward.cs | 2 +-
+ src/QLNet/Termstructures/Yield/ForwardCurve.cs | 2 +-
+ .../Yield/ForwardSpreadedTermStructure.cs | 2 +-
+ src/QLNet/Termstructures/Yield/ForwardStructure.cs | 2 +-
+ .../Termstructures/Yield/ImpliedTermStructure.cs | 2 +-
+ ...terpolatedPiecewiseZeroSpreadedTermStructure.cs | 2 +-
+ .../Yield/NonLinearFittingMethods.cs | 2 +-
+ src/QLNet/Termstructures/Yield/OISRateHelper.cs | 2 +-
+ .../Termstructures/Yield/PiecewiseYieldCurve.cs | 2 +-
+ src/QLNet/Termstructures/Yield/Ratehelpers.cs | 2 +-
+ src/QLNet/Termstructures/Yield/ZeroCurve.cs | 2 +-
+ .../Yield/ZeroSpreadedTermStructure.cs | 2 +-
+ .../Termstructures/Yield/Zeroyieldstructure.cs | 2 +-
+ src/QLNet/Termstructures/YieldTermStructure.cs | 2 +-
+ src/QLNet/Time/ASX.cs | 2 +-
+ src/QLNet/Time/Calendar.cs | 2 +-
+ src/QLNet/Time/Calendars/Argentina.cs | 2 +-
+ src/QLNet/Time/Calendars/Australia.cs | 2 +-
+ src/QLNet/Time/Calendars/BespokeCalendar.cs | 2 +-
+ src/QLNet/Time/Calendars/Botswana.cs | 2 +-
+ src/QLNet/Time/Calendars/Brazil.cs | 2 +-
+ src/QLNet/Time/Calendars/Canada.cs | 2 +-
+ src/QLNet/Time/Calendars/China.cs | 2 +-
+ src/QLNet/Time/Calendars/CzechRepublic.cs | 2 +-
+ src/QLNet/Time/Calendars/Denmark.cs | 2 +-
+ src/QLNet/Time/Calendars/Finland.cs | 2 +-
+ src/QLNet/Time/Calendars/Germany.cs | 2 +-
+ src/QLNet/Time/Calendars/HongKong.cs | 2 +-
+ src/QLNet/Time/Calendars/Hungary.cs | 2 +-
+ src/QLNet/Time/Calendars/Iceland.cs | 2 +-
+ src/QLNet/Time/Calendars/India.cs | 2 +-
+ src/QLNet/Time/Calendars/Indonesia.cs | 2 +-
+ src/QLNet/Time/Calendars/Israel.cs | 2 +-
+ src/QLNet/Time/Calendars/Italy.cs | 2 +-
+ src/QLNet/Time/Calendars/Japan.cs | 2 +-
+ src/QLNet/Time/Calendars/JointCalendar.cs | 2 +-
+ src/QLNet/Time/Calendars/Mexico.cs | 2 +-
+ src/QLNet/Time/Calendars/NewZealand.cs | 2 +-
+ src/QLNet/Time/Calendars/Norway.cs | 2 +-
+ src/QLNet/Time/Calendars/NullCalendar.cs | 2 +-
+ src/QLNet/Time/Calendars/Poland.cs | 2 +-
+ src/QLNet/Time/Calendars/Romania.cs | 2 +-
+ src/QLNet/Time/Calendars/Russia.cs | 2 +-
+ src/QLNet/Time/Calendars/SaudiArabia.cs | 2 +-
+ src/QLNet/Time/Calendars/Singapore.cs | 2 +-
+ src/QLNet/Time/Calendars/Slovakia.cs | 2 +-
+ src/QLNet/Time/Calendars/SouthAfrica.cs | 2 +-
+ src/QLNet/Time/Calendars/SouthKorea.cs | 2 +-
+ src/QLNet/Time/Calendars/Sweden.cs | 2 +-
+ src/QLNet/Time/Calendars/Switzerland.cs | 2 +-
+ src/QLNet/Time/Calendars/TARGET.cs | 2 +-
+ src/QLNet/Time/Calendars/Taiwan.cs | 2 +-
+ src/QLNet/Time/Calendars/Turkey.cs | 2 +-
+ src/QLNet/Time/Calendars/Ukraine.cs | 2 +-
+ src/QLNet/Time/Calendars/UnitedKingdom.cs | 2 +-
+ src/QLNet/Time/Calendars/UnitedStates.cs | 2 +-
+ src/QLNet/Time/Calendars/WeekendsOnly.cs | 2 +-
+ src/QLNet/Time/Date.cs | 2 +-
+ src/QLNet/Time/DayCounter.cs | 2 +-
+ src/QLNet/Time/DayCounters/Actual360.cs | 2 +-
+ src/QLNet/Time/DayCounters/Actual365Fixed.cs | 2 +-
+ src/QLNet/Time/DayCounters/Actual365NoLeap.cs | 2 +-
+ src/QLNet/Time/DayCounters/ActualActual.cs | 2 +-
+ src/QLNet/Time/DayCounters/Business252.cs | 2 +-
+ src/QLNet/Time/DayCounters/OneDayCounter.cs | 2 +-
+ src/QLNet/Time/DayCounters/SimpleDayCounter.cs | 2 +-
+ src/QLNet/Time/DayCounters/Thirty360.cs | 2 +-
+ src/QLNet/Time/ECB.cs | 2 +-
+ src/QLNet/Time/Imm.cs | 2 +-
+ src/QLNet/Time/Period.cs | 2 +-
+ src/QLNet/Time/Schedule.cs | 2 +-
+ src/QLNet/TimeGrid.cs | 2 +-
+ src/QLNet/Types.cs | 2 +-
+ src/QLNet/Utils.cs | 2 +-
+ .../legacy/libormarketmodels/LfmCovarParam.cs | 2 +-
+ .../legacy/libormarketmodels/LfmCovarianceProxy.cs | 2 +-
+ .../legacy/libormarketmodels/LfmHullWhiteParam.cs | 2 +-
+ src/QLNet/legacy/libormarketmodels/LfmProcess.cs | 2 +-
+ .../legacy/libormarketmodels/LfmSwaptionEngine.cs | 2 +-
+ .../legacy/libormarketmodels/LiborForwardModel.cs | 2 +-
+ .../libormarketmodels/LmConstWrapperCorrModel.cs | 2 +-
+ .../libormarketmodels/LmConstWrapperVolModel.cs | 2 +-
+ src/QLNet/legacy/libormarketmodels/LmCorrModel.cs | 2 +-
+ .../legacy/libormarketmodels/LmExpCorrModel.cs | 2 +-
+ .../libormarketmodels/LmExtLinExpVolModel.cs | 2 +-
+ .../legacy/libormarketmodels/LmFixedVolModel.cs | 2 +-
+ .../legacy/libormarketmodels/LmLinExpCorrModel.cs | 2 +-
+ .../legacy/libormarketmodels/LmLinExpVolModel.cs | 2 +-
+ src/QLNet/legacy/libormarketmodels/LmVolModel.cs | 2 +-
+ src/QLNet/processes/BlackScholesProcess.cs | 2 +-
+ src/QLNet/processes/Defaultable.cs | 2 +-
+ src/QLNet/processes/EulerDiscretization.cs | 2 +-
+ src/QLNet/processes/ForwardMeasureProcess.cs | 2 +-
+ .../processes/GeometricBrownianMotionProcess.cs | 2 +-
+ src/QLNet/processes/HestonProcess.cs | 2 +-
+ src/QLNet/processes/HullWhiteProcess.cs | 2 +-
+ .../processes/HybridHestonHullWhiteProcess.cs | 2 +-
+ src/QLNet/processes/Ornsteinuhlenbeckprocess.cs | 2 +-
+ src/QLNet/processes/Squarerootprocess.cs | 2 +-
+ src/QLNet/processes/StochasticProcessArray.cs | 2 +-
+ src/Repo/Repo.cs | 2 +-
+ src/Swap/swapvaluation.cs | 2 +-
+ tests/QLNet.Tests/T_AmericanOption.cs | 2 +-
+ tests/QLNet.Tests/T_AsianOptions.cs | 4 ++--
+ tests/QLNet.Tests/T_AssetSwap.cs | 2 +-
+ tests/QLNet.Tests/T_BarrierOption.cs | 2 +-
+ tests/QLNet.Tests/T_BasketOption.cs | 2 +-
+ tests/QLNet.Tests/T_Bermudanswaption.cs | 4 ++--
+ tests/QLNet.Tests/T_BinaryOption.cs | 2 +-
+ tests/QLNet.Tests/T_BlackDeltaCalculator.cs | 2 +-
+ tests/QLNet.Tests/T_BlackFormula.cs | 2 +-
+ tests/QLNet.Tests/T_Bonds.cs | 2 +-
+ tests/QLNet.Tests/T_BusinessDayConvention.cs | 2 +-
+ tests/QLNet.Tests/T_CPISwap.cs | 2 +-
+ tests/QLNet.Tests/T_Calendars.cs | 2 +-
+ tests/QLNet.Tests/T_CapFloor.cs | 2 +-
+ tests/QLNet.Tests/T_CapFlooredCoupon.cs | 2 +-
+ tests/QLNet.Tests/T_CashFlows.cs | 2 +-
+ tests/QLNet.Tests/T_CliquetOption.cs | 2 +-
+ tests/QLNet.Tests/T_Cms.cs | 2 +-
+ tests/QLNet.Tests/T_CreditDefaultSwap.cs | 2 +-
+ tests/QLNet.Tests/T_Dates.cs | 2 +-
+ tests/QLNet.Tests/T_DayCounters.cs | 2 +-
+ tests/QLNet.Tests/T_DefaultProbabilityCurves.cs | 2 +-
+ tests/QLNet.Tests/T_DigitalCoupon.cs | 2 +-
+ tests/QLNet.Tests/T_DigitalOption.cs | 2 +-
+ tests/QLNet.Tests/T_DividendOption.cs | 4 ++--
+ tests/QLNet.Tests/T_DoubleBarrierOption.cs | 2 +-
+ tests/QLNet.Tests/T_DoubleBinaryOption.cs | 2 +-
+ tests/QLNet.Tests/T_EuropeanOption.cs | 2 +-
+ tests/QLNet.Tests/T_ExchangeRate.cs | 2 +-
+ tests/QLNet.Tests/T_FdmLinearOp.cs | 22 ++++++++++++++++++++--
+ tests/QLNet.Tests/T_ForwardOption.cs | 2 +-
+ tests/QLNet.Tests/T_Functions.cs | 2 +-
+ tests/QLNet.Tests/T_HestonModel.cs | 2 +-
+ .../QLNet.Tests/T_HybridHestonHullWhiteProcess.cs | 2 +-
+ tests/QLNet.Tests/T_Inflation.cs | 2 +-
+ tests/QLNet.Tests/T_InflationCPICapFloor.cs | 2 +-
+ tests/QLNet.Tests/T_InflationCapFloorTest.cs | 2 +-
+ .../QLNet.Tests/T_InflationCapFlooredCouponTest.cs | 2 +-
+ tests/QLNet.Tests/T_Instruments.cs | 2 +-
+ tests/QLNet.Tests/T_InterestRate.cs | 2 +-
+ tests/QLNet.Tests/T_Interpolations.cs | 2 +-
+ tests/QLNet.Tests/T_LiborMarketModel.cs | 4 ++--
+ tests/QLNet.Tests/T_LiborMarketModelProcess.cs | 2 +-
+ .../QLNet.Tests/T_LinearLeastSquaresRegression.cs | 2 +-
+ tests/QLNet.Tests/T_LookbackOption.cs | 2 +-
+ tests/QLNet.Tests/T_LowDiscrepancySequences.cs | 2 +-
+ tests/QLNet.Tests/T_Matrices.cs | 2 +-
+ tests/QLNet.Tests/T_Mclongstaffschwartzengine.cs | 2 +-
+ tests/QLNet.Tests/T_Money.cs | 2 +-
+ tests/QLNet.Tests/T_Operators.cs | 2 +-
+ tests/QLNet.Tests/T_Optimizers.cs | 2 +-
+ tests/QLNet.Tests/T_OptionletStripper.cs | 2 +-
+ tests/QLNet.Tests/T_OvernightIndexedSwap.cs | 2 +-
+ tests/QLNet.Tests/T_PSACurve.cs | 2 +-
+ tests/QLNet.Tests/T_PathGenerator.cs | 2 +-
+ .../T_PiecewiseZeroSpreadedTermStructure.cs | 2 +-
+ tests/QLNet.Tests/T_Piecewiseyieldcurve.cs | 2 +-
+ tests/QLNet.Tests/T_Quotes.cs | 2 +-
+ tests/QLNet.Tests/T_RNGTraits.cs | 2 +-
+ tests/QLNet.Tests/T_RiskStats.cs | 2 +-
+ tests/QLNet.Tests/T_Rounding.cs | 2 +-
+ tests/QLNet.Tests/T_SVI.cs | 2 +-
+ tests/QLNet.Tests/T_SampledCurve.cs | 2 +-
+ tests/QLNet.Tests/T_Schedule.cs | 2 +-
+ tests/QLNet.Tests/T_ShortRateModels.cs | 2 +-
+ tests/QLNet.Tests/T_Solvers.cs | 2 +-
+ tests/QLNet.Tests/T_Stats.cs | 2 +-
+ tests/QLNet.Tests/T_Swaps.cs | 2 +-
+ tests/QLNet.Tests/T_Swaption.cs | 2 +-
+ tests/QLNet.Tests/T_SwaptionVolatilityCube.cs | 2 +-
+ tests/QLNet.Tests/T_SwaptionVolatilitymatrix.cs | 2 +-
+ tests/QLNet.Tests/T_TermStructures.cs | 2 +-
+ tests/QLNet.Tests/T_Vector.cs | 2 +-
+ tests/QLNet.Tests/Utilities.cs | 2 +-
+ 760 files changed, 784 insertions(+), 766 deletions(-)
+
+commit 9319304a01dccb62bc19f4306bea4e30e8eadb43
+Author: Andrea Maggiulli
+Date: Mon Feb 5 23:53:31 2018 +0100
+
+ Updated PULL_REQUEST_TEMPLATE.md [skip ci]
+
+ .github/PULL_REQUEST_TEMPLATE.md | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
- Refactored CallableBonds example
+commit d47ccd8d2a3867f67f2373158f1292f0971c3350
+Author: Andrea Maggiulli
+Date: Mon Feb 5 23:52:39 2018 +0100
- src/CallableBonds/CallableBonds.cs | 99 ++++++++++++++++++--------------------
- 1 file changed, 47 insertions(+), 52 deletions(-)
+ Renamed CONTRIBUTING.md to .github/CONTRIBUTING.md [skip ci]
-commit b9c4eba498e908395203f989df223d59b11fbad4
-Author: Andrea Maggiulli
-Date: Mon Oct 2 14:28:52 2017 +0200
+ CONTRIBUTING.md => .github/CONTRIBUTING.md | 0
+ 1 file changed, 0 insertions(+), 0 deletions(-)
- Fixed Bugs issues , code refactoring & cleanup.
+commit ae37d9f9381de5af0d51751f2e072eb17c0cc67f
+Author: Andrea Maggiulli
+Date: Mon Feb 5 23:50:06 2018 +0100
- .../Meshers/Concentrating1dMesher.cs | 445 +++++++++++----------
- .../Operators/FdmLinearOpIterator.cs | 171 ++++----
- 2 files changed, 319 insertions(+), 297 deletions(-)
+ Renamed CODE_OF_CONDUCT.md to .github/CODE_OF_CONDUCT.md [skip ci]
-commit ee3f19954cdb6c8b8f07606a939b1bfdfb11b57a
-Author: Andrea Maggiulli
-Date: Mon Oct 2 14:02:46 2017 +0200
-
- Fixed Vulnerability issues , code refactoring & cleanup.
-
- src/QLNet/Instruments/Makeswaption.cs | 9 +-
- .../Math/Distributions/chisquaredistribution.cs | 242 +++++------
- src/QLNet/Math/NumericalDifferentiation.cs | 29 +-
- src/QLNet/Math/ODE/AdaptiveRungeKutta.cs | 443 ++++++++++++---------
- src/QLNet/Math/integrals/DiscreteIntegrals.cs | 1 -
- src/QLNet/Math/matrixutilities/BiCGStab.cs | 195 +++++----
- src/QLNet/Math/matrixutilities/GMRES.cs | 252 ++++++------
- .../Meshers/Concentrating1dMesher.cs | 3 -
- .../Finitedifferences/Meshers/Fdm1dMesher.cs | 68 ++--
- .../Meshers/FdmBlackScholesMesher.cs | 1 -
- .../Methods/Finitedifferences/Meshers/FdmMesher.cs | 3 -
- .../Meshers/FdmMesherComposite.cs | 3 -
- .../Finitedifferences/Meshers/Uniform1dMesher.cs | 47 +--
- .../Finitedifferences/Meshers/UniformGridMesher.cs | 101 ++---
- .../Operators/FdmBlackScholesOp.cs | 3 -
- .../Finitedifferences/Operators/FdmLinearOp.cs | 3 -
- .../Operators/FdmLinearOpComposite.cs | 3 -
- .../Operators/FdmLinearOpIterator.cs | 3 -
- .../Operators/FdmLinearOpLayout.cs | 3 -
- .../Operators/FirstDerivativeOp.cs | 3 -
- .../Operators/NinePointLinearOp.cs | 3 -
- .../Operators/SecondDerivativeOp.cs | 3 -
- .../Operators/SecondOrderMixedDerivativeOp.cs | 3 -
- .../Operators/TripleBandLinearOp.cs | 3 -
- .../Schemes/BoundaryConditionSchemeHelper.cs | 1 -
- .../Finitedifferences/Schemes/CraigSneydScheme.cs | 153 +++----
- .../Finitedifferences/Schemes/DouglasScheme.cs | 134 ++++---
- .../Schemes/ExplicitEulerScheme.cs | 3 -
- .../Finitedifferences/Schemes/HundsdorferScheme.cs | 154 +++----
- .../Schemes/ImplicitEulerScheme.cs | 11 +-
- .../Schemes/ModifiedCraigSneydScheme.cs | 1 -
- .../Finitedifferences/Solvers/Fdm1DimSolver.cs | 1 -
- .../Finitedifferences/Solvers/FdmBackwardSolver.cs | 7 +-
- .../Solvers/FdmBlackScholesSolver.cs | 5 -
- .../Finitedifferences/Solvers/FdmSolverDesc.cs | 67 +++-
- .../StepConditions/FdmAmericanStepCondition.cs | 3 -
- .../StepConditions/FdmBermudanStepCondition.cs | 97 ++---
- .../StepConditions/FdmSnapshotCondition.cs | 3 -
- .../StepConditions/FdmStepConditionComposite.cs | 3 -
- .../Utilities/FdmBoundaryConditionSet.cs | 1 -
- .../Utilities/FdmDirichletBoundary.cs | 115 +++---
- .../Utilities/FdmDividendHandler.cs | 195 ++++-----
- .../Utilities/FdmIndicesOnBoundary.cs | 75 ++--
- .../Utilities/FdmInnerValueCalculator.cs | 3 -
- .../Utilities/FdmMesherIntegral.cs | 1 -
- src/QLNet/Methods/montecarlo/montecarlomodel.cs | 2 +-
- .../Shortrate/Onefactormodels/coxingersollross.cs | 334 +++++++++-------
- .../Models/Shortrate/Onefactormodels/hullwhite.cs | 422 ++++++++++----------
- .../Models/Shortrate/Onefactormodels/vasicek.cs | 94 +++--
- src/QLNet/Pricingengines/Swap/treeswapengine.cs | 129 +++---
- .../asian/mc_discr_arith_av_strike.cs | 339 ++++++++--------
- .../Pricingengines/asian/mc_discr_geom_av_price.cs | 429 ++++++++++----------
- .../barrier/FdBlackScholesBarrierEngine.cs | 355 ++++++++---------
- .../barrier/FdBlackScholesRebateEngine.cs | 5 +-
- .../vanilla/FdBlackScholesVanillaEngine.cs | 3 -
- .../Volatility/equityfx/FixedLocalVolSurface.cs | 2 -
- .../Volatility/equityfx/NoExceptLocalVolSurface.cs | 81 ++--
- 57 files changed, 2393 insertions(+), 2262 deletions(-)
-
-commit 000c4a45591b42a671230f59af56abbc8fcfdadb
-Merge: 44e7459 7c1a140
-Author: Andrea Maggiulli
-Date: Mon Oct 2 11:19:57 2017 +0200
+ CODE_OF_CONDUCT.md => .github/CODE_OF_CONDUCT.md | 0
+ 1 file changed, 0 insertions(+), 0 deletions(-)
- Merge pull request #173 from tournierjc/LocalVolPort
-
- Fixed Local Vol and No Except Local Vol
+commit 3c6e4e7a5c5109c49900e1ecfb25895b9c74ba84
+Author: Andrea Maggiulli
+Date: Mon Feb 5 23:40:26 2018 +0100
-commit 44e7459203ba148c6099d416be83e5ca97e45c80
-Author: Andrea Maggiulli
-Date: Mon Oct 2 11:06:27 2017 +0200
+ Created PULL_REQUEST_TEMPLATE.md [skip ci]
- Fix pull request #172
+ .github/PULL_REQUEST_TEMPLATE.md | 23 +++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
- src/QLNet/Methods/Finitedifferences/Operators/NinePointLinearOp.cs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+commit 5d48369aa34f2c7159bf50298bf913d58e0bf70e
+Author: Andrea Maggiulli
+Date: Mon Feb 5 23:23:41 2018 +0100
-commit f072de7672eeb9b44816141269e08a86700a3fad
-Merge: 1a0822c 0571bf8
-Author: Andrea Maggiulli
-Date: Mon Oct 2 10:58:25 2017 +0200
+ Created ISSUE_TEMPLATE.md [skip ci]
- Merge pull request #172 from tournierjc/FiniteDifferencesMethod_Port
-
- Finite differences method port
+ .github/ISSUE_TEMPLATE.md | 31 +++++++++++++++++++++++++++++++
+ 1 file changed, 31 insertions(+)
-commit 7c1a140ac06d727f75d6da39aa4517a8192a78f3
-Author: tournierjc
-Date: Fri Sep 29 00:32:37 2017 +0200
+commit ea44f825b127bcc6bce931c01c194c489b6670d4
+Author: Andrea Maggiulli
+Date: Mon Feb 5 23:13:10 2018 +0100
- SonarQube fix
+ Created LICENSE [skip ci]
- .../Volatility/equityfx/FixedLocalVolSurface.cs | 32 ++++++++++------------
- 1 file changed, 15 insertions(+), 17 deletions(-)
+ LICENSE | 29 +++++++++++++++++++++++++++++
+ 1 file changed, 29 insertions(+)
-commit 0571bf85a164f1d73592b0961e78c46f84db6fae
-Author: tournierjc
-Date: Fri Sep 29 00:25:14 2017 +0200
+commit 281f56a5ca2b743596c325cffc7ccb6a3967b2cf
+Author: Andrea Maggiulli
+Date: Mon Feb 5 22:54:21 2018 +0100
- SonarQube fixes 3
+ Updated CONTRIBUTING.md [skip ci]
- src/QLNet/Math/NumericalDifferentiation.cs | 1 -
- src/QLNet/Methods/Finitedifferences/TRBDF2.cs | 31 +++++++++++----------------
- 2 files changed, 13 insertions(+), 19 deletions(-)
+ CONTRIBUTING.md | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
-commit fcc1e90f9f829991b84bd2b8ff77c390246b27f1
-Author: tournierjc
-Date: Fri Sep 29 00:07:40 2017 +0200
+commit 99f2d14896b638fd79ec1598d6ea1b94bf2793ce
+Author: Andrea Maggiulli
+Date: Mon Feb 5 22:50:40 2018 +0100
- SonarQube fixes 2
+ Created CONTRIBUTING.md [skip ci]
- .../Finitedifferences/Utilities/FdmDirichletBoundary.cs | 12 +++---------
- 1 file changed, 3 insertions(+), 9 deletions(-)
+ CONTRIBUTING.md | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 124 insertions(+)
-commit 4cbf6172fce0eeaa6fa00508d168be5ac8eafe08
-Author: tournierjc
-Date: Fri Sep 29 00:04:19 2017 +0200
+commit 876597239a2771b3407ade5e49d3310e58f15c76
+Author: Andrea Maggiulli
+Date: Mon Feb 5 22:08:43 2018 +0100
- SonarQube fixes
+ Created CODE_OF_CONDUCT.md
- .../Volatility/equityfx/FixedLocalVolSurface.cs | 14 +++++++-------
- .../Volatility/equityfx/NoExceptLocalVolSurface.cs | 4 ++--
- src/QLNet/processes/BlackScholesProcess.cs | 2 +-
- 3 files changed, 10 insertions(+), 10 deletions(-)
+ CODE_OF_CONDUCT.md | 43 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 43 insertions(+)
-commit 06e40f4056750962bc9d9dcf1100cb541015b109
-Author: tournierjc
-Date: Thu Sep 28 23:59:20 2017 +0200
-
- SonarQube fixes
-
- .../Methods/Finitedifferences/ExplicitEuler.cs | 3 --
- .../Methods/Finitedifferences/ImplicitEuler.cs | 3 --
- .../Operators/NinePointLinearOp.cs | 35 +++++++--------
- .../Operators/SecondOrderMixedDerivativeOp.cs | 52 +++++++++++++---------
- .../Finitedifferences/Schemes/CraigSneydScheme.cs | 13 +++---
- .../Finitedifferences/Schemes/DouglasScheme.cs | 8 ++--
- .../Schemes/ExplicitEulerScheme.cs | 8 ++--
- .../Finitedifferences/Schemes/HundsdorferScheme.cs | 11 +++--
- .../Schemes/ImplicitEulerScheme.cs | 12 +++--
- .../Schemes/ModifiedCraigSneydScheme.cs | 15 +++----
- src/QLNet/Methods/Finitedifferences/TRBDF2.cs | 6 +--
- .../Finitedifferences/Utilities/ListUtils.cs | 10 ++---
- 12 files changed, 87 insertions(+), 89 deletions(-)
-
-commit fe07c481179730ca23946caa6403556f3bd4b741
-Author: jiskin
-Date: Thu Sep 28 21:33:51 2017 +0200
-
- Port Fixed Local Vol and No Except Local Vol
-
- .../Volatility/equityfx/FixedLocalVolSurface.cs | 233 +++++++++++++++++++++
- .../Volatility/equityfx/NoExceptLocalVolSurface.cs | 68 ++++++
- src/QLNet/processes/BlackScholesProcess.cs | 29 +++
- 3 files changed, 330 insertions(+)
+commit c328d3973dbc215daa823e362fae9f2723abd87f
+Merge: 5bd4f20 7ad8913
+Author: Andrea Maggiulli
+Date: Mon Feb 5 17:27:40 2018 +0100
-commit 0cb99dcc6e7df1b5a152a34431ca875816d12495
-Author: jiskin
-Date: Tue Sep 26 20:10:15 2017 +0200
-
- First port of Finite differences method from Quantlit
-
- src/QLNet/Cashflows/Dividend.cs | 4 +-
- src/QLNet/Instruments/DividendBarrierOption.cs | 6 +-
- src/QLNet/Instruments/DividendSchedule.cs | 1 +
- src/QLNet/Instruments/DividendVanillaOption.cs | 5 +-
- src/QLNet/Instruments/payoffs.cs | 6 +
- .../Math/Interpolations/CubicInterpolation.cs | 245 +++++-
- src/QLNet/Math/Matrix.cs | 5 +-
- src/QLNet/Math/NumericalDifferentiation.cs | 150 ++++
- src/QLNet/Math/ODE/AdaptiveRungeKutta.cs | 229 ++++++
- src/QLNet/Math/Vector.cs | 22 +
- src/QLNet/Math/integrals/DiscreteIntegrals.cs | 109 +++
- src/QLNet/Math/integrals/Integral.cs | 8 +-
- src/QLNet/Math/matrixutilities/BiCGStab.cs | 128 ++++
- src/QLNet/Math/matrixutilities/GMRES.cs | 188 +++++
- src/QLNet/Math/matrixutilities/SparseMatrix.cs | 292 ++++++++
- src/QLNet/Methods/Finitedifferences/DMinus.cs | 42 ++
- src/QLNet/Methods/Finitedifferences/DPlus.cs | 42 ++
- .../Methods/Finitedifferences/ExplicitEuler.cs | 66 ++
- .../Methods/Finitedifferences/ImplicitEuler.cs | 62 ++
- .../Meshers/Concentrating1dMesher.cs | 257 +++++++
- .../Finitedifferences/Meshers/Fdm1dMesher.cs | 50 ++
- .../Meshers/FdmBlackScholesMesher.cs | 143 ++++
- .../Methods/Finitedifferences/Meshers/FdmMesher.cs | 46 ++
- .../Meshers/FdmMesherComposite.cs | 120 +++
- .../Finitedifferences/Meshers/Uniform1dMesher.cs | 52 ++
- .../Finitedifferences/Meshers/UniformGridMesher.cs | 84 +++
- .../Operators/FdmBlackScholesOp.cs | 155 ++++
- .../Finitedifferences/Operators/FdmLinearOp.cs | 46 ++
- .../Operators/FdmLinearOpComposite.cs | 50 ++
- .../Operators/FdmLinearOpIterator.cs | 108 +++
- .../Operators/FdmLinearOpLayout.cs | 134 ++++
- .../Operators/FirstDerivativeOp.cs | 75 ++
- .../Operators/NinePointLinearOp.cs | 218 ++++++
- .../Operators/SecondDerivativeOp.cs | 67 ++
- .../Operators/SecondOrderMixedDerivativeOp.cs | 126 ++++
- .../Operators/TripleBandLinearOp.cs | 312 ++++++++
- .../Methods/Finitedifferences/ParallelEvolver.cs | 2 +-
- .../Schemes/BoundaryConditionSchemeHelper.cs | 58 ++
- .../Finitedifferences/Schemes/CraigSneydScheme.cs | 101 +++
- .../Finitedifferences/Schemes/DouglasScheme.cs | 91 +++
- .../Schemes/ExplicitEulerScheme.cs | 72 ++
- .../Finitedifferences/Schemes/HundsdorferScheme.cs | 102 +++
- .../Schemes/ImplicitEulerScheme.cs | 108 +++
- .../Schemes/ModifiedCraigSneydScheme.cs | 103 +++
- .../Finitedifferences/Solvers/Fdm1DimSolver.cs | 115 +++
- .../Finitedifferences/Solvers/FdmBackwardSolver.cs | 178 +++++
- .../Solvers/FdmBlackScholesSolver.cs | 83 +++
- .../Finitedifferences/Solvers/FdmSolverDesc.cs | 37 +
- .../StepConditions/FdmAmericanStepCondition.cs | 57 ++
- .../StepConditions/FdmBermudanStepCondition.cs | 79 ++
- .../StepConditions/FdmSnapshotCondition.cs | 48 ++
- .../StepConditions/FdmStepConditionComposite.cs | 111 +++
- src/QLNet/Methods/Finitedifferences/TRBDF2.cs | 155 ++++
- .../Utilities/FdmBoundaryConditionSet.cs | 30 +
- .../Utilities/FdmDirichletBoundary.cs | 83 +++
- .../Utilities/FdmDividendHandler.cs | 116 +++
- .../Utilities/FdmIndicesOnBoundary.cs | 66 ++
- .../Utilities/FdmInnerValueCalculator.cs | 148 ++++
- .../Utilities/FdmMesherIntegral.cs | 67 ++
- .../Finitedifferences/Utilities/ListUtils.cs | 79 ++
- .../Methods/Finitedifferences/ZeroCondition.cs | 37 +
- .../Methods/Finitedifferences/cranknicolson.cs | 3 +-
- .../Finitedifferences/finitedifferencemodel.cs | 5 +
- src/QLNet/Methods/Finitedifferences/mixedscheme.cs | 2 +-
- .../barrier/FdBlackScholesBarrierEngine.cs | 210 ++++++
- .../barrier/FdBlackScholesRebateEngine.cs | 139 ++++
- .../vanilla/FdBlackScholesVanillaEngine.cs | 105 +++
- .../Volatility/equityfx/LocalVolSurface.cs | 26 +-
- .../Volatility/swaption/swaptionvolmatrix.cs | 421 ++++++-----
- tests/QLNet.Tests/T_BarrierOption.cs | 48 +-
- tests/QLNet.Tests/T_FdmLinearOp.cs | 827 +++++++++++++++++++++
- tests/QLNet.Tests/T_Interpolations.cs | 2 +-
- 72 files changed, 7314 insertions(+), 253 deletions(-)
-
-commit 5ae4482e80ff32d407311840a7949692a130cdfb
-Merge: 3299974 1a0822c
-Author: jiskin
-Date: Tue Sep 26 19:48:08 2017 +0200
-
- Merge pull request #2 from amaggiulli/develop
+ Merge pull request #201 from amaggiulli/formatcode
- merge
+ Formatcode
-commit 1a0822c1de59823b45ddee5d5bfec85c7e185ba5
-Merge: 6d5c724 362a815
+commit 7ad891384b81ff92c1ee556bd277a6f72c8ba404
Author: Andrea Maggiulli
-Date: Mon Sep 25 18:23:19 2017 +0200
-
- Merge pull request #171 from jiskin/UpdateSwaptionTestCase
-
- Update swaption test case
-
-commit 362a8158347b0351c1df7ebb5b0a7ddf362bed0c
-Author: jiskin
-Date: Mon Sep 25 18:07:57 2017 +0200
-
- Add Cash Settled Swaption test
-
- tests/QLNet.Tests/T_Swaption.cs | 372 +++++++++++++++++++++++++++++++++++++---
- 1 file changed, 352 insertions(+), 20 deletions(-)
-
-commit 6d5c7241296ecac5624d3996c816dc983867ac3c
-Merge: 6b15b1b 30f4e5d
+Date: Fri Feb 2 17:27:04 2018 +0100
+
+ Removed unnecessary semicolons.
+
+ src/QLNet/Cashflows/CouponPricer.cs | 2 +-
+ src/QLNet/Cashflows/InflationCouponPricer.cs | 2 +-
+ src/QLNet/Cashflows/YoYInflationCoupon.cs | 2 +-
+ src/QLNet/Indexes/Inflation/UKRPI.cs | 2 +-
+ src/QLNet/Indexes/Swapindex.cs | 2 +-
+ src/QLNet/Indexes/swap/ChfLiborSwap.cs | 2 +-
+ src/QLNet/Indexes/swap/EuriborSwap.cs | 2 +-
+ src/QLNet/Instruments/BMASwap.cs | 2 +-
+ src/QLNet/Instruments/BasisSwap.cs | 2 +-
+ src/QLNet/Instruments/Bonds/CallableBond.cs | 2 +-
+ src/QLNet/Instruments/Bonds/ConvertibleBond.cs | 4 ++--
+ src/QLNet/Instruments/CPISwap.cs | 2 +-
+ src/QLNet/Instruments/Callability.cs | 6 +++---
+ src/QLNet/Instruments/CapFloor.cs | 8 ++++----
+ src/QLNet/Instruments/Forward.cs | 2 +-
+ src/QLNet/Instruments/Loan.cs | 2 +-
+ src/QLNet/Instruments/MultiAssetOption.cs | 2 +-
+ src/QLNet/Instruments/OvernightIndexedSwap.cs | 2 +-
+ src/QLNet/Instruments/Swaption.cs | 2 +-
+ src/QLNet/Instruments/VanillaSwap.cs | 2 +-
+ src/QLNet/Instruments/YearOnYearInflationSwap.cs | 4 ++--
+ src/QLNet/Instruments/ZeroCouponInflationSwap.cs | 4 ++--
+ src/QLNet/Math/Interpolations/ConvexMonotoneInterpolation.cs | 2 +-
+ src/QLNet/Math/Interpolations/KernelInterpolation.cs | 2 +-
+ src/QLNet/Math/Interpolations/Linearinterpolation.cs | 4 ++--
+ src/QLNet/Math/Interpolations/Loginterpolation.cs | 2 +-
+ src/QLNet/Math/LinearLeastSquaresRegression.cs | 2 +-
+ src/QLNet/Math/NumericalDifferentiation.cs | 2 +-
+ src/QLNet/Math/Optimization/Constraint.cs | 2 +-
+ src/QLNet/Math/TransformedGrid.cs | 2 +-
+ src/QLNet/Math/matrixutilities/TqrEigenDecomposition.cs | 2 +-
+ src/QLNet/Math/randomnumbers/SobolRsg.cs | 2 +-
+ src/QLNet/Methods/Finitedifferences/BoundaryCondition.cs | 2 +-
+ src/QLNet/Methods/lattices/BinominalTree.cs | 2 +-
+ src/QLNet/Methods/lattices/Lattice2D.cs | 2 +-
+ src/QLNet/Methods/lattices/TrinomialTree.cs | 2 +-
+ src/QLNet/Methods/montecarlo/LsmBasisSystem.cs | 2 +-
+ .../MarketModels/BrownianGenerators/SobolBrownianGenerator.cs | 2 +-
+ src/QLNet/Pricingengines/credit/IsdaCdsEngine.cs | 2 +-
+ src/QLNet/Pricingengines/inflation/InflationCapFloorEngines.cs | 2 +-
+ src/QLNet/Pricingengines/swaption/BlackSwaptionEngine.cs | 2 +-
+ src/QLNet/Pricingengines/vanilla/AnalyticHestonEngine.cs | 2 +-
+ src/QLNet/Pricingengines/vanilla/HestonExpansionEngine.cs | 2 +-
+ src/QLNet/Pricingengines/vanilla/MCEuropeanHestonEngine.cs | 2 +-
+ .../Termstructures/Volatility/Optionlet/OptionletStripper.cs | 2 +-
+ src/QLNet/Termstructures/Volatility/Sabr.cs | 2 +-
+ src/QLNet/Termstructures/Volatility/swaption/SwaptionVolCube1.cs | 2 +-
+ src/QLNet/Time/ASX.cs | 2 +-
+ src/QLNet/Time/Calendars/Argentina.cs | 4 ++--
+ src/QLNet/Time/Calendars/Australia.cs | 4 ++--
+ src/QLNet/Time/Calendars/Canada.cs | 2 +-
+ src/QLNet/Time/Calendars/China.cs | 4 ++--
+ src/QLNet/Time/Calendars/Germany.cs | 6 +++---
+ src/QLNet/Time/Calendars/Indonesia.cs | 2 +-
+ src/QLNet/Time/Calendars/Italy.cs | 6 +++---
+ src/QLNet/Time/Calendars/Japan.cs | 4 ++--
+ src/QLNet/Time/Calendars/JointCalendar.cs | 2 +-
+ src/QLNet/Time/Calendars/Switzerland.cs | 4 ++--
+ src/QLNet/Time/Calendars/Taiwan.cs | 4 ++--
+ src/QLNet/Time/Calendars/Turkey.cs | 2 +-
+ src/QLNet/Time/Calendars/Ukraine.cs | 4 ++--
+ src/QLNet/Time/Calendars/UnitedStates.cs | 2 +-
+ src/QLNet/Time/DayCounters/Actual360.cs | 2 +-
+ src/QLNet/Time/DayCounters/ActualActual.cs | 8 ++++----
+ src/QLNet/Time/DayCounters/Thirty360.cs | 8 ++++----
+ src/QLNet/Time/ECB.cs | 2 +-
+ src/QLNet/processes/HybridHestonHullWhiteProcess.cs | 2 +-
+ tests/QLNet.Tests/T_BasketOption.cs | 4 ++--
+ tests/QLNet.Tests/T_EuropeanOption.cs | 2 +-
+ tests/QLNet.Tests/T_Inflation.cs | 2 +-
+ tests/QLNet.Tests/T_InterestRate.cs | 2 +-
+ tests/QLNet.Tests/T_LowDiscrepancySequences.cs | 6 +++---
+ tests/QLNet.Tests/T_OvernightIndexedSwap.cs | 6 +++---
+ tests/QLNet.Tests/T_Piecewiseyieldcurve.cs | 4 ++--
+ tests/QLNet.Tests/T_Solvers.cs | 2 +-
+ tests/QLNet.Tests/Utilities.cs | 4 ++--
+ 76 files changed, 109 insertions(+), 109 deletions(-)
+
+commit 56e31900bbcbed88038fdc8f81b6f542df81ca52
Author: Andrea Maggiulli
-Date: Wed Sep 13 14:39:43 2017 +0200
-
- Merge branch 'develop' of https://github.com/amaggiulli/qlnet into develop
-
-commit 6b15b1be205012b477cb6988db54fa47871dfd72
+Date: Fri Feb 2 14:11:48 2018 +0100
+
+ Initial tests refactoring
+
+ tests/QLNet.Tests.Old/AssemblyInfo.cs | 16 +-
+ tests/QLNet.Tests/T_AmericanOption.cs | 1026 ++---
+ tests/QLNet.Tests/T_AsianOptions.cs | 610 +--
+ tests/QLNet.Tests/T_AssetSwap.cs | 4164 ++++++++++----------
+ tests/QLNet.Tests/T_BarrierOption.cs | 992 ++---
+ tests/QLNet.Tests/T_BasketOption.cs | 272 +-
+ tests/QLNet.Tests/T_Bermudanswaption.cs | 438 +-
+ tests/QLNet.Tests/T_BinaryOption.cs | 233 +-
+ tests/QLNet.Tests/T_BlackDeltaCalculator.cs | 624 +--
+ tests/QLNet.Tests/T_BlackFormula.cs | 133 +-
+ tests/QLNet.Tests/T_Bonds.cs | 702 ++--
+ tests/QLNet.Tests/T_BusinessDayConvention.cs | 170 +-
+ tests/QLNet.Tests/T_CPISwap.cs | 350 +-
+ tests/QLNet.Tests/T_Calendars.cs | 2443 ++++++------
+ tests/QLNet.Tests/T_CapFloor.cs | 992 ++---
+ tests/QLNet.Tests/T_CapFlooredCoupon.cs | 420 +-
+ tests/QLNet.Tests/T_CashFlows.cs | 70 +-
+ tests/QLNet.Tests/T_CliquetOption.cs | 194 +-
+ tests/QLNet.Tests/T_Cms.cs | 354 +-
+ tests/QLNet.Tests/T_CreditDefaultSwap.cs | 174 +-
+ tests/QLNet.Tests/T_Dates.cs | 229 +-
+ tests/QLNet.Tests/T_DayCounters.cs | 341 +-
+ tests/QLNet.Tests/T_DefaultProbabilityCurves.cs | 44 +-
+ tests/QLNet.Tests/T_DigitalCoupon.cs | 900 ++---
+ tests/QLNet.Tests/T_DigitalOption.cs | 405 +-
+ tests/QLNet.Tests/T_DividendOption.cs | 100 +-
+ tests/QLNet.Tests/T_DoubleBarrierOption.cs | 526 +--
+ tests/QLNet.Tests/T_DoubleBinaryOption.cs | 341 +-
+ tests/QLNet.Tests/T_EuropeanOption.cs | 94 +-
+ tests/QLNet.Tests/T_ExchangeRate.cs | 162 +-
+ tests/QLNet.Tests/T_FdmLinearOp.cs | 1605 ++++----
+ tests/QLNet.Tests/T_ForwardOption.cs | 283 +-
+ tests/QLNet.Tests/T_Functions.cs | 270 +-
+ tests/QLNet.Tests/T_HestonModel.cs | 863 ++--
+ .../QLNet.Tests/T_HybridHestonHullWhiteProcess.cs | 372 +-
+ tests/QLNet.Tests/T_Inflation.cs | 613 +--
+ tests/QLNet.Tests/T_InflationCPICapFloor.cs | 304 +-
+ tests/QLNet.Tests/T_InflationCapFloorTest.cs | 964 ++---
+ .../QLNet.Tests/T_InflationCapFlooredCouponTest.cs | 798 ++--
+ tests/QLNet.Tests/T_Instruments.cs | 14 +-
+ tests/QLNet.Tests/T_InterestRate.cs | 99 +-
+ tests/QLNet.Tests/T_Interpolations.cs | 2013 +++++-----
+ tests/QLNet.Tests/T_LiborMarketModel.cs | 869 ++--
+ tests/QLNet.Tests/T_LiborMarketModelProcess.cs | 670 ++--
+ .../QLNet.Tests/T_LinearLeastSquaresRegression.cs | 422 +-
+ tests/QLNet.Tests/T_LookbackOption.cs | 327 +-
+ tests/QLNet.Tests/T_LowDiscrepancySequences.cs | 500 +--
+ tests/QLNet.Tests/T_Matrices.cs | 616 +--
+ tests/QLNet.Tests/T_Mclongstaffschwartzengine.cs | 124 +-
+ tests/QLNet.Tests/T_Money.cs | 34 +-
+ tests/QLNet.Tests/T_Operators.cs | 74 +-
+ tests/QLNet.Tests/T_Optimizers.cs | 952 ++---
+ tests/QLNet.Tests/T_OptionletStripper.cs | 296 +-
+ tests/QLNet.Tests/T_OvernightIndexedSwap.cs | 345 +-
+ tests/QLNet.Tests/T_PSACurve.cs | 37 +-
+ tests/QLNet.Tests/T_PathGenerator.cs | 584 +--
+ .../T_PiecewiseZeroSpreadedTermStructure.cs | 188 +-
+ tests/QLNet.Tests/T_Piecewiseyieldcurve.cs | 1631 ++++----
+ tests/QLNet.Tests/T_Quotes.cs | 75 +-
+ tests/QLNet.Tests/T_RNGTraits.cs | 36 +-
+ tests/QLNet.Tests/T_RiskStats.cs | 502 +--
+ tests/QLNet.Tests/T_Rounding.cs | 75 +-
+ tests/QLNet.Tests/T_SVI.cs | 209 +-
+ tests/QLNet.Tests/T_SampledCurve.cs | 20 +-
+ tests/QLNet.Tests/T_Schedule.cs | 198 +-
+ tests/QLNet.Tests/T_ShortRateModels.cs | 428 +-
+ tests/QLNet.Tests/T_Solvers.cs | 46 +-
+ tests/QLNet.Tests/T_Stats.cs | 208 +-
+ tests/QLNet.Tests/T_Swaps.cs | 178 +-
+ tests/QLNet.Tests/T_Swaption.cs | 1693 ++++----
+ tests/QLNet.Tests/T_SwaptionVolatilityCube.cs | 290 +-
+ tests/QLNet.Tests/T_SwaptionVolatilitymatrix.cs | 829 ++--
+ tests/QLNet.Tests/T_TermStructures.cs | 225 +-
+ tests/QLNet.Tests/T_Vector.cs | 56 +-
+ tests/QLNet.Tests/Utilities.cs | 562 +--
+ 75 files changed, 19890 insertions(+), 19126 deletions(-)
+
+commit 59e2bf145c064afb13eb94b1447fddd3bbf9d96f
Author: Andrea Maggiulli
-Date: Wed Sep 13 14:39:19 2017 +0200
+Date: Fri Feb 2 14:11:21 2018 +0100
- Fixed a bug in DiscretizedCallableFixedRateBond.
+ Added test to code format.
- src/QLNet/Instruments/Bonds/DiscretizedCallableFixedRateBond.cs | 2 +-
+ format_code.bat | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-commit 32999749387a283d0efb691e75c7a7a89883b629
-Merge: 4f1ddba 30f4e5d
-Author: jiskin
-Date: Thu Sep 7 20:31:23 2017 +0200
-
- Merge pull request #1 from amaggiulli/develop
-
- Merge all PR
-
-commit 30f4e5d33e75bea8f9a8c07b520652a36befd63f
-Merge: 575c5b7 fa74976
-Author: Andrea Maggiulli
-Date: Fri Sep 1 10:33:34 2017 +0200
-
- Merge pull request #170 from jiskin/Allow_ZeroCurve_initialize_children
-
- change private to protected for initialize method
-
-commit fa74976741167f4be258fa87817328c11d252edf
-Author: jiskin
-Date: Thu Aug 31 12:37:55 2017 +0200
-
- set members as protected
-
- ...terpolatedPiecewiseZeroSpreadedTermStructure.cs | 32 +++++++++++-----------
- 1 file changed, 16 insertions(+), 16 deletions(-)
-
-commit 4f1ddbad2550305cc86e442581222049498dc641
-Author: jiskin
-Date: Thu Aug 31 12:37:19 2017 +0200
-
- set members as protected
-
- ...terpolatedPiecewiseZeroSpreadedTermStructure.cs | 32 +++++++++++-----------
- 1 file changed, 16 insertions(+), 16 deletions(-)
-
-commit 1063ecfc09319c59f2b69eea02680eecd4f51f7a
-Author: jiskin
-Date: Thu Aug 31 12:33:40 2017 +0200
-
- set members as protected
-
- .../Termstructures/Yield/ZeroSpreadedTermStructure.cs | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-commit 692b803c39b93e4c0dc80d826cd2f3f641f78a92
-Author: jiskin
-Date: Thu Aug 31 12:25:20 2017 +0200
-
- change private to protected for initialize method
-
- src/QLNet/Termstructures/Yield/ZeroCurve.cs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 575c5b7e4256fc3aaf128971a33ab67061c2a4ce
-Author: Andrea Maggiulli
-Date: Wed Aug 30 11:52:09 2017 +0200
-
- Updated double extensions.
-
- src/QLNet/Extensions/DoubleExtension.cs | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
-
-commit 101cbeb323f18d4e843954355eae12a95c36d2f2
+commit c0ea99c26b198c04bf51de5dad55394b9debe3e5
Author: Andrea Maggiulli
-Date: Wed Aug 30 11:51:26 2017 +0200
-
- Updated documentation to standard format ( can be used as sample for other classes ).
-
- src/QLNet/Cashflows/averagebmacoupon.cs | 75 +++++++++++++++++++++++++--------
- 1 file changed, 57 insertions(+), 18 deletions(-)
-
-commit 7f0d12259585144fb1208bd4780aff872ffd6c66
+Date: Fri Feb 2 12:52:02 2018 +0100
+
+ Uniformed file names to CamelCase standard
+
+ src/QLNet/Cashflows/{averagebmacoupon.cs => AverageBMACoupon.cs} | 0
+ src/QLNet/{discretizedasset.cs => DiscretizedAsset.cs} | 0
+ src/QLNet/{grid.cs => Grid.cs} | 0
+ src/QLNet/Indexes/{bmaindex.cs => BMAIndex.cs} | 0
+ src/QLNet/Instruments/{bmaswap.cs => BMASwap.cs} | 0
+ .../Instruments/{fixedratebondforward.cs => FixedRateBondForward.cs} | 0
+ src/QLNet/Instruments/{forward.cs => Forward.cs} | 0
+ .../Instruments/{forwardrateagreement.cs => ForwardRateAgreement.cs} | 0
+ src/QLNet/Instruments/{payoffs.cs => Payoffs.cs} | 0
+ src/QLNet/Math/{beta.cs => Beta.cs} | 0
+ .../Distributions/{binomialdistribution.cs => BinomialDistribution.cs} | 0
+ .../Distributions/{chisquaredistribution.cs => ChiSquareDistribution.cs} | 0
+ .../Math/Distributions/{poissondistribution.cs => PoissonDistribution.cs} | 0
+ src/QLNet/Math/{factorial.cs => Factorial.cs} | 0
+ .../{backwardflatinterpolation.cs => BackwardFlatInterpolation.cs} | 0
+ .../Interpolations/{bilinearinterpolation.cs => BilinearInterpolation.cs} | 0
+ .../{convexmonotoneinterpolation.cs => ConvexMonotoneInterpolation.cs} | 0
+ .../{forwardflatinterpolation.cs => ForwardFlatInterpolation.cs} | 0
+ src/QLNet/Math/Interpolations/{interpolation2d.cs => Interpolation2D.cs} | 0
+ .../Math/Interpolations/{multicubicspline.cs => MultiCubicSpline.cs} | 0
+ .../Math/Interpolations/{sabrinterpolation.cs => SABRInterpolation.cs} | 0
+ .../{linearleastsquaresregression.cs => LinearLeastSquaresRegression.cs} | 0
+ .../Math/Optimization/{levenbergmarquardt.cs => LevenbergMarquardt.cs} | 0
+ src/QLNet/Math/Optimization/{lmdif.cs => LmDif.cs} | 0
+ src/QLNet/Math/Optimization/{method.cs => Method.cs} | 0
+ src/QLNet/Math/Optimization/{problem.cs => Problem.cs} | 0
+ src/QLNet/Math/{transformedgrid.cs => TransformedGrid.cs} | 0
+ .../{gaussianorthogonalpolynomial.cs => GaussianOrthogonalPolynomial.cs} | 0
+ src/QLNet/Math/integrals/{simpsonintegral.cs => SimpsonIntegral.cs} | 0
+ src/QLNet/Math/integrals/{trapezoidintegral.cs => TrapezoidIntegral.cs} | 0
+ .../{choleskydecomposition.cs => CholeskyDecomposition.cs} | 0
+ src/QLNet/Math/matrixutilities/{pseudosqrt.cs => PseudoSqrt.cs} | 0
+ src/QLNet/Math/matrixutilities/{qrdecomposition.cs => QRDecomposition.cs} | 0
+ src/QLNet/Math/matrixutilities/{svd.cs => SVD.cs} | 0
+ .../{symmetricschurdecomposition.cs => SymmetricSchurDecomposition.cs} | 0
+ .../randomnumbers/{inversecumulativerng.cs => InverseCumulativeRng.cs} | 0
+ .../randomnumbers/{inversecumulativersg.cs => InverseCumulativeRsg.cs} | 0
+ .../Math/randomnumbers/{mt19937uniformrng.cs => MT19937UniformRng.cs} | 0
+ .../randomnumbers/{primitivepolynomials.cs => PrimitivePolynomials.cs} | 0
+ src/QLNet/Math/randomnumbers/{rngtraits.cs => RNGTraits.cs} | 0
+ .../{randomsequencegenerator.cs => RandomSequenceGenerator.cs} | 0
+ src/QLNet/Math/randomnumbers/{seedgenerator.cs => SeedGenerator.cs} | 0
+ src/QLNet/Math/randomnumbers/{sobolrsg.cs => SobolRsg.cs} | 0
+ src/QLNet/Math/randomnumbers/{sobolrsg2.cs => SobolRsg2.cs} | 0
+ .../statistics/{convergencestatistics.cs => ConvergenceStatistics.cs} | 0
+ .../Math/statistics/{gaussianstatistics.cs => GaussianStatistics.cs} | 0
+ src/QLNet/Math/statistics/{generalstatistics.cs => GeneralStatistics.cs} | 0
+ .../statistics/{incrementalstatistics.cs => IncrementalStatistics.cs} | 0
+ src/QLNet/Math/statistics/{riskstatistics.cs => RiskStatistics.cs} | 0
+ .../Math/statistics/{sequencestatistics.cs => SequenceStatistics.cs} | 0
+ src/QLNet/Methods/Finitedifferences/{bsmoperator.cs => BSMOperator.cs} | 0
+ .../Methods/Finitedifferences/{cranknicolson.cs => CrankNicolson.cs} | 0
+ src/QLNet/Methods/Finitedifferences/{dzero.cs => DZero.cs} | 0
+ .../{finitedifferencemodel.cs => FiniteDifferenceModel.cs} | 0
+ src/QLNet/Methods/Finitedifferences/{mixedscheme.cs => MixedScheme.cs} | 0
+ src/QLNet/Methods/Finitedifferences/{pde.cs => Pde.cs} | 0
+ src/QLNet/Methods/Finitedifferences/{pdebsm.cs => PdeBsm.cs} | 0
+ src/QLNet/Methods/Finitedifferences/{pdeshortrate.cs => PdeShortRate.cs} | 0
+ src/QLNet/Methods/lattices/{binominaltree.cs => BinominalTree.cs} | 0
+ src/QLNet/Methods/lattices/{bsmlattice.cs => BsmLattice.cs} | 0
+ src/QLNet/Methods/lattices/{lattice.cs => Lattice.cs} | 0
+ src/QLNet/Methods/lattices/{lattice1d.cs => Lattice1D.cs} | 0
+ src/QLNet/Methods/lattices/{lattice2d.cs => Lattice2D.cs} | 0
+ src/QLNet/Methods/lattices/{tree.cs => Tree.cs} | 0
+ src/QLNet/Methods/lattices/{trinomialtree.cs => TrinomialTree.cs} | 0
+ src/QLNet/Methods/montecarlo/{brownianbridge.cs => BrownianBridge.cs} | 0
+ .../montecarlo/{earlyexercisepathpricer.cs => EarlyExercisePathPricer.cs} | 0
+ .../{longstaffschwartzpathpricer.cs => LongstaffSchwartzPathPricer.cs} | 0
+ src/QLNet/Methods/montecarlo/{lsmbasissystem.cs => LsmBasisSystem.cs} | 0
+ src/QLNet/Methods/montecarlo/{mctraits.cs => MCTraits.cs} | 0
+ src/QLNet/Methods/montecarlo/{montecarlomodel.cs => MontecarloModel.cs} | 0
+ src/QLNet/Methods/montecarlo/{multipath.cs => MultiPath.cs} | 0
+ .../Methods/montecarlo/{multipathgenerator.cs => MultiPathGenerator.cs} | 0
+ src/QLNet/Methods/montecarlo/{path.cs => Path.cs} | 0
+ src/QLNet/Methods/montecarlo/{pathgenerator.cs => PathGenerator.cs} | 0
+ src/QLNet/Methods/montecarlo/{pathpricer.cs => PathPricer.cs} | 0
+ src/QLNet/Methods/montecarlo/{sample.cs => Sample.cs} | 0
+ src/QLNet/Models/{model.cs => Model.cs} | 0
+ .../Shortrate/Onefactormodels/{blackkarasinski.cs => BlackKarasinski.cs} | 0
+ .../Onefactormodels/{coxingersollross.cs => CoxIngersollRoss.cs} | 0
+ src/QLNet/Models/Shortrate/Onefactormodels/{hullwhite.cs => HullWhite.cs} | 0
+ src/QLNet/Models/Shortrate/Onefactormodels/{vasicek.cs => Vasicek.cs} | 0
+ src/QLNet/Models/Shortrate/{twofactormodel.cs => TwoFactorModel.cs} | 0
+ src/QLNet/Models/Shortrate/Twofactorsmodels/{g2.cs => G2.cs} | 0
+ .../Models/Shortrate/calibrationhelpers/{caphelper.cs => CapHelper.cs} | 0
+ .../Shortrate/calibrationhelpers/{swaptionhelper.cs => SwaptionHelper.cs} | 0
+ src/QLNet/{numericalmethod.cs => NumericalMethod.cs} | 0
+ src/QLNet/Patterns/{observablevalue.cs => ObservableValue.cs} | 0
+ src/QLNet/{payoff.cs => Payoff.cs} | 0
+ src/QLNet/Pricingengines/{blackformula.cs => BlackFormula.cs} | 0
+ .../CapFloor/{analyticcapfloorengine.cs => AnalyticCapFloorEngine.cs} | 0
+ .../CapFloor/{discretizedcapfloor.cs => DiscretizedCapFloor.cs} | 0
+ src/QLNet/Pricingengines/{genericmodelengine.cs => GenericModelEngine.cs} | 0
+ .../{latticeshortratemodelengine.cs => LatticeShortRateModelEngine.cs} | 0
+ .../{mclongstaffschwartzengine.cs => MCLongstaffSchwartzEngine.cs} | 0
+ src/QLNet/Pricingengines/{mcsimulation.cs => McSimulation.cs} | 0
+ src/QLNet/Pricingengines/Swap/{discretizedswap.cs => DiscretizedSwap.cs} | 0
+ src/QLNet/Pricingengines/Swap/{treeswapengine.cs => TreeSwapEngine.cs} | 0
+ .../asian/{mcdiscreteasianengine.cs => McDiscreteAsianEngine.cs} | 0
+ .../asian/{mc_discr_arith_av_price.cs => Mc_Discr_Arith_Av_Price.cs} | 0
+ .../asian/{mc_discr_arith_av_strike.cs => Mc_Discr_Arith_Av_Strike.cs} | 0
+ .../asian/{mc_discr_geom_av_price.cs => Mc_Discr_Geom_Av_Price.cs} | 0
+ .../swaption/{blackswaptionengine.cs => BlackSwaptionEngine.cs} | 0
+ .../swaption/{discretizedswaption.cs => DiscretizedSwaption.cs} | 0
+ .../Pricingengines/swaption/{g2swaptionengine.cs => G2SwaptionEngine.cs} | 0
+ .../swaption/{jamshidianswaptionengine.cs => JamshidianSwaptionEngine.cs} | 0
+ .../swaption/{treeswaptionengine.cs => TreeSwaptionEngine.cs} | 0
+ .../vanilla/{baroneadesiwhaleyengine.cs => BaroneAdesiWhaleyEngine.cs} | 0
+ src/QLNet/Pricingengines/vanilla/{binomialengine.cs => BinomialEngine.cs} | 0
+ .../vanilla/{bjerksundstenslandengine.cs => BjerksundStenslandEngine.cs} | 0
+ .../vanilla/{discretizedvanillaoption.cs => DiscretizedVanillaOption.cs} | 0
+ .../Pricingengines/vanilla/{mcamericanengine.cs => McAmericanEngine.cs} | 0
+ .../Pricingengines/vanilla/{mceuropeanengine.cs => McEuropeanEngine.cs} | 0
+ .../Pricingengines/vanilla/{mcvanillaengine.cs => McVanillaEngine.cs} | 0
+ src/QLNet/Termstructures/{interpolatedcurve.cs => InterpolatedCurve.cs} | 0
+ src/QLNet/Termstructures/{localbootstrap.cs => LocalBootstrap.cs} | 0
+ src/QLNet/Termstructures/{voltermstructure.cs => VolTermStructure.cs} | 0
+ ...volatilitystructure.cs => YoYInflationOptionletVolatilityStructure.cs} | 0
+ .../Optionlet/{capletvariancecurve.cs => CapletVarianceCurve.cs} | 0
+ .../swaption/{swaptionconstantvol.cs => SwaptionConstantVol.cs} | 0
+ .../swaption/{swaptionvoldiscrete.cs => SwaptionVolDiscrete.cs} | 0
+ .../Volatility/swaption/{swaptionvolmatrix.cs => SwaptionVolMatrix.cs} | 0
+ src/QLNet/Time/Calendars/{argentina.cs => Argentina.cs} | 0
+ src/QLNet/Time/Calendars/{australia.cs => Australia.cs} | 0
+ src/QLNet/Time/Calendars/{bespokecalendar.cs => BespokeCalendar.cs} | 0
+ src/QLNet/Time/Calendars/{botswana.cs => Botswana.cs} | 0
+ src/QLNet/Time/Calendars/{brazil.cs => Brazil.cs} | 0
+ src/QLNet/Time/Calendars/{canada.cs => Canada.cs} | 0
+ src/QLNet/Time/Calendars/{china.cs => China.cs} | 0
+ src/QLNet/Time/Calendars/{czechrepublic.cs => CzechRepublic.cs} | 0
+ src/QLNet/Time/Calendars/{denmark.cs => Denmark.cs} | 0
+ src/QLNet/Time/Calendars/{finland.cs => Finland.cs} | 0
+ src/QLNet/Time/Calendars/{germany.cs => Germany.cs} | 0
+ src/QLNet/Time/Calendars/{hongkong.cs => HongKong.cs} | 0
+ src/QLNet/Time/Calendars/{hungary.cs => Hungary.cs} | 0
+ src/QLNet/Time/Calendars/{iceland.cs => Iceland.cs} | 0
+ src/QLNet/Time/Calendars/{india.cs => India.cs} | 0
+ src/QLNet/Time/Calendars/{indonesia.cs => Indonesia.cs} | 0
+ src/QLNet/Time/Calendars/{italy.cs => Italy.cs} | 0
+ src/QLNet/Time/Calendars/{japan.cs => Japan.cs} | 0
+ src/QLNet/Time/Calendars/{mexico.cs => Mexico.cs} | 0
+ src/QLNet/Time/Calendars/{newzealand.cs => NewZealand.cs} | 0
+ src/QLNet/Time/Calendars/{norway.cs => Norway.cs} | 0
+ src/QLNet/Time/Calendars/{nullcalendar.cs => NullCalendar.cs} | 0
+ src/QLNet/Time/Calendars/{poland.cs => Poland.cs} | 0
+ src/QLNet/Time/Calendars/{russia.cs => Russia.cs} | 0
+ src/QLNet/Time/Calendars/{saudiarabia.cs => SaudiArabia.cs} | 0
+ src/QLNet/Time/Calendars/{singapore.cs => Singapore.cs} | 0
+ src/QLNet/Time/Calendars/{slovakia.cs => Slovakia.cs} | 0
+ src/QLNet/Time/Calendars/{southafrica.cs => SouthAfrica.cs} | 0
+ src/QLNet/Time/Calendars/{southkorea.cs => SouthKorea.cs} | 0
+ src/QLNet/Time/Calendars/{sweden.cs => Sweden.cs} | 0
+ src/QLNet/Time/Calendars/{switzerland.cs => Switzerland.cs} | 0
+ src/QLNet/Time/Calendars/{taiwan.cs => Taiwan.cs} | 0
+ src/QLNet/Time/Calendars/{turkey.cs => Turkey.cs} | 0
+ src/QLNet/{timegrid.cs => TimeGrid.cs} | 0
+ src/QLNet/legacy/libormarketmodels/{lfmcovarparam.cs => LfmCovarParam.cs} | 0
+ .../legacy/libormarketmodels/{lfmcovarproxy.cs => LfmCovarianceProxy.cs} | 0
+ .../libormarketmodels/{lfmhullwhiteparam.cs => LfmHullWhiteParam.cs} | 0
+ src/QLNet/legacy/libormarketmodels/{lfmprocess.cs => LfmProcess.cs} | 0
+ .../libormarketmodels/{lfmswaptionengine.cs => LfmSwaptionEngine.cs} | 0
+ .../libormarketmodels/{liborforwardmodel.cs => LiborForwardModel.cs} | 0
+ .../{lmconstwrappercorrmodel.cs => LmConstWrapperCorrModel.cs} | 0
+ .../{lmconstwrappervolmodel.cs => LmConstWrapperVolModel.cs} | 0
+ src/QLNet/legacy/libormarketmodels/{lmcorrmodel.cs => LmCorrModel.cs} | 0
+ .../legacy/libormarketmodels/{lmexpcorrmodel.cs => LmExpCorrModel.cs} | 0
+ .../libormarketmodels/{lmextlinexpvolmodel.cs => LmExtLinExpVolModel.cs} | 0
+ .../legacy/libormarketmodels/{lmfixedvolmodel.cs => LmFixedVolModel.cs} | 0
+ .../libormarketmodels/{lmlinexpcorrmodel.cs => LmLinExpCorrModel.cs} | 0
+ .../legacy/libormarketmodels/{lmlinexpvolmodel.cs => LmLinExpVolModel.cs} | 0
+ src/QLNet/legacy/libormarketmodels/{lmvolmodel.cs => LmVolModel.cs} | 0
+ .../processes/{stochasticprocessarray.cs => StochasticProcessArray.cs} | 0
+ 172 files changed, 0 insertions(+), 0 deletions(-)
+
+commit 0af035b918146b415c9b1328d7d107fd1bb538c8
Author: Andrea Maggiulli
-Date: Wed Aug 30 11:50:04 2017 +0200
-
- Fixed sonar code smells
-
- .../Pricingengines/swaption/blackswaptionengine.cs | 534 +++++++++++----------
- src/QLNet/Termstructures/Volatility/Sabr.cs | 23 +-
- 2 files changed, 290 insertions(+), 267 deletions(-)
-
-commit eaafa76d66293e738ed77fe7199fc0b25db953da
+Date: Fri Feb 2 11:36:12 2018 +0100
+
+ Initial code refactoring
+
+ src/BermudanSwaption/BermudanSwaption.cs | 539 +-
+ src/Bonds/Bonds.cs | 999 +-
+ src/CVAIRS/CVAIRS.cs | 142 +-
+ src/CallableBonds/CallableBonds.cs | 114 +-
+ src/EquityOption/EquityOption.cs | 509 +-
+ src/FRA/FRA.cs | 345 +-
+ src/FittedBondCurve/FittedBondCurve.cs | 419 +-
+ src/QLNet.Old/AssemblyInfo.cs | 14 +-
+ src/QLNet/CashflowBase.cs | 52 +-
+ src/QLNet/Cashflows/CPICoupon.cs | 198 +-
+ src/QLNet/Cashflows/CPICouponPricer.cs | 59 +-
+ src/QLNet/Cashflows/CappedFlooredCoupon.cs | 76 +-
+ .../Cashflows/CappedFlooredYoYInflationCoupon.cs | 120 +-
+ src/QLNet/Cashflows/CashFlows.cs | 539 +-
+ src/QLNet/Cashflows/Cashflowvectors.cs | 178 +-
+ src/QLNet/Cashflows/CmsCoupon.cs | 122 +-
+ src/QLNet/Cashflows/CmsSpreadCoupon.cs | 82 +-
+ src/QLNet/Cashflows/ConundrumPricer.cs | 1848 +-
+ src/QLNet/Cashflows/Coupon.cs | 64 +-
+ src/QLNet/Cashflows/CouponPricer.cs | 232 +-
+ src/QLNet/Cashflows/DigitalCmsCoupon.cs | 26 +-
+ src/QLNet/Cashflows/DigitalCoupon.cs | 49 +-
+ src/QLNet/Cashflows/DigitalIborCoupon.cs | 28 +-
+ src/QLNet/Cashflows/Dividend.cs | 12 +-
+ src/QLNet/Cashflows/FixedRateCoupon.cs | 230 +-
+ src/QLNet/Cashflows/FloatingRateCoupon.cs | 47 +-
+ src/QLNet/Cashflows/Iborcoupon.cs | 82 +-
+ src/QLNet/Cashflows/IndexedCashFlow.cs | 24 +-
+ src/QLNet/Cashflows/InflationCoupon.cs | 117 +-
+ src/QLNet/Cashflows/InflationCouponPricer.cs | 99 +-
+ src/QLNet/Cashflows/LinearTsrPricer.cs | 228 +-
+ src/QLNet/Cashflows/OvernightIndexedCoupon.cs | 234 +-
+ src/QLNet/Cashflows/Principal.cs | 34 +-
+ src/QLNet/Cashflows/PrincipalLegBase.cs | 12 +-
+ src/QLNet/Cashflows/RangeAccrual.cs | 402 +-
+ src/QLNet/Cashflows/RateLegBase.cs | 48 +-
+ src/QLNet/Cashflows/Replication.cs | 47 +-
+ src/QLNet/Cashflows/SimpleCashFlow.cs | 58 +-
+ src/QLNet/Cashflows/YoYInflationCoupon.cs | 40 +-
+ src/QLNet/Cashflows/averagebmacoupon.cs | 124 +-
+ src/QLNet/Currencies/Africa.cs | 26 +-
+ src/QLNet/Currencies/America.cs | 270 +-
+ src/QLNet/Currencies/Asia.cs | 92 +-
+ src/QLNet/Currencies/Currency.cs | 143 +-
+ src/QLNet/Currencies/Europe.cs | 692 +-
+ src/QLNet/Currencies/ExchangeRate.cs | 117 +-
+ src/QLNet/Currencies/ExchangeRateManager.cs | 80 +-
+ src/QLNet/Currencies/Oceania.cs | 35 +-
+ src/QLNet/Event.cs | 28 +-
+ src/QLNet/Exercise.cs | 8 +-
+ src/QLNet/Extensions/DoubleExtension.cs | 36 +-
+ src/QLNet/Extensions/ListExtension.cs | 18 +-
+ src/QLNet/Handle.cs | 24 +-
+ src/QLNet/Index.cs | 101 +-
+ src/QLNet/Indexes/IBORIndex.cs | 100 +-
+ src/QLNet/Indexes/Ibor/Aonia.cs | 14 +-
+ src/QLNet/Indexes/Ibor/Audlibor.cs | 16 +-
+ src/QLNet/Indexes/Ibor/Bbsw.cs | 50 +-
+ src/QLNet/Indexes/Ibor/Bkbm.cs | 50 +-
+ src/QLNet/Indexes/Ibor/Cadlibor.cs | 22 +-
+ src/QLNet/Indexes/Ibor/Cdor.cs | 37 +-
+ src/QLNet/Indexes/Ibor/Chflibor.cs | 20 +-
+ src/QLNet/Indexes/Ibor/Dkklibor.cs | 16 +-
+ src/QLNet/Indexes/Ibor/Eonia.cs | 10 +-
+ src/QLNet/Indexes/Ibor/Euribor.cs | 272 +-
+ src/QLNet/Indexes/Ibor/Eurlibor.cs | 158 +-
+ src/QLNet/Indexes/Ibor/FedFunds.cs | 12 +-
+ src/QLNet/Indexes/Ibor/Gbplibor.cs | 26 +-
+ src/QLNet/Indexes/Ibor/Jibar.cs | 37 +-
+ src/QLNet/Indexes/Ibor/Jpylibor.cs | 22 +-
+ src/QLNet/Indexes/Ibor/Libor.cs | 88 +-
+ src/QLNet/Indexes/Ibor/Nzdlibor.cs | 16 +-
+ src/QLNet/Indexes/Ibor/Nzocr.cs | 16 +-
+ src/QLNet/Indexes/Ibor/Seklibor.cs | 18 +-
+ src/QLNet/Indexes/Ibor/Shibor.cs | 43 +-
+ src/QLNet/Indexes/Ibor/Sonia.cs | 10 +-
+ src/QLNet/Indexes/Ibor/Tibor.cs | 37 +-
+ src/QLNet/Indexes/Ibor/Trylibor.cs | 16 +-
+ src/QLNet/Indexes/Ibor/Usdlibor.cs | 24 +-
+ src/QLNet/Indexes/Ibor/Zibor.cs | 37 +-
+ src/QLNet/Indexes/Indexmanager.cs | 20 +-
+ src/QLNet/Indexes/Inflation/AUCPI.cs | 74 +-
+ src/QLNet/Indexes/Inflation/EUHICP.cs | 50 +-
+ src/QLNet/Indexes/Inflation/FRHICP.cs | 72 +-
+ src/QLNet/Indexes/Inflation/UKRPI.cs | 36 +-
+ src/QLNet/Indexes/Inflation/USCPI.cs | 70 +-
+ src/QLNet/Indexes/Inflation/ZACPI.cs | 108 +-
+ src/QLNet/Indexes/InflationIndex.cs | 235 +-
+ src/QLNet/Indexes/InterestRateIndex.cs | 72 +-
+ src/QLNet/Indexes/Region.cs | 72 +-
+ src/QLNet/Indexes/Swapindex.cs | 246 +-
+ src/QLNet/Indexes/bmaindex.cs | 72 +-
+ src/QLNet/Indexes/swap/ChfLiborSwap.cs | 16 +-
+ src/QLNet/Indexes/swap/EurLiborSwap.cs | 76 +-
+ src/QLNet/Indexes/swap/EuriborSwap.cs | 74 +-
+ src/QLNet/Indexes/swap/GbpLiborSwap.cs | 12 +-
+ src/QLNet/Indexes/swap/JpyLiborSwap.cs | 6 +-
+ src/QLNet/Indexes/swap/SwapSpreadIndex.cs | 98 +-
+ src/QLNet/Indexes/swap/UsdLiborSwap.cs | 8 +-
+ src/QLNet/Instruments/AsianOption.cs | 217 +-
+ src/QLNet/Instruments/AssetSwap.cs | 130 +-
+ src/QLNet/Instruments/AverageType.cs | 31 +-
+ src/QLNet/Instruments/BarrierOption.cs | 197 +-
+ src/QLNet/Instruments/BarrierType.cs | 35 +-
+ src/QLNet/Instruments/BasisSwap.cs | 73 +-
+ src/QLNet/Instruments/BasketOption.cs | 10 +-
+ src/QLNet/Instruments/Bond.cs | 106 +-
+ src/QLNet/Instruments/Bonds/AmortizingBond.cs | 76 +-
+ .../Instruments/Bonds/AmortizingCmsRateBond.cs | 74 +-
+ .../Instruments/Bonds/AmortizingFixedRateBond.cs | 238 +-
+ .../Bonds/AmortizingFloatingRateBond.cs | 40 +-
+ src/QLNet/Instruments/Bonds/BTP.cs | 252 +-
+ src/QLNet/Instruments/Bonds/BondFactory.cs | 74 +-
+ src/QLNet/Instruments/Bonds/CPIBond.cs | 146 +-
+ src/QLNet/Instruments/Bonds/CallableBond.cs | 159 +-
+ src/QLNet/Instruments/Bonds/CmsRateBond.cs | 96 +-
+ src/QLNet/Instruments/Bonds/ConstantCPR.cs | 10 +-
+ src/QLNet/Instruments/Bonds/ConvertibleBond.cs | 184 +-
+ .../Bonds/DiscretizedCallableFixedRateBond.cs | 30 +-
+ src/QLNet/Instruments/Bonds/Fixedratebond.cs | 130 +-
+ src/QLNet/Instruments/Bonds/FloatingRateBond.cs | 227 +-
+ src/QLNet/Instruments/Bonds/IPrepayModel.cs | 10 +-
+ src/QLNet/Instruments/Bonds/MBSFixedRateBond.cs | 66 +-
+ src/QLNet/Instruments/Bonds/PSACurve.cs | 12 +-
+ src/QLNet/Instruments/Bonds/Zerocouponbond.cs | 21 +-
+ src/QLNet/Instruments/CPICapFloor.cs | 64 +-
+ src/QLNet/Instruments/CPISwap.cs | 116 +-
+ src/QLNet/Instruments/Callability.cs | 50 +-
+ src/QLNet/Instruments/CapFloor.cs | 244 +-
+ src/QLNet/Instruments/Claim.cs | 10 +-
+ src/QLNet/Instruments/CliquetOption.cs | 42 +-
+ src/QLNet/Instruments/CompositeInstrument.cs | 26 +-
+ src/QLNet/Instruments/CreditDefaultSwap.cs | 672 +-
+ src/QLNet/Instruments/DividendBarrierOption.cs | 48 +-
+ src/QLNet/Instruments/DividendSchedule.cs | 10 +-
+ src/QLNet/Instruments/DividendVanillaOption.cs | 172 +-
+ src/QLNet/Instruments/DoubleBarrierOption.cs | 58 +-
+ src/QLNet/Instruments/EuropeanOption.cs | 22 +-
+ src/QLNet/Instruments/FloatFloatSwap.cs | 396 +-
+ src/QLNet/Instruments/ForwardVanillaOption.cs | 38 +-
+ src/QLNet/Instruments/Futures.cs | 8 +-
+ src/QLNet/Instruments/ImpliedVolatility.cs | 107 +-
+ src/QLNet/Instruments/InflationCapFloor.cs | 448 +-
+ src/QLNet/Instruments/Instrument.cs | 274 +-
+ src/QLNet/Instruments/Loan.cs | 137 +-
+ src/QLNet/Instruments/LookbackOption.cs | 106 +-
+ src/QLNet/Instruments/MakeBasisSwap.cs | 30 +-
+ src/QLNet/Instruments/MakeCDS.cs | 18 +-
+ src/QLNet/Instruments/MakeCapFloor.cs | 112 +-
+ src/QLNet/Instruments/MakeCms.cs | 324 +-
+ src/QLNet/Instruments/MakeLoans.cs | 36 +-
+ src/QLNet/Instruments/MakeOIS.cs | 122 +-
+ src/QLNet/Instruments/Makeswaption.cs | 28 +-
+ src/QLNet/Instruments/Makevanillaswap.cs | 604 +-
+ src/QLNet/Instruments/MultiAssetOption.cs | 8 +-
+ src/QLNet/Instruments/OneAssetOption.cs | 30 +-
+ src/QLNet/Instruments/OvernightIndexedSwap.cs | 162 +-
+ src/QLNet/Instruments/Stock.cs | 40 +-
+ src/QLNet/Instruments/Swap.cs | 165 +-
+ src/QLNet/Instruments/Swaption.cs | 31 +-
+ src/QLNet/Instruments/VanillaOption.cs | 40 +-
+ src/QLNet/Instruments/VanillaSwap.cs | 58 +-
+ src/QLNet/Instruments/YearOnYearInflationSwap.cs | 415 +-
+ src/QLNet/Instruments/ZeroCouponInflationSwap.cs | 106 +-
+ src/QLNet/Instruments/bmaswap.cs | 231 +-
+ src/QLNet/Instruments/fixedratebondforward.cs | 20 +-
+ src/QLNet/Instruments/forward.cs | 303 +-
+ src/QLNet/Instruments/forwardrateagreement.cs | 18 +-
+ src/QLNet/Instruments/payoffs.cs | 479 +-
+ src/QLNet/InterestRate.cs | 106 +-
+ src/QLNet/Math/AbcdMathFunction.cs | 78 +-
+ src/QLNet/Math/BSpline.cs | 42 +-
+ src/QLNet/Math/BernsteinPolynomial.cs | 12 +-
+ src/QLNet/Math/Comparison.cs | 77 +-
+ .../Distributions/BivariateNormalDistribution.cs | 249 +-
+ src/QLNet/Math/Distributions/GammaDistribution.cs | 23 +-
+ src/QLNet/Math/Distributions/NormalDistribution.cs | 1050 +-
+ .../Math/Distributions/binomialdistribution.cs | 20 +-
+ .../Math/Distributions/chisquaredistribution.cs | 12 +-
+ .../Math/Distributions/poissondistribution.cs | 12 +-
+ src/QLNet/Math/Interpolation.cs | 90 +-
+ src/QLNet/Math/Interpolations/Abcdinterpolation.cs | 140 +-
+ .../BackwardflatLinearInterpolation.cs | 52 +-
+ .../Interpolations/BicubicSplineInterpolation.cs | 130 +-
+ .../Math/Interpolations/CubicInterpolation.cs | 524 +-
+ src/QLNet/Math/Interpolations/Extrapolator.cs | 30 +-
+ .../Math/Interpolations/FlatExtrapolator2D.cs | 32 +-
+ .../Math/Interpolations/KernelInterpolation.cs | 85 +-
+ .../Math/Interpolations/KernelInterpolation2D.cs | 122 +-
+ .../Math/Interpolations/Linearinterpolation.cs | 118 +-
+ src/QLNet/Math/Interpolations/Loginterpolation.cs | 48 +-
+ .../Math/Interpolations/MixedInterpolation.cs | 186 +-
+ src/QLNet/Math/Interpolations/SviInterpolation.cs | 418 +-
+ .../Math/Interpolations/VannaVolgaInterpolation.cs | 78 +-
+ src/QLNet/Math/Interpolations/XABRInterpolation.cs | 69 +-
+ .../Interpolations/backwardflatinterpolation.cs | 111 +-
+ .../Math/Interpolations/bilinearinterpolation.cs | 18 +-
+ .../Interpolations/convexmonotoneinterpolation.cs | 1507 +-
+ .../Interpolations/forwardflatinterpolation.cs | 105 +-
+ src/QLNet/Math/Interpolations/interpolation2d.cs | 267 +-
+ src/QLNet/Math/Interpolations/multicubicspline.cs | 17 +-
+ src/QLNet/Math/Interpolations/sabrinterpolation.cs | 200 +-
+ src/QLNet/Math/KernelFunctions.cs | 32 +-
+ src/QLNet/Math/Matrix.cs | 74 +-
+ src/QLNet/Math/ModifiedBessel.cs | 170 +-
+ src/QLNet/Math/NumericalDifferentiation.cs | 223 +-
+ src/QLNet/Math/ODE/AdaptiveRungeKutta.cs | 130 +-
+ src/QLNet/Math/Optimization/ArmijoLineSearch.cs | 15 +-
+ src/QLNet/Math/Optimization/BFGS.cs | 32 +-
+ src/QLNet/Math/Optimization/ConjugateGradient.cs | 14 +-
+ src/QLNet/Math/Optimization/Constraint.cs | 152 +-
+ src/QLNet/Math/Optimization/CostFunction.cs | 62 +-
+ .../Math/Optimization/DifferentialEvolution.cs | 94 +-
+ src/QLNet/Math/Optimization/EndCriteria.cs | 270 +-
+ src/QLNet/Math/Optimization/GoldsteinLineSearch.cs | 42 +-
+ src/QLNet/Math/Optimization/LeastSquareProblem.cs | 410 +-
+ src/QLNet/Math/Optimization/LineSearch.cs | 18 +-
+ .../Math/Optimization/LineSearchBasedMethod.cs | 54 +-
+ src/QLNet/Math/Optimization/ProjectedConstraint.cs | 50 +-
+ .../Math/Optimization/ProjectedCostFunction.cs | 168 +-
+ src/QLNet/Math/Optimization/Projection.cs | 36 +-
+ src/QLNet/Math/Optimization/Simplex.cs | 356 +-
+ src/QLNet/Math/Optimization/SimulatedAnnealing.cs | 62 +-
+ src/QLNet/Math/Optimization/SteepestDescent.cs | 14 +-
+ src/QLNet/Math/Optimization/levenbergmarquardt.cs | 107 +-
+ src/QLNet/Math/Optimization/lmdif.cs | 2831 +-
+ src/QLNet/Math/Optimization/method.cs | 12 +-
+ src/QLNet/Math/Optimization/problem.cs | 179 +-
+ src/QLNet/Math/PascalTriangle.cs | 24 +-
+ src/QLNet/Math/PolynomialFunction.cs | 38 +-
+ src/QLNet/Math/PrimeNumbers.cs | 100 +-
+ src/QLNet/Math/RichardsonExtrapolation.cs | 52 +-
+ src/QLNet/Math/Rounding.cs | 399 +-
+ src/QLNet/Math/SampledCurve.cs | 26 +-
+ src/QLNet/Math/Solver1d.cs | 44 +-
+ src/QLNet/Math/Solvers1d/Bisection.cs | 82 +-
+ src/QLNet/Math/Solvers1d/Brent.cs | 168 +-
+ src/QLNet/Math/Solvers1d/FalsePosition.cs | 107 +-
+ .../Math/Solvers1d/FiniteDifferenceNewtonSafe.cs | 111 +-
+ src/QLNet/Math/Solvers1d/Newton.cs | 81 +-
+ src/QLNet/Math/Solvers1d/Newtonsafe.cs | 132 +-
+ src/QLNet/Math/Solvers1d/Ridder.cs | 137 +-
+ src/QLNet/Math/Solvers1d/Secant.cs | 93 +-
+ src/QLNet/Math/Vector.cs | 38 +-
+ src/QLNet/Math/beta.cs | 162 +-
+ src/QLNet/Math/factorial.cs | 97 +-
+ src/QLNet/Math/integrals/DiscreteIntegrals.cs | 173 +-
+ src/QLNet/Math/integrals/GaussLobattoIntegral.cs | 170 +-
+ src/QLNet/Math/integrals/GaussianQuadratures.cs | 279 +-
+ src/QLNet/Math/integrals/Integral.cs | 10 +-
+ src/QLNet/Math/integrals/Kronrodintegral.cs | 531 +-
+ src/QLNet/Math/integrals/Segmentintegral.cs | 90 +-
+ .../Math/integrals/gaussianorthogonalpolynomial.cs | 342 +-
+ src/QLNet/Math/integrals/simpsonintegral.cs | 77 +-
+ src/QLNet/Math/integrals/trapezoidintegral.cs | 156 +-
+ src/QLNet/Math/linearleastsquaresregression.cs | 248 +-
+ src/QLNet/Math/matrixutilities/BiCGStab.cs | 10 +-
+ src/QLNet/Math/matrixutilities/GMRES.cs | 38 +-
+ src/QLNet/Math/matrixutilities/SparseMatrix.cs | 490 +-
+ .../Math/matrixutilities/TqrEigenDecomposition.cs | 244 +-
+ .../Math/matrixutilities/choleskydecomposition.cs | 85 +-
+ src/QLNet/Math/matrixutilities/pseudosqrt.cs | 997 +-
+ src/QLNet/Math/matrixutilities/qrdecomposition.cs | 272 +-
+ src/QLNet/Math/matrixutilities/svd.cs | 997 +-
+ .../matrixutilities/symmetricschurdecomposition.cs | 314 +-
+ src/QLNet/Math/randomnumbers/Haltonrsg.cs | 10 +-
+ .../Math/randomnumbers/SobolBrownianBridgeRsg.cs | 22 +-
+ .../Math/randomnumbers/inversecumulativerng.cs | 10 +-
+ .../Math/randomnumbers/inversecumulativersg.cs | 8 +-
+ src/QLNet/Math/randomnumbers/mt19937uniformrng.cs | 83 +-
+ .../Math/randomnumbers/primitivepolynomials.cs | 42901 +++++-----
+ .../Math/randomnumbers/randomsequencegenerator.cs | 150 +-
+ src/QLNet/Math/randomnumbers/rngtraits.cs | 157 +-
+ src/QLNet/Math/randomnumbers/seedgenerator.cs | 81 +-
+ src/QLNet/Math/randomnumbers/sobolrsg.cs | 179 +-
+ src/QLNet/Math/randomnumbers/sobolrsg2.cs | 78509 ++++++++++---------
+ src/QLNet/Math/statistics/DiscrepancyStatistics.cs | 20 +-
+ src/QLNet/Math/statistics/convergencestatistics.cs | 239 +-
+ src/QLNet/Math/statistics/gaussianstatistics.cs | 374 +-
+ src/QLNet/Math/statistics/generalstatistics.cs | 498 +-
+ src/QLNet/Math/statistics/incrementalstatistics.cs | 444 +-
+ src/QLNet/Math/statistics/riskstatistics.cs | 333 +-
+ src/QLNet/Math/statistics/sequencestatistics.cs | 434 +-
+ src/QLNet/Math/transformedgrid.cs | 121 +-
+ .../Methods/Finitedifferences/AmericanCondition.cs | 31 +-
+ .../Methods/Finitedifferences/BoundaryCondition.cs | 222 +-
+ src/QLNet/Methods/Finitedifferences/DMinus.cs | 44 +-
+ src/QLNet/Methods/Finitedifferences/DPlus.cs | 44 +-
+ src/QLNet/Methods/Finitedifferences/DPlusDMinus.cs | 43 +-
+ .../Methods/Finitedifferences/ExplicitEuler.cs | 86 +-
+ .../Methods/Finitedifferences/ImplicitEuler.cs | 78 +-
+ .../Meshers/Concentrating1dMesher.cs | 57 +-
+ .../Finitedifferences/Meshers/Fdm1dMesher.cs | 14 +-
+ .../Meshers/FdmBlackScholesMesher.cs | 237 +-
+ .../Methods/Finitedifferences/Meshers/FdmMesher.cs | 40 +-
+ .../Meshers/FdmMesherComposite.cs | 193 +-
+ .../Meshers/FdmSimpleProcess1dMesher.cs | 84 +-
+ .../Finitedifferences/Meshers/Uniform1dMesher.cs | 8 +-
+ .../Finitedifferences/Meshers/UniformGridMesher.cs | 20 +-
+ .../Methods/Finitedifferences/OperatorFactory.cs | 10 +-
+ .../Operators/FdmBlackScholesOp.cs | 262 +-
+ .../Finitedifferences/Operators/FdmHullWhiteOp.cs | 168 +-
+ .../Finitedifferences/Operators/FdmLinearOp.cs | 49 +-
+ .../Operators/FdmLinearOpComposite.cs | 53 +-
+ .../Operators/FdmLinearOpIterator.cs | 8 +-
+ .../Operators/FdmLinearOpLayout.cs | 230 +-
+ .../Operators/FirstDerivativeOp.cs | 96 +-
+ .../Operators/NinePointLinearOp.cs | 392 +-
+ .../Operators/SecondDerivativeOp.cs | 80 +-
+ .../Operators/SecondOrderMixedDerivativeOp.cs | 224 +-
+ .../Operators/TripleBandLinearOp.cs | 583 +-
+ .../Methods/Finitedifferences/ParallelEvolver.cs | 114 +-
+ .../Schemes/BoundaryConditionSchemeHelper.cs | 75 +-
+ .../Finitedifferences/Schemes/CraigSneydScheme.cs | 14 +-
+ .../Finitedifferences/Schemes/DouglasScheme.cs | 14 +-
+ .../Schemes/ExplicitEulerScheme.cs | 78 +-
+ .../Finitedifferences/Schemes/HundsdorferScheme.cs | 14 +-
+ .../Schemes/ImplicitEulerScheme.cs | 164 +-
+ .../Schemes/ModifiedCraigSneydScheme.cs | 159 +-
+ .../Methods/Finitedifferences/ShoutCondition.cs | 80 +-
+ .../Finitedifferences/Solvers/Fdm1DimSolver.cs | 184 +-
+ .../Finitedifferences/Solvers/FdmBackwardSolver.cs | 290 +-
+ .../Solvers/FdmBlackScholesSolver.cs | 111 +-
+ .../Solvers/FdmHullWhiteSolver.cs | 89 +-
+ .../Finitedifferences/Solvers/FdmSolverDesc.cs | 78 +-
+ .../Methods/Finitedifferences/StepCondition.cs | 176 +-
+ .../StepConditions/FdmAmericanStepCondition.cs | 58 +-
+ .../StepConditions/FdmBermudanStepCondition.cs | 20 +-
+ .../StepConditions/FdmSnapshotCondition.cs | 46 +-
+ .../StepConditions/FdmStepConditionComposite.cs | 177 +-
+ src/QLNet/Methods/Finitedifferences/TRBDF2.cs | 264 +-
+ .../Finitedifferences/TridiagonalOperator.cs | 461 +-
+ .../Utilities/FdmAffineModelSwapInnerValue.cs | 213 +-
+ .../Utilities/FdmAffineModelTermStructure.cs | 76 +-
+ .../Utilities/FdmBoundaryConditionSet.cs | 14 +-
+ .../Utilities/FdmDirichletBoundary.cs | 18 +-
+ .../Utilities/FdmDividendHandler.cs | 18 +-
+ .../Utilities/FdmIndicesOnBoundary.cs | 16 +-
+ .../Utilities/FdmInnerValueCalculator.cs | 245 +-
+ .../Utilities/FdmMesherIntegral.cs | 72 +-
+ .../Finitedifferences/Utilities/ListUtils.cs | 176 +-
+ .../Methods/Finitedifferences/ZeroCondition.cs | 33 +-
+ src/QLNet/Methods/Finitedifferences/bsmoperator.cs | 50 +-
+ .../Methods/Finitedifferences/cranknicolson.cs | 54 +-
+ src/QLNet/Methods/Finitedifferences/dzero.cs | 43 +-
+ .../Finitedifferences/finitedifferencemodel.cs | 176 +-
+ src/QLNet/Methods/Finitedifferences/mixedscheme.cs | 143 +-
+ src/QLNet/Methods/Finitedifferences/pde.cs | 154 +-
+ src/QLNet/Methods/Finitedifferences/pdebsm.cs | 53 +-
+ .../Methods/Finitedifferences/pdeshortrate.cs | 8 +-
+ src/QLNet/Methods/lattices/binominaltree.cs | 8 +-
+ src/QLNet/Methods/lattices/bsmlattice.cs | 14 +-
+ src/QLNet/Methods/lattices/lattice.cs | 235 +-
+ src/QLNet/Methods/lattices/lattice1d.cs | 42 +-
+ src/QLNet/Methods/lattices/lattice2d.cs | 177 +-
+ src/QLNet/Methods/lattices/tree.cs | 8 +-
+ src/QLNet/Methods/lattices/trinomialtree.cs | 295 +-
+ src/QLNet/Methods/montecarlo/brownianbridge.cs | 322 +-
+ .../Methods/montecarlo/earlyexercisepathpricer.cs | 8 +-
+ .../montecarlo/longstaffschwartzpathpricer.cs | 258 +-
+ src/QLNet/Methods/montecarlo/lsmbasissystem.cs | 262 +-
+ src/QLNet/Methods/montecarlo/mctraits.cs | 8 +-
+ src/QLNet/Methods/montecarlo/montecarlomodel.cs | 46 +-
+ src/QLNet/Methods/montecarlo/multipath.cs | 87 +-
+ src/QLNet/Methods/montecarlo/multipathgenerator.cs | 22 +-
+ src/QLNet/Methods/montecarlo/path.cs | 138 +-
+ src/QLNet/Methods/montecarlo/pathgenerator.cs | 22 +-
+ src/QLNet/Methods/montecarlo/pathpricer.cs | 26 +-
+ src/QLNet/Methods/montecarlo/sample.cs | 8 +-
+ src/QLNet/Models/CalibrationHelper.cs | 265 +-
+ src/QLNet/Models/Equity/HestonModel.cs | 50 +-
+ src/QLNet/Models/Equity/HestonModelHelper.cs | 76 +-
+ .../Equity/PiecewiseTimeDependentHestonModel.cs | 38 +-
+ src/QLNet/Models/MarketModels/BrownianGenerator.cs | 12 +-
+ .../BrownianGenerators/SobolBrownianGenerator.cs | 121 +-
+ src/QLNet/Models/Parameter.cs | 74 +-
+ src/QLNet/Models/Shortrate/OneFactorModel.cs | 30 +-
+ .../Shortrate/Onefactormodels/blackkarasinski.cs | 260 +-
+ .../Shortrate/Onefactormodels/coxingersollross.cs | 26 +-
+ .../Models/Shortrate/Onefactormodels/hullwhite.cs | 32 +-
+ .../Models/Shortrate/Onefactormodels/vasicek.cs | 10 +-
+ src/QLNet/Models/Shortrate/Twofactorsmodels/g2.cs | 761 +-
+ .../Shortrate/calibrationhelpers/caphelper.cs | 240 +-
+ .../Shortrate/calibrationhelpers/swaptionhelper.cs | 412 +-
+ src/QLNet/Models/Shortrate/twofactormodel.cs | 18 +-
+ src/QLNet/Models/model.cs | 659 +-
+ src/QLNet/Money.cs | 126 +-
+ src/QLNet/Option.cs | 8 +-
+ src/QLNet/Patterns/FastActivator.cs | 40 +-
+ src/QLNet/Patterns/LazyObject.cs | 194 +-
+ src/QLNet/Patterns/Observer.cs | 8 +-
+ src/QLNet/Patterns/Visitor.cs | 18 +-
+ src/QLNet/Patterns/WeakEventSource.cs | 46 +-
+ src/QLNet/Patterns/observablevalue.cs | 121 +-
+ src/QLNet/PricingEngine.cs | 22 +-
+ src/QLNet/Pricingengines/Americanpayoffatexpiry.cs | 118 +-
+ src/QLNet/Pricingengines/Americanpayoffathit.cs | 486 +-
+ src/QLNet/Pricingengines/Basket/KirkEngine.cs | 54 +-
+ .../Basket/MCEuropeanBasketEngine.cs | 12 +-
+ src/QLNet/Pricingengines/Basket/StulzEngine.cs | 124 +-
+ src/QLNet/Pricingengines/BlackCalculator.cs | 709 +-
+ src/QLNet/Pricingengines/BlackDeltaCalculator.cs | 268 +-
+ src/QLNet/Pricingengines/Blackscholescalculator.cs | 89 +-
+ .../Pricingengines/Bond/BlackCallableBondEngine.cs | 64 +-
+ src/QLNet/Pricingengines/Bond/BondFunctions.cs | 176 +-
+ .../Pricingengines/Bond/Discountingbondengine.cs | 28 +-
+ .../Pricingengines/Bond/TreeCallableBondEngine.cs | 60 +-
+ .../CapFloor/BachelierCapFloorEngine.cs | 44 +-
+ .../Pricingengines/CapFloor/BlackCapFloorEngine.cs | 98 +-
+ .../CapFloor/analyticcapfloorengine.cs | 210 +-
+ .../Pricingengines/CapFloor/discretizedcapfloor.cs | 176 +-
+ .../Cliquet/AnalyticCliquetEngine.cs | 58 +-
+ .../Cliquet/AnalyticPerformanceEngine.cs | 52 +-
+ .../Forward/ForwardPerformanceVanillaEngine.cs | 20 +-
+ .../Pricingengines/Forward/ForwardVanillaEngine.cs | 60 +-
+ src/QLNet/Pricingengines/Greeks.cs | 50 +-
+ .../Pricingengines/Loan/DiscountingLoanEngine.cs | 88 +-
+ .../AnalyticContinuousFixedLookbackEngine.cs | 92 +-
+ .../AnalyticContinuousFloatingLookbackEngine.cs | 58 +-
+ ...AnalyticContinuousPartialFixedLookbackEngine.cs | 99 +-
+ ...lyticContinuousPartialFloatingLookbackEngine.cs | 109 +-
+ .../Swap/CounterpartyAdjSwapEngine.cs | 116 +-
+ .../Swap/DiscountingBasisSwapEngine.cs | 85 +-
+ .../Pricingengines/Swap/Discountingswapengine.cs | 126 +-
+ src/QLNet/Pricingengines/Swap/discretizedswap.cs | 301 +-
+ src/QLNet/Pricingengines/Swap/treeswapengine.cs | 18 +-
+ ...icContinuousGeometricAveragePriceAsianEngine.cs | 68 +-
+ ...yticDiscreteGeometricAveragePriceAsianEngine.cs | 111 +-
+ ...ticDiscreteGeometricAverageStrikeAsianEngine.cs | 90 +-
+ .../asian/mc_discr_arith_av_price.cs | 486 +-
+ .../asian/mc_discr_arith_av_strike.cs | 52 +-
+ .../Pricingengines/asian/mc_discr_geom_av_price.cs | 64 +-
+ .../Pricingengines/asian/mcdiscreteasianengine.cs | 263 +-
+ .../barrier/AnalyticBarrierEngine.cs | 451 +-
+ .../barrier/AnalyticBinaryBarrierEngine.cs | 218 +-
+ .../barrier/AnalyticDoubleBarrierBinaryEngine.cs | 627 +-
+ .../barrier/AnalyticDoubleBarrierEngine.cs | 119 +-
+ .../barrier/BinomialBarrierEngine.cs | 72 +-
+ .../barrier/BinomialDoubleBarrierEngine.cs | 108 +-
+ .../barrier/DiscretizedBarrierOption.cs | 165 +-
+ .../barrier/DiscretizedDoubleBarrierOption.cs | 221 +-
+ .../barrier/FdBlackScholesBarrierEngine.cs | 46 +-
+ .../barrier/FdBlackScholesRebateEngine.cs | 221 +-
+ .../barrier/VannaVolgaBarrierEngine.cs | 312 +-
+ .../barrier/VannaVolgaDoubleBarrierEngine.cs | 272 +-
+ .../barrier/WulinYongDoubleBarrierEngine.cs | 127 +-
+ src/QLNet/Pricingengines/blackformula.cs | 557 +-
+ .../Pricingengines/credit/IntegralCdsEngine.cs | 272 +-
+ src/QLNet/Pricingengines/credit/IsdaCdsEngine.cs | 133 +-
+ .../Pricingengines/credit/MidPointCdsEngine.cs | 255 +-
+ src/QLNet/Pricingengines/genericmodelengine.cs | 34 +-
+ .../inflation/InflationCapFloorEngines.cs | 295 +-
+ .../inflation/InterpolatingCPICapFloorEngine.cs | 50 +-
+ .../Pricingengines/latticeshortratemodelengine.cs | 92 +-
+ .../Pricingengines/mclongstaffschwartzengine.cs | 134 +-
+ src/QLNet/Pricingengines/mcsimulation.cs | 78 +-
+ .../Pricingengines/swaption/blackswaptionengine.cs | 112 +-
+ .../Pricingengines/swaption/discretizedswaption.cs | 126 +-
+ .../Pricingengines/swaption/g2swaptionengine.cs | 71 +-
+ .../swaption/jamshidianswaptionengine.cs | 284 +-
+ .../Pricingengines/swaption/treeswaptionengine.cs | 193 +-
+ .../vanilla/AnalyticBSMHullWhiteEngine.cs | 70 +-
+ .../vanilla/AnalyticDigitalAmericanEngine.cs | 46 +-
+ .../vanilla/AnalyticDividendEuropeanEngine.cs | 170 +-
+ .../vanilla/AnalyticEuropeanEngine.cs | 179 +-
+ .../Pricingengines/vanilla/AnalyticH1HWEngine.cs | 88 +-
+ .../Pricingengines/vanilla/AnalyticHestonEngine.cs | 358 +-
+ .../vanilla/AnalyticHestonHullWhiteEngine.cs | 42 +-
+ .../vanilla/AnalyticPTDHestonEngine.cs | 132 +-
+ .../Pricingengines/vanilla/FDAmericanEngine.cs | 54 +-
+ .../Pricingengines/vanilla/FDBermudanEngine.cs | 109 +-
+ src/QLNet/Pricingengines/vanilla/FDConditions.cs | 212 +-
+ .../vanilla/FDDividendAmericanEngine.cs | 42 +-
+ .../Pricingengines/vanilla/FDDividendEngine.cs | 402 +-
+ .../vanilla/FDDividendEuropeanEngine.cs | 30 +-
+ .../Pricingengines/vanilla/FDEuropeanEngine.cs | 166 +-
+ .../Pricingengines/vanilla/FDMultiPeriodEngine.cs | 295 +-
+ src/QLNet/Pricingengines/vanilla/FDShoutEngine.cs | 52 +-
+ .../vanilla/FDStepConditionEngine.cs | 187 +-
+ .../Pricingengines/vanilla/FDVanillaEngine.cs | 395 +-
+ .../vanilla/FdBlackScholesVanillaEngine.cs | 161 +-
+ .../vanilla/FdHestonVanillaEngine.cs | 8 +-
+ .../vanilla/FdHullWhiteSwaptionEngine.cs | 192 +-
+ .../vanilla/HestonExpansionEngine.cs | 1208 +-
+ src/QLNet/Pricingengines/vanilla/Integralengine.cs | 111 +-
+ .../Pricingengines/vanilla/Juquadraticengine.cs | 24 +-
+ .../vanilla/MCEuropeanHestonEngine.cs | 214 +-
+ .../vanilla/MCHestonHullWhiteEngine.cs | 140 +-
+ .../vanilla/baroneadesiwhaleyengine.cs | 425 +-
+ src/QLNet/Pricingengines/vanilla/binomialengine.cs | 214 +-
+ .../vanilla/bjerksundstenslandengine.cs | 261 +-
+ .../vanilla/discretizedvanillaoption.cs | 120 +-
+ .../Pricingengines/vanilla/mcamericanengine.cs | 146 +-
+ .../Pricingengines/vanilla/mceuropeanengine.cs | 96 +-
+ .../Pricingengines/vanilla/mcvanillaengine.cs | 128 +-
+ src/QLNet/Quotes/CompositeQuote.cs | 11 +-
+ src/QLNet/Quotes/DeltaVolQuote.cs | 18 +-
+ src/QLNet/Quotes/DerivedQuote.cs | 21 +-
+ src/QLNet/Quotes/LastFixingQuote.cs | 19 +-
+ src/QLNet/Quotes/Quote.cs | 66 +-
+ src/QLNet/Quotes/SimpleQuote.cs | 77 +-
+ src/QLNet/Settings.cs | 162 +-
+ src/QLNet/StochasticProcess.cs | 492 +-
+ src/QLNet/Termstructures/Bootstraperror.cs | 59 +-
+ src/QLNet/Termstructures/Bootstraphelper.cs | 264 +-
+ src/QLNet/Termstructures/Credit/FlatHazardRate.cs | 20 +-
+ .../Termstructures/Credit/HazardRateStructure.cs | 34 +-
+ .../Credit/InterpolatedHazardRateCurve.cs | 314 +-
+ .../Credit/InterpolatedSurvivalProbabilityCurve.cs | 100 +-
+ .../Termstructures/Credit/ProbabilityTraits.cs | 34 +-
+ .../Credit/SurvivalProbabilityStructure.cs | 36 +-
+ src/QLNet/Termstructures/Curve.cs | 42 +-
+ .../DefaultProbabilityTermStructure.cs | 130 +-
+ .../Inflation/CPICapFloorTermPriceSurface.cs | 223 +-
+ .../Termstructures/Inflation/InflationHelpers.cs | 308 +-
+ .../Termstructures/Inflation/InflationTraits.cs | 290 +-
+ .../Inflation/InterpolatedYoYInflationCurve.cs | 48 +-
+ .../Inflation/InterpolatedZeroInflationCurve.cs | 34 +-
+ .../Inflation/PiecewiseYoYInflationCurve.cs | 458 +-
+ .../Inflation/PiecewiseZeroInflationCurve.cs | 514 +-
+ src/QLNet/Termstructures/Inflation/Seasonality.cs | 155 +-
+ src/QLNet/Termstructures/InflationTermStructure.cs | 86 +-
+ src/QLNet/Termstructures/Iterativebootstrap.cs | 340 +-
+ src/QLNet/Termstructures/TermStructure.cs | 58 +-
+ .../Termstructures/Volatility/AbcdCalibration.cs | 130 +-
+ .../Termstructures/Volatility/AbcdFunction.cs | 103 +-
+ .../Termstructures/Volatility/AtmSmileSection.cs | 12 +-
+ .../Bond/CallableBondConstantVolatility.cs | 30 +-
+ .../Bond/CallableBondVolatilityStructure.cs | 70 +-
+ .../Volatility/CapFloor/CapFloorTermVolCurve.cs | 138 +-
+ .../Volatility/CapFloor/CapFloorTermVolSurface.cs | 207 +-
+ .../CapFloor/CapFloorTermVolatilityStructure.cs | 26 +-
+ .../CapFloor/ConstantCapFloorTermVolatility.cs | 12 +-
+ .../Termstructures/Volatility/FlatSmileSection.cs | 86 +-
+ .../Volatility/Inflation/CPIVolatilitySurface.cs | 426 +-
+ .../yoyinflationoptionletvolatilitystructure.cs | 196 +-
+ .../Volatility/InterpolatedSmileSection.cs | 150 +-
+ .../Optionlet/ConstantOptionletVolatility.cs | 131 +-
+ .../Volatility/Optionlet/OptionletStripper.cs | 118 +-
+ .../Volatility/Optionlet/OptionletStripper1.cs | 84 +-
+ .../Volatility/Optionlet/OptionletStripper2.cs | 80 +-
+ .../Optionlet/OptionletVolatilityStructure.cs | 42 +-
+ .../Optionlet/SpreadedOptionletVolatility.cs | 18 +-
+ .../Optionlet/StrippedOptionletAdapter.cs | 70 +-
+ .../Volatility/Optionlet/StrippedOptionletBase.cs | 12 +-
+ .../Volatility/Optionlet/capletvariancecurve.cs | 93 +-
+ src/QLNet/Termstructures/Volatility/Sabr.cs | 334 +-
+ .../Volatility/SabrInterpolatedSmileSection.cs | 352 +-
+ .../Termstructures/Volatility/SmileSection.cs | 240 +-
+ .../Volatility/SpreadedSmileSection.cs | 14 +-
+ src/QLNet/Termstructures/Volatility/Svi.cs | 86 +-
+ .../Volatility/SviInterpolatedSmileSection.cs | 358 +-
+ .../Termstructures/Volatility/SviSmileSection.cs | 94 +-
+ .../Volatility/equityfx/BlackConstantVol.cs | 72 +-
+ .../Volatility/equityfx/BlackVarianceCurve.cs | 172 +-
+ .../Volatility/equityfx/BlackVarianceSurface.cs | 39 +-
+ .../Volatility/equityfx/BlackVolTermStructure.cs | 188 +-
+ .../Volatility/equityfx/FixedLocalVolSurface.cs | 395 +-
+ .../Volatility/equityfx/HestonBlackVolSurface.cs | 23 +-
+ .../Volatility/equityfx/ImpliedVolTermStructure.cs | 26 +-
+ .../Volatility/equityfx/LocalConstantVol.cs | 96 +-
+ .../Volatility/equityfx/LocalVolCurve.cs | 18 +-
+ .../Volatility/equityfx/LocalVolSurface.cs | 257 +-
+ .../Volatility/equityfx/LocalVolTermStructure.cs | 34 +-
+ .../Volatility/equityfx/NoExceptLocalVolSurface.cs | 24 +-
+ .../swaption/SpreadedSwaptionVolatility.cs | 32 +-
+ .../Volatility/swaption/SwaptionVolCube1.cs | 683 +-
+ .../Volatility/swaption/SwaptionVolCube2.cs | 80 +-
+ .../Volatility/swaption/SwaptionVolatilityCube.cs | 184 +-
+ .../swaption/SwaptionVolatilityStructure.cs | 104 +-
+ .../Volatility/swaption/swaptionconstantvol.cs | 258 +-
+ .../Volatility/swaption/swaptionvoldiscrete.cs | 42 +-
+ .../Volatility/swaption/swaptionvolmatrix.cs | 882 +-
+ src/QLNet/Termstructures/Yield/BasisSwapHelper.cs | 60 +-
+ src/QLNet/Termstructures/Yield/Bondhelpers.cs | 112 +-
+ src/QLNet/Termstructures/Yield/Bootstraptraits.cs | 400 +-
+ src/QLNet/Termstructures/Yield/DiscountCurve.cs | 38 +-
+ .../Yield/FittedBondDiscountCurve.cs | 186 +-
+ src/QLNet/Termstructures/Yield/Flatforward.cs | 141 +-
+ src/QLNet/Termstructures/Yield/ForwardCurve.cs | 18 +-
+ .../Yield/ForwardSpreadedTermStructure.cs | 93 +-
+ src/QLNet/Termstructures/Yield/ForwardStructure.cs | 32 +-
+ .../Termstructures/Yield/ImpliedTermStructure.cs | 90 +-
+ ...terpolatedPiecewiseZeroSpreadedTermStructure.cs | 28 +-
+ .../Yield/NonLinearFittingMethods.cs | 198 +-
+ src/QLNet/Termstructures/Yield/OISRateHelper.cs | 58 +-
+ .../Termstructures/Yield/PiecewiseYieldCurve.cs | 266 +-
+ src/QLNet/Termstructures/Yield/Ratehelpers.cs | 842 +-
+ src/QLNet/Termstructures/Yield/ZeroCurve.cs | 36 +-
+ .../Yield/ZeroSpreadedTermStructure.cs | 54 +-
+ .../Termstructures/Yield/Zeroyieldstructure.cs | 30 +-
+ src/QLNet/Termstructures/YieldTermStructure.cs | 163 +-
+ src/QLNet/Termstructures/interpolatedcurve.cs | 78 +-
+ src/QLNet/Termstructures/localbootstrap.cs | 379 +-
+ src/QLNet/Termstructures/voltermstructure.cs | 34 +-
+ src/QLNet/Time/ASX.cs | 135 +-
+ src/QLNet/Time/Calendar.cs | 765 +-
+ src/QLNet/Time/Calendars/Israel.cs | 616 +-
+ src/QLNet/Time/Calendars/JointCalendar.cs | 205 +-
+ src/QLNet/Time/Calendars/Romania.cs | 62 +-
+ src/QLNet/Time/Calendars/TARGET.cs | 106 +-
+ src/QLNet/Time/Calendars/Ukraine.cs | 66 +-
+ src/QLNet/Time/Calendars/UnitedKingdom.cs | 378 +-
+ src/QLNet/Time/Calendars/UnitedStates.cs | 425 +-
+ src/QLNet/Time/Calendars/WeekendsOnly.cs | 8 +-
+ src/QLNet/Time/Calendars/argentina.cs | 144 +-
+ src/QLNet/Time/Calendars/australia.cs | 136 +-
+ src/QLNet/Time/Calendars/bespokecalendar.cs | 89 +-
+ src/QLNet/Time/Calendars/botswana.cs | 10 +-
+ src/QLNet/Time/Calendars/brazil.cs | 256 +-
+ src/QLNet/Time/Calendars/canada.cs | 279 +-
+ src/QLNet/Time/Calendars/china.cs | 385 +-
+ src/QLNet/Time/Calendars/czechrepublic.cs | 142 +-
+ src/QLNet/Time/Calendars/denmark.cs | 126 +-
+ src/QLNet/Time/Calendars/finland.cs | 132 +-
+ src/QLNet/Time/Calendars/germany.cs | 587 +-
+ src/QLNet/Time/Calendars/hongkong.cs | 457 +-
+ src/QLNet/Time/Calendars/hungary.cs | 124 +-
+ src/QLNet/Time/Calendars/iceland.cs | 142 +-
+ src/QLNet/Time/Calendars/india.cs | 544 +-
+ src/QLNet/Time/Calendars/indonesia.cs | 518 +-
+ src/QLNet/Time/Calendars/italy.cs | 299 +-
+ src/QLNet/Time/Calendars/japan.cs | 215 +-
+ src/QLNet/Time/Calendars/mexico.cs | 100 +-
+ src/QLNet/Time/Calendars/newzealand.cs | 150 +-
+ src/QLNet/Time/Calendars/norway.cs | 126 +-
+ src/QLNet/Time/Calendars/nullcalendar.cs | 39 +-
+ src/QLNet/Time/Calendars/poland.cs | 96 +-
+ src/QLNet/Time/Calendars/russia.cs | 182 +-
+ src/QLNet/Time/Calendars/saudiarabia.cs | 123 +-
+ src/QLNet/Time/Calendars/singapore.cs | 206 +-
+ src/QLNet/Time/Calendars/slovakia.cs | 162 +-
+ src/QLNet/Time/Calendars/southafrica.cs | 161 +-
+ src/QLNet/Time/Calendars/southkorea.cs | 391 +-
+ src/QLNet/Time/Calendars/sweden.cs | 110 +-
+ src/QLNet/Time/Calendars/switzerland.cs | 124 +-
+ src/QLNet/Time/Calendars/taiwan.cs | 484 +-
+ src/QLNet/Time/Calendars/turkey.cs | 244 +-
+ src/QLNet/Time/Date.cs | 28 +-
+ src/QLNet/Time/DayCounter.cs | 107 +-
+ src/QLNet/Time/DayCounters/Actual360.cs | 8 +-
+ src/QLNet/Time/DayCounters/Actual365Fixed.cs | 52 +-
+ src/QLNet/Time/DayCounters/Actual365NoLeap.cs | 74 +-
+ src/QLNet/Time/DayCounters/ActualActual.cs | 394 +-
+ src/QLNet/Time/DayCounters/Business252.cs | 8 +-
+ src/QLNet/Time/DayCounters/OneDayCounter.cs | 54 +-
+ src/QLNet/Time/DayCounters/SimpleDayCounter.cs | 70 +-
+ src/QLNet/Time/DayCounters/Thirty360.cs | 176 +-
+ src/QLNet/Time/ECB.cs | 364 +-
+ src/QLNet/Time/Imm.cs | 308 +-
+ src/QLNet/Time/Period.cs | 659 +-
+ src/QLNet/Time/Schedule.cs | 139 +-
+ src/QLNet/Types.cs | 38 +-
+ src/QLNet/Utils.cs | 287 +-
+ src/QLNet/discretizedasset.cs | 16 +-
+ src/QLNet/grid.cs | 68 +-
+ .../legacy/libormarketmodels/lfmcovarparam.cs | 8 +-
+ .../legacy/libormarketmodels/lfmcovarproxy.cs | 236 +-
+ .../legacy/libormarketmodels/lfmhullwhiteparam.cs | 291 +-
+ src/QLNet/legacy/libormarketmodels/lfmprocess.cs | 431 +-
+ .../legacy/libormarketmodels/lfmswaptionengine.cs | 97 +-
+ .../legacy/libormarketmodels/liborforwardmodel.cs | 399 +-
+ .../libormarketmodels/lmconstwrappercorrmodel.cs | 8 +-
+ .../libormarketmodels/lmconstwrappervolmodel.cs | 8 +-
+ src/QLNet/legacy/libormarketmodels/lmcorrmodel.cs | 12 +-
+ .../legacy/libormarketmodels/lmexpcorrmodel.cs | 8 +-
+ .../libormarketmodels/lmextlinexpvolmodel.cs | 32 +-
+ .../legacy/libormarketmodels/lmfixedvolmodel.cs | 30 +-
+ .../legacy/libormarketmodels/lmlinexpcorrmodel.cs | 26 +-
+ .../legacy/libormarketmodels/lmlinexpvolmodel.cs | 10 +-
+ src/QLNet/legacy/libormarketmodels/lmvolmodel.cs | 8 +-
+ src/QLNet/numericalmethod.cs | 8 +-
+ src/QLNet/payoff.cs | 47 +-
+ src/QLNet/processes/BlackScholesProcess.cs | 198 +-
+ src/QLNet/processes/Defaultable.cs | 113 +-
+ src/QLNet/processes/EulerDiscretization.cs | 100 +-
+ src/QLNet/processes/ForwardMeasureProcess.cs | 24 +-
+ .../processes/GeometricBrownianMotionProcess.cs | 80 +-
+ src/QLNet/processes/HestonProcess.cs | 541 +-
+ src/QLNet/processes/HullWhiteProcess.cs | 104 +-
+ .../processes/HybridHestonHullWhiteProcess.cs | 146 +-
+ src/QLNet/processes/Ornsteinuhlenbeckprocess.cs | 36 +-
+ src/QLNet/processes/Squarerootprocess.cs | 83 +-
+ src/QLNet/processes/stochasticprocessarray.cs | 203 +-
+ src/QLNet/timegrid.cs | 33 +-
+ src/Repo/Repo.cs | 307 +-
+ src/Swap/swapvaluation.cs | 1051 +-
+ 687 files changed, 116004 insertions(+), 112724 deletions(-)
+
+commit 26c1d4c6b4c55c3180a6c549e037258bc362784e
Author: Andrea Maggiulli
-Date: Wed Aug 30 11:14:32 2017 +0200
-
- Fixed Sonar security issue.
+Date: Fri Feb 2 11:33:30 2018 +0100
- src/QLNet/Indexes/Region.cs | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
+ Added Artistic Style 3.1 tool for formatting code.
-commit 36edd5a72b24f79b5ced40c492b7fb1851c4eb39
-Author: Andrea Maggiulli
-Date: Wed Aug 30 10:46:37 2017 +0200
-
- Fix compilation ( something wrong on latest merging ).
+ format_code.bat | 1 +
+ qlnet.astyle | 28 ++++++++++++++++++++++++++++
+ tools/AStyle.exe | Bin 0 -> 595456 bytes
+ 3 files changed, 29 insertions(+)
- src/Bonds/Bonds.cs | 4 ++--
- src/QLNet/Termstructures/Volatility/Sabr.cs | 11 +++++++++--
- 2 files changed, 11 insertions(+), 4 deletions(-)
+commit 5bd4f2092b01ee461a70276c441bd945a4b7dbba
+Merge: fe7222a e41c3c8
+Author: Andrea Maggiulli
+Date: Thu Feb 1 13:30:02 2018 +0100
-commit 55914c861f07b6beac4ce52799c76afa60b689c2
-Merge: d550cbc 660f118
-Author: Andrea Maggiulli
-Date: Wed Aug 30 09:46:04 2017 +0200
-
- Merge pull request #168 from jiskin/Improve_MakeCms_with_capfloors
-
- Add cap/floors setters for CMS and Ibor legs
-
-commit d550cbc70f1b348aeb97ce218a6aa365e04e749d
-Merge: ec0a8ff e675bc5
-Author: Andrea Maggiulli
-Date: Wed Aug 30 09:45:15 2017 +0200
-
- Merge pull request #167 from jiskin/bugfix_cap_floor_to_zero
+ Merge pull request #200 from igitur/levenberg-precondition-checks
- Bugfix when cap/floor equals zero
+ Add LevenbergMarquardt precondition checks
-commit ec0a8fff5fd69e789687c392477949f228736f82
-Merge: c5bbcd8 076dbf8
-Author: Andrea Maggiulli
-Date: Wed Aug 30 09:44:11 2017 +0200
+commit fe7222a29141e269a00094c4a74e59b92d5fb7f1
+Merge: c3fe00e fc2a9ea
+Author: Andrea Maggiulli
+Date: Thu Feb 1 12:30:24 2018 +0100
- Merge pull request #166 from jiskin/bad_inheritance_optionletstripper
+ Merge pull request #199 from igitur/composite-yield-term-structure
- Issue with inheritance fixed
+ Implement CompositeZeroYieldStructure
-commit c5bbcd8e1222154300df1ee51e7e5770af0dae5e
-Merge: d22cca0 17bc2c9
-Author: Andrea Maggiulli
-Date: Wed Aug 30 09:42:44 2017 +0200
+commit c3fe00e982117eee8a91bdca6c95ae88c98f50d1
+Merge: bbc2742 a591b25
+Author: Andrea Maggiulli
+Date: Thu Feb 1 11:50:04 2018 +0100
- Merge pull request #165 from jiskin/Normal_Sabr_Interpolation
+ Merge pull request #193 from tournierjc/StrikerGetterOnHestonHelper
- New feature : Normal sabr interpolation
-
-commit 17bc2c9ea308ccd411fd46c0ce8bf64eaf2559a7
-Merge: 00dbef0 d22cca0
-Author: Andrea Maggiulli
-Date: Wed Aug 30 09:42:31 2017 +0200
+ Strike and Type getters on Heston helper
- Merge branch 'develop' into Normal_Sabr_Interpolation
+commit fc2a9ea09639d6ce3e4216cde4b9b27dd3f3c18e
+Author: Francois Botha
+Date: Wed Jan 31 15:10:47 2018 +0200
-commit d22cca0fce4ec894a56b3fa2c097821e50a6b21d
-Merge: b62b919 c0b727a
-Author: Andrea Maggiulli
-Date: Wed Aug 30 09:34:26 2017 +0200
+ Clean up SonarLint warnings
- Merge pull request #164 from jiskin/swaption_vol_matrix_normal_vol
-
- Swaption vol matrix normal vol
+ .../Yield/CompositeZeroYieldStructure.cs | 10 +-
+ tests/QLNet.Tests/T_TermStructures.cs | 159 ++++++++++-----------
+ 2 files changed, 83 insertions(+), 86 deletions(-)
-commit b62b91932e8edca77426ac60a757bad7d97e044e
-Merge: 7e10083 1d80418
-Author: Andrea Maggiulli
-Date: Wed Aug 30 09:33:25 2017 +0200
+commit e41c3c899c940e4bbd7dc003a5e1762ea199e544
+Author: Francois Botha
+Date: Wed Jan 31 14:41:34 2018 +0200
- Merge pull request #163 from jiskin/calibration_helper_normal_vol
-
- Calibration helper normal vol
+ Add LevenbergMarquardt precondition checks
-commit 7e10083ba18c8140fe4641e5a1853437e031821a
-Merge: c541db9 3ac192d
-Author: Andrea Maggiulli
-Date: Wed Aug 30 09:32:09 2017 +0200
+ src/QLNet/Math/Optimization/levenbergmarquardt.cs | 8 ++++++++
+ 1 file changed, 8 insertions(+)
- Merge pull request #162 from jiskin/NewtonSafeAccessibility
-
- Newtonsafe class wasn't public
+commit e37748a454dd204e7408157d8c9efe9841bc2dfe
+Author: Francois Botha
+Date: Wed Jan 31 14:37:29 2018 +0200
-commit c541db9313baecd6ee237c8bb5bdedaffdb4d8be
-Merge: cd060c5 09f5507
-Author: Andrea Maggiulli
-Date: Wed Aug 30 09:30:57 2017 +0200
+ Implement CompositeZeroYieldStructure
- Merge pull request #161 from jiskin/add_normal_vol_to_swaption
-
- Add normal vol to swaption
+ src/QLNet.Old/QLNet.Old.csproj | 5 +-
+ .../Yield/CompositeZeroYieldStructure.cs | 108 +++++++++++
+ tests/QLNet.Tests/T_TermStructures.cs | 216 ++++++++++++++++++---
+ 3 files changed, 300 insertions(+), 29 deletions(-)
-commit cd060c58a6afff1e01aee9c6aefeb68c74c9f9bd
-Merge: e04617e 75fcdb6
+commit bbc27424ea6814a5fe3a05bbd92e409ef0cc4b4b
Author: Andrea Maggiulli
-Date: Wed Aug 30 09:29:57 2017 +0200
-
- Merge pull request #160 from jiskin/allow_override_forwardValue
-
- Put forwardValue method as virtual
+Date: Tue Jan 30 16:56:52 2018 +0100
-commit e04617e4a0b7f39699b262aee89402a297ebc837
-Merge: 9434739 047346e
-Author: Andrea Maggiulli
-Date: Wed Aug 30 09:23:15 2017 +0200
+ Cleanup code and reformat.
- Merge pull request #157 from igitur/implement-discountingloanengine
-
- Implement DiscountingLoanEngine
+ src/QLNet/Math/Interpolations/XABRInterpolation.cs | 377 +++++++++++----------
+ 1 file changed, 203 insertions(+), 174 deletions(-)
-commit 9434739f0612f2b813019b91414c2b79834b4468
-Merge: 5c50127 d14bcd1
-Author: Andrea Maggiulli
-Date: Wed Aug 30 09:16:24 2017 +0200
+commit 749d654a189b36bf8d02496d90ae2f51220f130d
+Merge: 7abac70 d4e0950
+Author: Andrea Maggiulli
+Date: Tue Jan 30 16:44:28 2018 +0100
- Merge pull request #156 from jiskin/update_sabr_interpolation
+ Merge pull request #190 from tournierjc/AllowConstraintOnXABRInterpolation
- Update SABR & SVI with shift + SABR Interpolated Smile
-
-commit 00dbef09021ec4a2af834ba6f0800ccaed0f14f9
-Author: jiskin
-Date: Mon Aug 21 10:10:25 2017 +0200
-
- Allow shift for normal vol
-
- src/QLNet/Termstructures/Volatility/Sabr.cs | 10 +++++++---
- src/QLNet/Termstructures/Volatility/SmileSection.cs | 12 ++++++------
- 2 files changed, 13 insertions(+), 9 deletions(-)
-
-commit 51417cdd45d8d92eab4050e9f3c54e636cfa15be
-Author: jiskin
-Date: Mon Aug 21 10:09:41 2017 +0200
-
- Allow shift for normal vol
-
- src/QLNet/Math/Interpolations/sabrinterpolation.cs | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit 660f118176e8a928e4d8258aa9e3b75a0d7b0afb
-Author: jiskin
-Date: Tue Aug 8 09:51:20 2017 +0200
-
- Add cms spread
-
- src/QLNet/Instruments/MakeCms.cs | 13 +++++--------
- 1 file changed, 5 insertions(+), 8 deletions(-)
-
-commit 07dc7df9b045f4515a592e5d813748e4470710e7
-Author: jiskin
-Date: Mon Aug 7 18:13:18 2017 +0200
-
- Add maturity
-
- src/QLNet/Instruments/MakeCms.cs | 22 ++++++++++++++--------
- 1 file changed, 14 insertions(+), 8 deletions(-)
-
-commit 7c49350e37f4b237c24b177f6f65b3b9c4d01f5e
-Author: jiskin
-Date: Fri Aug 4 17:31:28 2017 +0200
+ Allow constraint on XABR interpolation
- Add setter floating coupon pricer
-
- src/QLNet/Instruments/MakeCms.cs | 26 ++++++++++++++++++++------
- 1 file changed, 20 insertions(+), 6 deletions(-)
-
-commit 39a43d48ba3d10ea7326a4692bc1ec239d8599a9
-Author: jiskin
-Date: Fri Aug 4 17:25:47 2017 +0200
-
- double as double?
-
- src/QLNet/Instruments/MakeCms.cs | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-commit fa40fc7e180fd59c1fa3cf9520f9ca2fe48ab270
-Author: jiskin
-Date: Fri Aug 4 17:19:00 2017 +0200
-
- Add cap/floors setters for CMS and Ibor legs
-
- src/QLNet/Instruments/MakeCms.cs | 47 +++++++++++++++++++++++++++++++++-------
- 1 file changed, 39 insertions(+), 8 deletions(-)
-
-commit c0b727a4b3183ebb3e1f7a0f41e3cb2fab6b8e5e
-Author: jiskin
-Date: Fri Aug 4 12:18:37 2017 +0200
+commit a591b255e78302378d52ae047f7758d86ca759e6
+Author: tournierjc
+Date: Mon Jan 22 10:13:30 2018 +0100
- Missing volatiltyType set in constructors
+ Add option type getter
- src/QLNet/Termstructures/Volatility/swaption/swaptionvolmatrix.cs | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
+ src/QLNet/Models/Equity/HestonModelHelper.cs | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
-commit 01b215ccd0afb3c9a12207a59272f9a370164c7c
-Author: jiskin
-Date: Thu Aug 3 15:06:48 2017 +0200
+commit 82d12b25dde4448cd51694b194392447176cfa5f
+Author: tournierjc
+Date: Mon Jan 22 10:11:33 2018 +0100
- Update volatility cube to allow normal vol
+ Add strike getter
- .../Volatility/swaption/SwaptionVolCube1.cs | 37 ++++++++++------------
- .../Volatility/swaption/SwaptionVolatilityCube.cs | 2 +-
- .../swaption/SwaptionVolatilityStructure.cs | 2 +-
- 3 files changed, 19 insertions(+), 22 deletions(-)
+ src/QLNet/Models/Equity/HestonModelHelper.cs | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
-commit 9dd72972a7c738e7237d8eb74e7e9c3b316d3f7e
-Author: jiskin
-Date: Thu Aug 3 15:05:53 2017 +0200
+commit d4e0950d5124d667cd99d2e1b9b11db10b2c2598
+Author: tournierjc
+Date: Fri Jan 19 18:05:49 2018 +0100
- Bug fix
+ Correct param name
- src/QLNet/Termstructures/Volatility/swaption/swaptionvolmatrix.cs | 2 +-
+ src/QLNet/Math/Interpolations/XABRInterpolation.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-commit 5e29481cc91bbfa6dd8c97431e56bda05a39194d
-Author: jiskin
-Date: Thu Aug 3 12:22:56 2017 +0200
-
- Update smile section
-
- .../Termstructures/Volatility/SmileSection.cs | 51 ++++++++++++++--------
- 1 file changed, 34 insertions(+), 17 deletions(-)
-
-commit e675bc5ece550ad98cd67c2a1e2b3ef90695b3da
-Author: jiskin
-Date: Wed Aug 2 16:30:52 2017 +0200
-
- Overload Get function with nullable type
+commit 7abac70e2b92fd1f10db2e31a246efd1f3a3de6c
+Merge: 89e4ca3 b7bb9f4
+Author: Andrea Maggiulli
+Date: Fri Jan 19 17:22:34 2018 +0100
- src/QLNet/Utils.cs | 36 ++++++++++++++++++++++++++----------
- 1 file changed, 26 insertions(+), 10 deletions(-)
-
-commit b81b00d5c6deb9b529dd0c048ed2652acaa42dd3
-Author: jiskin
-Date: Wed Aug 2 16:27:41 2017 +0200
-
- Update cashflows
+ Merge pull request #189 from tournierjc/BugFixOnLevenberg
- Allow nullable types for cap and floor
-
- src/QLNet/Cashflows/Cashflowvectors.cs | 12 ++++++------
- src/QLNet/Cashflows/RateLegBase.cs | 36 +++++++++++++++++-----------------
- 2 files changed, 24 insertions(+), 24 deletions(-)
+ Bug fix on LMDIF algorithm
-commit 1e21f2d1093f6a2ed279c740494244cdd77e8d40
-Author: jiskin
-Date: Wed Aug 2 16:26:26 2017 +0200
+commit 89e4ca3ef37feedabde0dc391a3f5e83e31378b1
+Merge: e79b486 87f92e2
+Author: Andrea Maggiulli
+Date: Fri Jan 19 17:22:00 2018 +0100
- Update bonds constructors
+ Merge pull request #188 from tournierjc/MissingRegisterWithUpdate
- Allow nullable type for cap and floors
+ Missing register with update
- src/QLNet/Instruments/Bonds/AmortizingCmsRateBond.cs | 8 ++++----
- src/QLNet/Instruments/Bonds/AmortizingFloatingRateBond.cs | 8 ++++----
- src/QLNet/Instruments/Bonds/BTP.cs | 4 ++--
- src/QLNet/Instruments/Bonds/CmsRateBond.cs | 8 ++++----
- src/QLNet/Instruments/Bonds/FloatingRateBond.cs | 10 +++++-----
- 5 files changed, 19 insertions(+), 19 deletions(-)
-
-commit fce7ca07f2596708adbecbaa001bbdaf91caeceb
-Author: jiskin
-Date: Wed Aug 2 16:25:37 2017 +0200
-
- Update MakeCms
-
- Default cap/floors were set to 0.0 => now set to null
-
- src/QLNet/Instruments/MakeCms.cs | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-commit 363c0ef647fb5afc7c0054d61cb3ba7261dd2222
-Author: jiskin
-Date: Wed Aug 2 16:23:15 2017 +0200
-
- Update test files
-
- tests/QLNet.Tests/T_AssetSwap.cs | 46 +++++++++++-----------
- tests/QLNet.Tests/T_Bonds.cs | 6 +--
- tests/QLNet.Tests/T_CapFlooredCoupon.cs | 14 +++----
- .../QLNet.Tests/T_InflationCapFlooredCouponTest.cs | 20 +++++-----
- 4 files changed, 43 insertions(+), 43 deletions(-)
-
-commit 076dbf80b569a6963263388e7e439ee842fa2dac
-Author: jiskin
-Date: Tue Aug 1 15:19:08 2017 +0200
-
- Issue with inheritance fixed
-
- .../Termstructures/Volatility/Optionlet/OptionletStripper.cs | 4 ++--
- .../Volatility/Optionlet/StrippedOptionletAdapter.cs | 11 ++++++++++-
- .../Volatility/Optionlet/StrippedOptionletBase.cs | 4 +++-
- 3 files changed, 15 insertions(+), 4 deletions(-)
-
-commit 18989c8118d09851c800edf5ecbdd3dcf8b4dca7
-Author: jiskin
-Date: Wed Jul 26 16:48:35 2017 +0200
-
- Add normal SABR interpolation test
-
- tests/QLNet.Tests/T_Interpolations.cs | 176 ++++++++++++++++++++++++++++++++++
- 1 file changed, 176 insertions(+)
-
-commit ff47598cff280cb330ebe8afccf9e54c263d42e2
-Author: jiskin
-Date: Wed Jul 26 16:47:56 2017 +0200
-
- Manage forward < 0 case
-
- src/QLNet/Termstructures/Volatility/Sabr.cs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit 43ecafe581cdce6716e38a52c9459adf8f5874fd
-Author: jiskin
-Date: Wed Jul 26 16:47:12 2017 +0200
-
- Manage forward < 0 case in normal SABR
-
- src/QLNet/Math/Interpolations/sabrinterpolation.cs | 53 +++++++++++++---------
- 1 file changed, 31 insertions(+), 22 deletions(-)
-
-commit 9cb5f3c9f838117535d39dbfb188a18e66776f87
-Author: jiskin
-Date: Wed Jul 26 16:46:30 2017 +0200
-
- Remove unnecessary .Create() call
-
- src/QLNet/Math/Interpolations/XABRInterpolation.cs | 72 +++++++++++-----------
- 1 file changed, 36 insertions(+), 36 deletions(-)
-
-commit 59331a1ee83dea6222836dfe75f52964c591ab06
-Author: jiskin
-Date: Tue Jul 25 11:33:29 2017 +0200
-
- SABR Interpolation allows normal volatility
-
- src/QLNet/Math/Interpolations/sabrinterpolation.cs | 103 +++++++++++++++------
- 1 file changed, 76 insertions(+), 27 deletions(-)
-
-commit 82dd2072ff066c1d70b6ecf07a65d0002a5bb6ea
-Author: jiskin
-Date: Tue Jul 25 11:32:44 2017 +0200
-
- New feature : add normal volatility interpolation to SABR
-
- src/QLNet/Termstructures/Volatility/Sabr.cs | 179 ++++++++++++++++++++++------
- 1 file changed, 143 insertions(+), 36 deletions(-)
-
-commit d20cb4cd130d3dc2a204ccf3d1da7495895722a4
-Author: jiskin
-Date: Mon Jul 24 18:44:53 2017 +0200
-
- optionDateFromTenor as virtual
-
- src/QLNet/Termstructures/voltermstructure.cs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit dad42146cc4bb9891df1d6be2e38304f4fef8e15
-Author: jiskin
-Date: Mon Jul 24 18:43:40 2017 +0200
-
- Allow normal vol
-
- .../Volatility/swaption/swaptionconstantvol.cs | 60 ++++++++++++++++------
- 1 file changed, 45 insertions(+), 15 deletions(-)
-
-commit 9305341c1d75b4624dd263cd28b74cac429ecb7c
-Author: jiskin
-Date: Mon Jul 24 18:42:55 2017 +0200
-
- Allow normal vol
-
- src/QLNet/Termstructures/Volatility/FlatSmileSection.cs | 17 ++++++++++-------
- 1 file changed, 10 insertions(+), 7 deletions(-)
-
-commit d311f6403767cc4676b69ee4e390e92b9eee4c81
-Author: jiskin
-Date: Mon Jul 24 18:42:14 2017 +0200
-
- Allow normal vol
-
- .../Volatility/swaption/swaptionvolmatrix.cs | 330 ++++++++++++++++-----
- 1 file changed, 263 insertions(+), 67 deletions(-)
-
-commit 1d804182412c28ac8791af6181eb8b694c1ee17a
-Author: jiskin
-Date: Mon Jul 24 18:38:41 2017 +0200
-
- Add volatility type and shift
-
- .../Shortrate/calibrationhelpers/swaptionhelper.cs | 44 ++++++++++++++++------
- 1 file changed, 33 insertions(+), 11 deletions(-)
-
-commit 2a4c2c2cfd02c7efb7149d747c9a487860bb2be0
-Author: jiskin
-Date: Mon Jul 24 18:37:25 2017 +0200
-
- Add volatility type and shift
-
- src/QLNet/Models/CalibrationHelper.cs | 29 ++++++++++++++++++++---------
- 1 file changed, 20 insertions(+), 9 deletions(-)
-
-commit 3ac192d457539a0999c7907f328212bcaadb0acd
-Author: jiskin
-Date: Wed Jul 19 16:56:44 2017 +0200
+commit 0578d7f501bd2536e789f183a79a748ee8ce4748
+Author: tournierjc
+Date: Fri Jan 19 17:12:06 2018 +0100
- Newtonsafe class wasn't public
+ Add files via upload
- src/QLNet/Math/Solvers1d/Newtonsafe.cs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ src/QLNet/Math/Interpolations/XABRInterpolation.cs | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
-commit 09f550742cc69174fae33b4cde2cf078a573f918
-Author: jiskin
-Date: Mon Jul 17 14:18:14 2017 +0200
+commit c8cf9ba8e9125fef39e7cf91bfa2f1e850f81741
+Author: tournierjc
+Date: Fri Jan 19 17:07:45 2018 +0100
- Set optionDateFromTenor as overridable
+ Add files via upload
- src/QLNet/Termstructures/voltermstructure.cs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ src/QLNet/Math/Interpolations/XABRInterpolation.cs | 76 +++++++++++-----------
+ 1 file changed, 37 insertions(+), 39 deletions(-)
-commit 6b1aaa8b36fa1e8cae9cb7929a729a6cd5485e5f
-Author: jiskin
-Date: Mon Jul 17 14:17:39 2017 +0200
+commit beffca2767b8af5e72293d18d1021aa861268ec4
+Author: tournierjc
+Date: Fri Jan 19 17:06:20 2018 +0100
- Update constant vol
+ Add a XABR Constraint class
- Take into account the shift value
+ This way we can add constraint on the parameters
- .../Volatility/swaption/swaptionconstantvol.cs | 60 ++++++++++++++++------
- 1 file changed, 45 insertions(+), 15 deletions(-)
+ src/QLNet/Math/Interpolations/XABRInterpolation.cs | 50 +++++++++++++++++++---
+ 1 file changed, 44 insertions(+), 6 deletions(-)
-commit d56f4cf416adfc94f0c5896bc49e7f6634ab74ec
-Author: jiskin
-Date: Mon Jul 17 14:15:54 2017 +0200
+commit b7bb9f442a20b3744eb822d4dec349ba9c06a325
+Author: tournierjc
+Date: Fri Jan 19 16:40:17 2018 +0100
- Update Swaption Engine
-
- - Generic interface
- - Black76 engine and Bachelier engine
+ jacobian matrix was not updated
- .../Pricingengines/swaption/blackswaptionengine.cs | 355 ++++++++++++++-------
- 1 file changed, 241 insertions(+), 114 deletions(-)
+ src/QLNet/Math/Optimization/lmdif.cs | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
-commit 24f0b0f13dba7caf2e41ebfa091fd7de1819647b
-Author: jiskin
-Date: Mon Jul 17 14:14:49 2017 +0200
+commit 87f92e22ce2cdb8442476ff66f117d1850003c61
+Author: tournierjc
+Date: Fri Jan 19 14:30:53 2018 +0100
- Swaption instrument update
+ Missing register on discount curve
- src/QLNet/Instruments/Swaption.cs | 22 ++++++++++++++++++----
- 1 file changed, 18 insertions(+), 4 deletions(-)
+ src/QLNet/Indexes/Swapindex.cs | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
-commit 75fcdb63f7f1b3f0f745b26a58ee63f2d8afdcd5
-Author: jiskin
-Date: Mon Jul 17 14:13:18 2017 +0200
+commit 8cef39963e3e9c26e546887c9d524651311cf8c7
+Author: tournierjc
+Date: Wed Jan 17 17:37:21 2018 +0100
- Put forwardValue method as virtual
-
- Allow to override in child class
+ Add files via upload
- src/QLNet/Instruments/forward.cs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ .../Inflation/PiecewiseYoYInflationCurve.cs | 207 ++++++++++----------
+ .../Inflation/PiecewiseZeroInflationCurve.cs | 210 +++++++++++----------
+ 2 files changed, 216 insertions(+), 201 deletions(-)
-commit 047346e1d8bb832e3db911f090e6f81e0d618847
-Author: Francois Botha
-Date: Thu Jun 15 17:32:54 2017 +0200
+commit b2b9a48ece79175264110badd5923cbee15b3066
+Merge: d064e8f e79b486
+Author: tournierjc
+Date: Wed Jan 17 17:34:09 2018 +0100
- Implement DiscountingLoanEngine
+ Merge pull request #8 from amaggiulli/develop
+
+ last commits
- .../Pricingengines/Loan/DiscountingLoanEngine.cs | 44 ++++++++++++++++++++++
- 1 file changed, 44 insertions(+)
+commit d064e8f96e455aeb08943e139c019aa049717f3d
+Author: tournierjc
+Date: Tue Jan 16 19:00:46 2018 +0100
-commit d14bcd1d6bcfe7b483819a1cbf97d65114f620c8
-Author: jiskin
-Date: Wed May 17 14:31:13 2017 +0200
+ calculate before having baseDate
- Update SVI Interpolation with addParam input
+ .../Inflation/PiecewiseYoYInflationCurve.cs | 207 ++++++++++----------
+ .../Inflation/PiecewiseZeroInflationCurve.cs | 210 ++++++++++-----------
+ 2 files changed, 201 insertions(+), 216 deletions(-)
- src/QLNet/Math/Interpolations/SviInterpolation.cs | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
+commit d76e254f2540454d154ed89d4b1f266fcfc3a620
+Author: tournierjc
+Date: Tue Jan 16 13:34:42 2018 +0100
-commit 2cce4390c9a477c00567eefb5e5d604f86b6587b
-Author: jiskin
-Date: Wed May 17 14:25:59 2017 +0200
+ Delete VanillaSwap.cs
- Add sabr interpolated to project file
+ VanillaSwap.cs | 333 ---------------------------------------------------------
+ 1 file changed, 333 deletions(-)
- src/QLNet.Old/QLNet.Old.csproj | 3 +++
- 1 file changed, 3 insertions(+)
+commit e79b4861833ac6e8ae3aedc33b69633709285081
+Author: Andrea Maggiulli
+Date: Wed Dec 27 17:20:44 2017 +0100
-commit 42d4102f849a60380dfdb4389e1f2e31ba29fec1
-Author: jiskin
-Date: Wed May 17 14:25:17 2017 +0200
+ Fixed Sonar Vulnerability issues.
- Add Sabr Interpolated + update sabr & svi
+ src/QLNet/Instruments/FloatFloatSwap.cs | 48 ++++++++++++++++++++++-----------
+ 1 file changed, 33 insertions(+), 15 deletions(-)
- src/QLNet/Termstructures/Volatility/Sabr.cs | 34 ++++
- .../Volatility/SabrInterpolatedSmileSection.cs | 198 +++++++++++++++++++++
- 2 files changed, 232 insertions(+)
+commit 69b622772f2d5a955e0fa3e4b60194e717d2453d
+Author: Andrea Maggiulli
+Date: Wed Dec 27 13:03:11 2017 +0100
-commit a4d381d7543a4543faee5138214436106ddcd46c
-Author: jiskin
-Date: Wed May 17 14:23:59 2017 +0200
+ Added new instrument FloatFloatSwap, with CmsSpreadCoupon and SwapSpreadIndex.
- Add shift to SABR & XABR
+ src/QLNet/Cashflows/CmsSpreadCoupon.cs | 108 +++++
+ src/QLNet/Indexes/swap/SwapSpreadIndex.cs | 113 ++++++
+ src/QLNet/Instruments/FloatFloatSwap.cs | 653 ++++++++++++++++++++++++++++++
+ 3 files changed, 874 insertions(+)
- src/QLNet/Math/Interpolations/XABRInterpolation.cs | 39 ++++++++-------
- src/QLNet/Math/Interpolations/sabrinterpolation.cs | 56 ++++++++++++++--------
- 2 files changed, 57 insertions(+), 38 deletions(-)
+commit ef91d43fb5357d876ff15a246a7e4ee43e7e4e0b
+Author: Andrea Maggiulli
+Date: Thu Dec 21 17:12:38 2017 +0100
-commit 8ca8570bfc78b8b0b71f4b44f29faf91e0ede085
-Merge: 6d085c4 5c50127
-Author: jiskin
-Date: Wed May 17 12:09:09 2017 +0200
+ Sonar links updated [skip ci]
- Merge pull request #4 from amaggiulli/develop
-
- merge svi bug fix
+ README.md | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
-commit 5c50127000c7c0eb7ed73605ab84e4d600b863a9
+commit 497826fa9fbaeba95da15bd7c90790cfa9c93a03
Author: Andrea Maggiulli
-Date: Tue May 16 18:27:59 2017 +0200
+Date: Thu Dec 21 16:31:19 2017 +0100
- Sonar fix : removed useless assignment to local variable 'j'
+ Fixed Sonar Vulnerability issues.
- src/QLNet/Math/Interpolations/SviInterpolation.cs | 2 +-
+ src/QLNet/Math/Optimization/DifferentialEvolution.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-commit 39ffb948f39711fabed076eba1bf9c032af0a5aa
-Merge: ed1181a 0f55bae
+commit 8c43b93a546606e458cccc1e0983c5b4af9f883b
Author: Andrea Maggiulli
-Date: Tue May 16 14:36:56 2017 +0200
-
- Merge pull request #155 from jiskin/SonarQube_SVI_Fix
-
- SonarQube Issue fix on SVI PR
-
-commit 0f55bae9b0e522e33a1389bfac81bb0fa492951e
-Author: jiskin
-Date: Tue May 16 14:25:52 2017 +0200
-
- Fix SonarQube issue on SVI Volatility
+Date: Thu Dec 21 16:10:24 2017 +0100
- .../Termstructures/Volatility/SviInterpolatedSmileSection.cs | 12 ++++++------
- src/QLNet/Termstructures/Volatility/SviSmileSection.cs | 4 ++--
- 2 files changed, 8 insertions(+), 8 deletions(-)
+ Fixed Sonar Vulnerability issues.
-commit 4b579a92a2987c0bf98480550104276f9fa65517
-Author: jiskin
-Date: Tue May 16 14:25:19 2017 +0200
+ .../Math/Optimization/DifferentialEvolution.cs | 28 +++++++++++-----------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
- Fix SonarQube issue on SVI Interpolation
-
- src/QLNet/Math/Interpolations/SviInterpolation.cs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-commit ba47fcdbe1264277115b3a1ed4c456cabbca6a5b
-Author: jiskin
-Date: Tue May 16 14:24:42 2017 +0200
+commit 9fb1100d3a0c2bb3c455ff6eca8f1cc6170a59ae
+Author: Andrea Maggiulli
+Date: Thu Dec 21 12:00:34 2017 +0100
- Fix Count()
+ Cleanup
- tests/QLNet.Tests/T_SVI.cs | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
+ src/QLNet/Cashflows/CappedFlooredCoupon.cs | 37 +-
+ .../Math/Optimization/DifferentialEvolution.cs | 1021 ++++++++++----------
+ src/QLNet/Math/Optimization/SimulatedAnnealing.cs | 514 +++++-----
+ 3 files changed, 817 insertions(+), 755 deletions(-)
-commit 6d085c4e1e7a6ccb519aba82f0e0da8f33c81b80
-Merge: 17bf67d ed1181a
-Author: jiskin
-Date: Tue May 16 14:24:06 2017 +0200
+commit cd95b0e8aabb3727d8213d20369dac851e7de3db
+Merge: d2b7a1f 726596e
+Author: Andrea Maggiulli
+Date: Thu Dec 21 11:45:48 2017 +0100
- Merge pull request #3 from amaggiulli/develop
+ Merge pull request #187 from tournierjc/BugFixProjectedConstraint
- Add SVI Interpolation + Smile section
+ Bug fix projected constraint
-commit ed1181a5f06d287ba73998a86b5033ee866017d6
-Merge: 6b0a879 7b16c24
-Author: Andrea Maggiulli
-Date: Tue May 16 13:53:22 2017 +0200
+commit d2b7a1f9120acac353cc0347ddcd0ac110fbcd0b
+Merge: 41adf31 152d0cd
+Author: Andrea Maggiulli
+Date: Thu Dec 21 10:58:00 2017 +0100
- Merge pull request #153 from jiskin/add_svi
+ Merge pull request #186 from tournierjc/Port_DifferentialEvolution
- Port SVI Interpolation + SmileSection from QuantLib
-
-commit 7b16c248c324594d3fdf3626e902411ac642a811
-Author: jiskin
-Date: Tue May 16 13:21:45 2017 +0200
+ Ported Differential Evolution
- Update QLNet Test old project file
+commit 152d0cde8e685d57b86ceb57f49a86a07ff39110
+Merge: 630c999 41adf31
+Author: Andrea Maggiulli
+Date: Thu Dec 21 10:57:32 2017 +0100
- tests/QLNet.Tests.Old/QLNet.Tests.Old.csproj | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
+ Merge branch 'develop' into Port_DifferentialEvolution
-commit 3a98951ae71d31a7407348fff4f55387f078d932
-Author: jiskin
-Date: Tue May 16 13:21:19 2017 +0200
+commit 630c999f71b36ff1571d81c2d7280b5919b428ee
+Merge: aaf40b6 41adf31
+Author: Andrea Maggiulli
+Date: Thu Dec 21 10:56:08 2017 +0100
- Update QLNet old project file
+ Merge branch 'develop' into Port_DifferentialEvolution
- src/QLNet.Old/QLNet.Old.csproj | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
+commit 41adf3125036694ac8d041c2b34be5203f8f2ff6
+Merge: cf02901 33cd9fd
+Author: Andrea Maggiulli
+Date: Thu Dec 21 10:30:07 2017 +0100
-commit ce701aefab03b8456fe848adf90dc9a5c02b0082
-Author: jiskin
-Date: Tue May 16 12:27:36 2017 +0200
-
- Add SVI Interpolated or not smile section
-
- src/QLNet/Termstructures/Volatility/Svi.cs | 58 ++++++
- .../Volatility/SviInterpolatedSmileSection.cs | 201 +++++++++++++++++++++
- .../Termstructures/Volatility/SviSmileSection.cs | 70 +++++++
- 3 files changed, 329 insertions(+)
-
-commit 9c6b08f295ad95140515bcb5b39bd1a88d304002
-Author: jiskin
-Date: Tue May 16 12:26:57 2017 +0200
-
- Add SVI Interpolation class
+ Merge pull request #184 from tournierjc/Port_SimulatedAnnealing
+
+ Port simulated annealing
- src/QLNet/Math/Interpolations/SviInterpolation.cs | 223 ++++++++++++++++++++++
- 1 file changed, 223 insertions(+)
+commit 33cd9fd1bff75a5124eaa81c6e3fc2b00a203b83
+Merge: 6827380 cf02901
+Author: Andrea Maggiulli
+Date: Thu Dec 21 10:28:50 2017 +0100
-commit 6407ce9294ccf286ae1f70acf1de019f96d92b0d
-Author: jiskin
-Date: Tue May 16 12:13:28 2017 +0200
+ Merge branch 'develop' into Port_SimulatedAnnealing
- Add test for SVI Calibration
+commit 6827380553d60d2ebf85e0881a86a2d9bd0fce43
+Merge: ce84a80 cf02901
+Author: Andrea Maggiulli
+Date: Thu Dec 21 10:26:43 2017 +0100
- tests/QLNet.Tests/T_SVI.cs | 125 +++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 125 insertions(+)
+ Merge branch 'develop' into Port_SimulatedAnnealing
-commit 17bf67d5cec940c20fc2250ae4241ad30c0cf0bc
-Merge: 22860fe 6b0a879
-Author: jiskin
-Date: Mon May 15 10:27:59 2017 +0200
+commit cf02901a52452dc4fc19552c241cb2da7c8eda67
+Merge: 0f61ba3 748c278
+Author: Andrea Maggiulli
+Date: Wed Dec 20 17:39:27 2017 +0100
- Merge pull request #2 from amaggiulli/develop
+ Merge pull request #185 from igitur/botswana-calendar
- merge
+ Added Botswana calendar
-commit 6b0a87925a708ebe9d895ea5c339e6346ffd95dc
+commit 0f61ba3a1c70660eda7515892eddb85e403a1007
+Merge: c83d695 0d1b15b
Author: Andrea Maggiulli
-Date: Thu May 11 18:11:14 2017 +0200
-
- Cpi bug fix, thx @jiskin. Close #135
+Date: Wed Dec 20 16:03:10 2017 +0100
- src/QLNet/Instruments/CPISwap.cs | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
+ Merge branch 'develop' of https://github.com/amaggiulli/qlnet into develop
-commit edbef7cb4e420952d9a0f3c128f02b750294263e
-Merge: 78f929b 88652ad
+commit c83d6952c5bc953f6ef9306cfd6ccca98f095242
Author: Andrea Maggiulli
-Date: Thu May 11 15:39:22 2017 +0200
-
- Merge pull request #150 from jiskin/MakeCms_AddIborGearing
+Date: Wed Dec 20 16:02:48 2017 +0100
+
+ Index manager refactoring . Notice index name is ALWAYS uppercase. This close #182
+
+ src/QLNet/Cashflows/DigitalCoupon.cs | 2 +-
+ src/QLNet/Cashflows/OvernightIndexedCoupon.cs | 4 +-
+ src/QLNet/Index.cs | 16 +--
+ src/QLNet/Indexes/Indexmanager.cs | 174 +++++++++++++++++---------
+ src/QLNet/Indexes/InflationIndex.cs | 28 ++---
+ src/QLNet/Indexes/InterestRateIndex.cs | 4 +-
+ src/QLNet/Quotes/LastFixingQuote.cs | 4 +-
+ tests/QLNet.Tests/T_ShortRateModels.cs | 10 +-
+ 8 files changed, 148 insertions(+), 94 deletions(-)
+
+commit 0d1b15b9460cc98568cb0b7cef3c86575b72b26d
+Merge: d2b2ae7 e91cea3
+Author: Andrea Maggiulli
+Date: Wed Dec 20 14:27:21 2017 +0100
+
+ Merge pull request #181 from tournierjc/BugFixSwapIndex
- Add gearing interface for CMS and Floating legs
+ Bug fix swap index
-commit 78f929be0da0cd00701abeef77b9ef65cabf5e4d
-Merge: 4b555ed 6f1e9f9
-Author: Andrea Maggiulli
-Date: Thu May 11 15:25:29 2017 +0200
+commit 731ccfe4d6392dbbc53b6920208d2ac6fac56676
+Author: tournierjc
+Date: Fri Dec 8 12:29:35 2017 +0100
- Merge pull request #149 from jiskin/Swap_AddNewPropertyRetriever
-
- Retrieve payer information for each leg
+ Add files via upload
-commit 22860fecf3834ff5ae98d4fd8b85fc29834d0725
-Merge: 835befc 4b555ed
-Author: jiskin
-Date: Thu May 4 23:30:19 2017 +0200
+ VanillaSwap.cs | 333 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 333 insertions(+)
- Merge pull request #1 from amaggiulli/develop
-
- Fix inflation
+commit aaf40b6e4778edcc499bd19fa68b0e20e4489107
+Author: tournierjc
+Date: Wed Dec 6 10:59:31 2017 +0100
-commit 88652ad57677710939f8450ef824da7d904cf2c7
-Author: jiskin
-Date: Thu May 4 17:03:59 2017 +0200
+ Manage NaN case
- Add gearing interface for CMS and Floating legs
+ .../Math/Optimization/DifferentialEvolution.cs | 47 +++++-----------------
+ 1 file changed, 11 insertions(+), 36 deletions(-)
- src/QLNet/Instruments/MakeCms.cs | 16 ++++++++++++++--
- 1 file changed, 14 insertions(+), 2 deletions(-)
+commit 726596ef18bbb254c8dd7e6d3adb8b1b48108327
+Author: tournierjc
+Date: Fri Dec 1 14:38:41 2017 +0100
-commit 6f1e9f935b857ea84963cf9eafdb44bc17bac1c1
-Author: jiskin
-Date: Thu May 4 16:59:49 2017 +0200
+ Add files via upload
- Retrieve payer information for each leg
+ src/QLNet/Math/Optimization/Constraint.cs | 16 +++++++++++++---
+ src/QLNet/Math/Optimization/ProjectedConstraint.cs | 6 +++---
+ 2 files changed, 16 insertions(+), 6 deletions(-)
- src/QLNet/Instruments/Swap.cs | 6 ++++++
- 1 file changed, 6 insertions(+)
+commit 610009eed1e1f0ae5520f8c4408831846175273e
+Author: tournierjc
+Date: Fri Nov 17 17:07:48 2017 +0100
-commit 4b555ed608d160f334f459651a8627e9c9b083ea
-Merge: e4b1028 53a9f3f
-Author: Andrea Maggiulli
-Date: Thu May 4 15:18:13 2017 +0200
+ Remove unecessary header
- Merge pull request #147 from igitur/ICloneable-reference-fix
-
- ICloneable references
+ src/QLNet/Methods/Finitedifferences/Utilities/ListUtils.cs | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
-commit 53a9f3f7acfa6c93ffa3b4c2e353a87d3fe8a644
-Author: Andrea Maggiulli
-Date: Thu May 4 15:17:30 2017 +0200
+commit d4385e51f9d87cceda3d8a9466d3a9e05aa9455a
+Author: tournierjc
+Date: Fri Nov 17 17:03:27 2017 +0100
- Update T_Vector.cs
+ Update old project file
- tests/QLNet.Tests/T_Vector.cs | 1 +
- 1 file changed, 1 insertion(+)
+ src/QLNet.Old/QLNet.Old.csproj | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
-commit e4b1028ffcaefda638537ee0fa6673b70aed1b55
-Author: Andrea Maggiulli
-Date: Thu May 4 14:37:29 2017 +0200
+commit 61697f9381e5db68aece656fe22d813d0abc2fe1
+Author: tournierjc
+Date: Fri Nov 17 17:01:39 2017 +0100
- Fixed InflationIndex.needsForecast, testZeroTermStructure test and PiecewiseZeroInflationCurve.maxDate.
- Thanks @igitur and @jiskin for finding and fixing. Close #146
+ Update optimizer tests for Differential Evolution
- src/QLNet/Indexes/InflationIndex.cs | 2 +-
- .../Inflation/InterpolatedZeroInflationCurve.cs | 14 ++++++++++----
- .../Inflation/PiecewiseZeroInflationCurve.cs | 16 +++++++++++-----
- tests/QLNet.Tests/T_Inflation.cs | 4 ++--
- 4 files changed, 24 insertions(+), 12 deletions(-)
+ tests/QLNet.Tests/T_Optimizers.cs | 193 ++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 193 insertions(+)
-commit c3cc66d875f38b0b711b1dd0418110db0ad2fba2
-Author: Andrea Maggiulli
-Date: Thu May 4 14:32:56 2017 +0200
+commit 6a7a626e5260cc07c9a07c8460f4d3db47bb623c
+Author: tournierjc
+Date: Fri Nov 17 17:00:35 2017 +0100
- Update T_Vector.cs
-
- removed unused reference
+ Add Differential Evolution algorithm
- tests/QLNet.Tests/T_Vector.cs | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
+ .../Math/Optimization/DifferentialEvolution.cs | 579 +++++++++++++++++++++
+ 1 file changed, 579 insertions(+)
-commit c628d8c904cd78c1de24a14c20888099bb706b17
-Author: Francois Botha
-Date: Thu May 4 12:56:30 2017 +0200
+commit 6729342b346e1f08dd281d3a05b0881b0aab6d37
+Author: tournierjc
+Date: Fri Nov 17 16:59:28 2017 +0100
- Boolean logic fix for when to implement ICloneable interface. The interface is already available in .NET40 and .NET45
+ Add shuffle function for IList
- src/QLNet/Utils.cs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ .../Finitedifferences/Utilities/ListUtils.cs | 35 +++++++++++++++++++++-
+ 1 file changed, 34 insertions(+), 1 deletion(-)
-commit fbb760578f3f224cead0ed0c50379f6944a8b9ea
+commit 748c278e89abc463dc4e8b771895da72d5eacb52
Author: Francois Botha
-Date: Thu May 4 12:34:37 2017 +0200
-
- Don't reference ICloneable using namespace, or it will fail for NET40 build.
+Date: Fri Nov 17 12:14:44 2017 +0200
- tests/QLNet.Tests/T_Vector.cs | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
+ Add Botswana calendar
-commit 8141b66969826140f647fe136f5105304fb4a413
-Author: Andrea Maggiulli
-Date: Fri Apr 28 16:26:40 2017 +0200
+ src/QLNet.Old/QLNet.Old.csproj | 3 +
+ src/QLNet/Time/Calendars/botswana.cs | 110 +++++++++++++++++++++++++++++++++++
+ 2 files changed, 113 insertions(+)
- Removed unnecessary cast.
+commit ce84a80f9c41f960a2e38d947fcfc5966cc66b14
+Author: tournierjc
+Date: Tue Nov 14 15:05:25 2017 +0100
- src/QLNet/Math/Optimization/ArmijoLineSearch.cs | 2 +-
- src/QLNet/Math/Optimization/problem.cs | 4 ++--
- src/QLNet/Math/SampledCurve.cs | 12 ++++++------
- src/QLNet/Math/transformedgrid.cs | 6 +++---
- src/QLNet/Methods/Finitedifferences/TridiagonalOperator.cs | 8 ++++----
- src/QLNet/Methods/montecarlo/path.cs | 2 +-
- 6 files changed, 17 insertions(+), 17 deletions(-)
+ Add files via upload
-commit 835befc29c2d1c52b81b1a2e0ac10ef0b0574544
-Author: Andrea Maggiulli
-Date: Fri Apr 28 15:55:33 2017 +0200
+ src/QLNet.Old/QLNet.Old.csproj | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
- Removed Vector operator == overload , XML doc and a new test.
+commit 222e311e4dbbf17c74c26889e21c22126611d4ad
+Author: tournierjc
+Date: Tue Nov 14 15:04:38 2017 +0100
- src/QLNet/Math/Vector.cs | 74 +++++++++++++++++++++++++++++--------------
- tests/QLNet.Tests/T_Vector.cs | 20 ++++++++++--
- 2 files changed, 69 insertions(+), 25 deletions(-)
+ Add files via upload
-commit 0d319c22ed4a1f9dc8773836a25b7dc768efbcf9
-Author: Andrea Maggiulli
-Date: Fri Apr 28 14:22:45 2017 +0200
+ src/QLNet/Math/Optimization/SimulatedAnnealing.cs | 19 ++++++++-----------
+ 1 file changed, 8 insertions(+), 11 deletions(-)
- Fixed Vector Clone and Equals with tests.
+commit de1d698030466f395e4b80e38bbe0989900acb66
+Author: tournierjc
+Date: Tue Nov 14 14:20:29 2017 +0100
- src/QLNet/Math/Vector.cs | 34 +++++++---
- tests/QLNet.Tests.Old/QLNet.Tests.Old.csproj | 1 +
- tests/QLNet.Tests/T_Vector.cs | 98 ++++++++++++++++++++++++++++
- tests/QLNet.Tests/Utilities.cs | 45 +++++++++++++
- 4 files changed, 169 insertions(+), 9 deletions(-)
+ Add files via upload
-commit 7ff1dec239b6667093ce430b93b4b208eda6f7cc
-Author: Andrea Maggiulli
-Date: Thu Apr 27 17:36:49 2017 +0200
+ src/QLNet.Old/QLNet.Old.csproj | 4199 ++++++++++++++++++++--------------------
+ 1 file changed, 2101 insertions(+), 2098 deletions(-)
- Removed useless optional parameter.
+commit db7b7fa19374e40a4385104ebe0b8b42b3030a46
+Author: tournierjc
+Date: Tue Nov 14 14:09:20 2017 +0100
- src/QLNet/Termstructures/Inflation/InterpolatedYoYInflationCurve.cs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ Add files via upload
-commit a2abf0f4d7d1d7754c94445255165d86b33e4502
-Author: Andrea Maggiulli
-Date: Thu Apr 27 17:36:03 2017 +0200
+ src/QLNet/Math/Optimization/Constraint.cs | 16 +-
+ src/QLNet/Math/Optimization/CostFunction.cs | 13 +-
+ src/QLNet/Math/Optimization/Simplex.cs | 2 +-
+ src/QLNet/Math/Optimization/SimulatedAnnealing.cs | 275 ++++++++++++++++++++++
+ src/QLNet/Math/Optimization/problem.cs | 3 +-
+ 5 files changed, 301 insertions(+), 8 deletions(-)
- Code formatted.
+commit fa376549cb17d5309c7f4f2e4316ea8c35c39216
+Author: tournierjc
+Date: Tue Nov 14 14:08:48 2017 +0100
- src/QLNet/Math/Matrix.cs | 672 ++++++++++++++++++++++++++---------------------
- src/QLNet/Math/Vector.cs | 332 +++++++++++++----------
- 2 files changed, 574 insertions(+), 430 deletions(-)
+ Add files via upload
-commit c7e8c19ac242085ff584ce6f1fc6fd477e6100c4
-Author: Andrea Maggiulli
-Date: Thu Apr 27 12:05:05 2017 +0200
+ src/QLNet/Math/Interpolations/KernelInterpolation2D.cs | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
- Fixed QLNet.Old file name. [skip ci]
+commit b8c1cc7a71e40a12a201990b5f5a8643d5e45f85
+Author: tournierjc
+Date: Tue Nov 14 14:08:19 2017 +0100
- src/QLNet.Old/QLNet.Old.csproj | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ Add files via upload
-commit f6fad63c9e9761ec504bb1da4a7bb470a35f1475
-Author: Andrea Maggiulli
-Date: Wed Apr 26 18:34:03 2017 +0200
+ src/QLNet.Old/QLNet.Old.csproj | 4197 ++++++++++++++++++++--------------------
+ 1 file changed, 2099 insertions(+), 2098 deletions(-)
- TEST : sonar complain about cashflow.cs., it's just a test to see if the problem is the file name .
+commit 2e361187bd3fba3816fefd73deab1f5b300deab2
+Author: tournierjc
+Date: Tue Nov 14 14:07:47 2017 +0100
- src/QLNet/{Cashflow.cs => CashflowBase.cs} | 0
- 1 file changed, 0 insertions(+), 0 deletions(-)
+ Delete MakeOIS.cs
-commit ba428b56f850a5ce6ffd83088d0e9abd9a5c5180
-Author: Andrea Maggiulli
-Date: Wed Apr 26 15:06:28 2017 +0200
+ MakeOIS.cs | 270 -------------------------------------------------------------
+ 1 file changed, 270 deletions(-)
- Fixed Sonar vulnerabilities.
+commit 775f6eb5298c71ca8fee0288ec6e86d96d957cdd
+Merge: 2479113 d2b2ae7
+Author: tournierjc
+Date: Tue Nov 14 14:06:46 2017 +0100
- src/QLNet/Instruments/BasisSwap.cs | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
+ Merge pull request #6 from amaggiulli/develop
+
+ Schedule : more accurate effective date.
-commit aa8e685477d85da7b773e24611ea233d2101fb53
-Author: Andrea Maggiulli
-Date: Wed Apr 26 14:24:31 2017 +0200
-
- Restored old solution folders, added empty folders [skip ci]
-
- src/QLNet.Old/Cashflows/.gitkeep | 0
- src/QLNet.Old/Currencies/.gitkeep | 0
- src/QLNet.Old/Extensions/.gitkeep | 0
- src/QLNet.Old/Indexes/Ibor/.gitkeep | 0
- src/QLNet.Old/Indexes/Inflation/.gitkeep | 0
- src/QLNet.Old/Indexes/Swap/.gitkeep | 0
- src/QLNet.Old/Instruments/Bonds/.gitkeep | 0
- src/QLNet.Old/Math/Distributions/.gitkeep | 0
- src/QLNet.Old/Math/Interpolations/.gitkeep | 0
- src/QLNet.Old/Math/Optimization/.gitkeep | 0
- src/QLNet.Old/Math/Solvers1d/.gitkeep | 0
- src/QLNet.Old/Math/integrals/.gitkeep | 0
- src/QLNet.Old/Math/matrixutilities/.gitkeep | 0
- src/QLNet.Old/Math/randomnumbers/.gitkeep | 0
- src/QLNet.Old/Math/statistics/.gitkeep | 0
- src/QLNet.Old/Methods/Finitedifferences/.gitkeep | 0
- src/QLNet.Old/Methods/lattices/.gitkeep | 0
- src/QLNet.Old/Methods/montecarlo/.gitkeep | 0
- src/QLNet.Old/Models/Equity/.gitkeep | 0
- src/QLNet.Old/Models/MarketModels/BrownianGenerators/.gitkeep | 0
- src/QLNet.Old/Models/Shortrate/Onefactormodels/.gitkeep | 0
- src/QLNet.Old/Models/Shortrate/Twofactorsmodels/.gitkeep | 0
- src/QLNet.Old/Models/Shortrate/calibrationhelpers/.gitkeep | 0
- src/QLNet.Old/Patterns/.gitkeep | 0
- src/QLNet.Old/Pricingengines/Basket/.gitkeep | 0
- src/QLNet.Old/Pricingengines/Bond/.gitkeep | 0
- src/QLNet.Old/Pricingengines/CapFloor/.gitkeep | 0
- src/QLNet.Old/Pricingengines/Cliquet/.gitkeep | 0
- src/QLNet.Old/Pricingengines/Forward/.gitkeep | 0
- src/QLNet.Old/Pricingengines/Loan/.gitkeep | 0
- src/QLNet.Old/Pricingengines/Lookback/.gitkeep | 0
- src/QLNet.Old/Pricingengines/Swap/.gitkeep | 0
- src/QLNet.Old/Pricingengines/asian/.gitkeep | 0
- src/QLNet.Old/Pricingengines/barrier/.gitkeep | 0
- src/QLNet.Old/Pricingengines/credit/.gitkeep | 0
- src/QLNet.Old/Pricingengines/inflation/.gitkeep | 0
- src/QLNet.Old/Pricingengines/swaption/.gitkeep | 0
- src/QLNet.Old/Pricingengines/vanilla/.gitkeep | 0
- src/QLNet.Old/Quotes/.gitkeep | 0
- src/QLNet.Old/Termstructures/Credit/.gitkeep | 0
- src/QLNet.Old/Termstructures/Inflation/.gitkeep | 0
- src/QLNet.Old/Termstructures/Volatility/Bond/.gitkeep | 0
- src/QLNet.Old/Termstructures/Volatility/CapFloor/.gitkeep | 0
- src/QLNet.Old/Termstructures/Volatility/Inflation/.gitkeep | 0
- src/QLNet.Old/Termstructures/Volatility/Optionlet/.gitkeep | 0
- src/QLNet.Old/Termstructures/Volatility/equityfx/.gitkeep | 0
- src/QLNet.Old/Termstructures/Volatility/swaption/.gitkeep | 0
- src/QLNet.Old/Termstructures/Yield/.gitkeep | 0
- src/QLNet.Old/Time/Calendars/.gitkeep | 0
- src/QLNet.Old/Time/DayCounters/.gitkeep | 0
- src/QLNet.Old/legacy/libormarketmodels/.gitkeep | 0
- src/QLNet.Old/processes/.gitkeep | 0
- 52 files changed, 0 insertions(+), 0 deletions(-)
-
-commit 51f9c6b64880db323c45c187d5c4b49f62f508a8
-Author: Andrea Maggiulli
-Date: Wed Apr 26 14:13:04 2017 +0200
+commit 2479113619684541cb2205730cdf3e689c37f783
+Author: tournierjc
+Date: Mon Nov 13 12:49:15 2017 +0100
- Added Interpolated YoY Inflation Curve. Close #136
+ Add files via upload
- src/QLNet.Old/QLNet.Old.csproj | 3 +
- .../Inflation/InterpolatedYoYInflationCurve.cs | 161 +++++++++++++++++++++
- 2 files changed, 164 insertions(+)
+ MakeOIS.cs | 270 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 270 insertions(+)
-commit 98b0fadd6721891c8ba70ac91735f3affed47741
+commit d2b2ae71a4e867d4f8309fe3d1cc551e87fbf1fc
Author: Andrea Maggiulli
-Date: Wed Apr 26 14:04:04 2017 +0200
+Date: Tue Oct 31 18:21:03 2017 +0100
- Added Basis swap helper for yield curve bootstrapping. Close #142
+ Schedule : more accurate effective date.
- src/QLNet.Old/QLNet.Old.csproj | 3 +
- src/QLNet/Instruments/BasisSwap.cs | 56 ++++++-
- src/QLNet/Termstructures/Yield/BasisSwapHelper.cs | 182 ++++++++++++++++++++++
- 3 files changed, 240 insertions(+), 1 deletion(-)
+ src/QLNet/Time/Schedule.cs | 5 +++++
+ 1 file changed, 5 insertions(+)
-commit 1c689854edbb90cb297cd0d5331c3f4668c6634d
-Author: Andrea Maggiulli
-Date: Wed Apr 26 13:59:21 2017 +0200
+commit e91cea3569c7d17217e423e8a63de2bb01e44a91
+Author: tournierjc
+Date: Mon Oct 30 16:30:14 2017 +0100
- Restored old solution folders [skip ci]
+ Call to base constructor is missing
- src/QLNet.Old/QLNet.Old.csproj | 2291 ++++++++++++++++++++++++++++++----------
- 1 file changed, 1720 insertions(+), 571 deletions(-)
\ No newline at end of file
+ src/QLNet/Indexes/Swapindex.cs | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 000000000..d54fa6196
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,29 @@
+BSD 3-Clause QLNet License
+
+Copyright (c) 2018, Andrea Maggiulli
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+* Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/News.txt b/News.txt
index 3e33169b0..4ac9dbb88 100644
--- a/News.txt
+++ b/News.txt
@@ -1,48 +1,44 @@
-QLNet 1.10.0
+QLNet 1.11.0
=========================
-QLNet 1.10.0 stable version.
-
+QLNet 1.11.0 stable version includes 91 pull requests .
The most notable changes are included below.
A detailed list of changes is available in ChangeLog.txt.
ENGINES
-+ Added DiscountingLoanEngine
-+ Updated Swaption Engine
-+ Added IsdaCdsEngine, InterpolatedSurvivalProbabilityCurve and SurvivalProbabilityStructure with test
-+ Added AnalyticDoubleBarrierBinaryEngine and BinomialDoubleBarrierEngine
-+ Added HW swaption engine
++ Added raw calculation for WeightedAverageLife given a list of dates and a list of amounts.
FRAMEWORK
-+ Updated documentation to standard XML format
-+ Updated to net standard 2.0
-+ Several bug fixes
++ Added Artistic Style 3.1 tool for formatting code.
++ Uniformed file names to CamelCase standard
TERMSTRUCTURES
-+ Added Interpolated YoY Inflation Curve
-+ Added normal volatility interpolation to SABR
++ Implement CompositeZeroYieldStructure
TIME
- + Updated Schedule for CDS2015 with test.
- + Updated Actual360 daycounter to include/exclude last day
+ + Add Botswana calendar
INSTRUMENTS
-+ Add gearing interface for CMS and Floating legs
-+ Swaption instrument update
-+ Updated bonds constructors
-+ Added Finite differences method
-+ Updated CreditDefaultSwap + helper
++ Added new instrument FloatFloatSwap, with CmsSpreadCoupon and SwapSpreadIndex.
++ Added Kirk Option Engine with test.
++ Fixed bug in Vanna-Volga method for double barrier knock in options.
MATH
-+ Add SVI Interpolation class
-+ Add shift to SABR & XABR
++ Add Differential Evolution algorithm
++ Add a XABR Constraint class
++ Add LevenbergMarquardt precondition checks
+
+INDEXES
+
++ Updated day count convention and spot lag by CAD fixings.
CASHFLOWS
-+ Added LastPeriodDayCounter to FixedRateCoupon
\ No newline at end of file
++ Updated BlackVanillaOptionPricer constructor, check volatility type and shift.
++ Added Range Accrual tests and fixed 2 bugs on RangeAccrual and InterpolatedSmileSection
\ No newline at end of file
diff --git a/README.md b/README.md
index a28cceffd..18614c059 100644
--- a/README.md
+++ b/README.md
@@ -9,16 +9,16 @@ QLNet also contains new developments on the bond market like MBS, Amortized Cost
[![Build status](https://ci.appveyor.com/api/projects/status/iii1m7n3cdq3v5xm?svg=true)](https://ci.appveyor.com/project/amaggiulli/qlnet)
[![NuGet](https://buildstats.info/nuget/qlnet)](https://www.nuget.org/packages/qlnet/)
[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?item_name=Donation+to+QLNet&cmd=_donations&business=a.maggiulli%40gmail.com)
-[![Quality Gate](https://sonarqube.com/api/badges/gate?key=QLNet-develop)](https://sonarqube.com/dashboard/index?id=QLNet-develop)
-[![Bugs](https://sonarqube.com/api/badges/measure?key=QLNet-develop&metric=bugs)](https://sonarqube.com/component_issues?id=QLNet-develop#types=BUG|resolved=false)
-[![Vulnerabilities](https://sonarqube.com/api/badges/measure?key=QLNet-develop&metric=vulnerabilities)](https://sonarqube.com/component_issues?id=QLNet-develop#resolved=false|types=VULNERABILITY)
-[![Code Smells](https://sonarqube.com/api/badges/measure?key=QLNet-develop&metric=code_smells)](https://sonarqube.com/component_issues?id=QLNet-develop#resolved=false|types=CODE_SMELL)
-[![Duplicated Lines](https://sonarqube.com/api/badges/measure?key=QLNet-develop&metric=duplicated_lines_density)](https://sonarqube.com/component_measures/metric/duplicated_lines_density/treemap?id=QLNet-develop)
-[![Blocker Issues](https://sonarqube.com/api/badges/measure?key=QLNet-develop&metric=blocker_violations)](https://sonarqube.com/component_issues/?id=QLNet-develop#resolved=false|severities=BLOCKER)
-[![Critical Issues](https://sonarqube.com/api/badges/measure?key=QLNet-develop&metric=critical_violations)](https://sonarqube.com/component_issues?id=QLNet-develop#resolved=false|severities=CRITICAL)
-[![Major Issues](https://sonarqube.com/api/badges/measure?key=QLNet-develop&metric=major_violations)](https://sonarqube.com/component_issues?id=QLNet-develop#resolved=false|severities=MAJOR)
-[![Minor Issues](https://sonarqube.com/api/badges/measure?key=QLNet-develop&metric=minor_violations)](https://sonarqube.com/component_issues?id=QLNet-develop#resolved=false|severities=MINOR)
-[![Technical Debt](https://sonarqube.com/api/badges/measure?key=QLNet-develop&metric=sqale_debt_ratio)](https://sonarqube.com/dashboard?id=QLNet-develop)
+[![Quality Gate](https://sonarqube.com/api/badges/gate?key=QLNet-develop)](https://sonarcloud.io/dashboard?id=QLNet-develop)
+[![Bugs](https://sonarqube.com/api/badges/measure?key=QLNet-develop&metric=bugs)](https://sonarcloud.io/project/issues?id=QLNet-develop&resolved=false&types=BUG)
+[![Vulnerabilities](https://sonarqube.com/api/badges/measure?key=QLNet-develop&metric=vulnerabilities)](https://sonarcloud.io/project/issues?id=QLNet-develop&resolved=false&types=VULNERABILITY)
+[![Code Smells](https://sonarqube.com/api/badges/measure?key=QLNet-develop&metric=code_smells)](https://sonarcloud.io/project/issues?id=QLNet-develop&resolved=false&types=CODE_SMELL)
+[![Duplicated Lines](https://sonarqube.com/api/badges/measure?key=QLNet-develop&metric=duplicated_lines_density)](https://sonarcloud.io/component_measures?id=QLNet-develop&metric=duplicated_lines_density)
+[![Blocker Issues](https://sonarqube.com/api/badges/measure?key=QLNet-develop&metric=blocker_violations)](https://sonarcloud.io/project/issues?id=QLNet-develop&resolved=false&severities=BLOCKER)
+[![Critical Issues](https://sonarqube.com/api/badges/measure?key=QLNet-develop&metric=critical_violations)](https://sonarcloud.io/project/issues?id=QLNet-develop&resolved=false&severities=CRITICAL)
+[![Major Issues](https://sonarqube.com/api/badges/measure?key=QLNet-develop&metric=major_violations)](https://sonarcloud.io/project/issues?id=QLNet-develop&resolved=false&severities=MAJOR)
+[![Minor Issues](https://sonarqube.com/api/badges/measure?key=QLNet-develop&metric=minor_violations)](https://sonarcloud.io/project/issues?id=QLNet-develop&resolved=false&severities=MINOR)
+[![Technical Debt](https://sonarqube.com/api/badges/measure?key=QLNet-develop&metric=sqale_debt_ratio)](https://sonarcloud.io/dashboard?id=QLNet-develop)
## Development workflow
diff --git a/format_code.bat b/format_code.bat
new file mode 100644
index 000000000..12226c3da
--- /dev/null
+++ b/format_code.bat
@@ -0,0 +1 @@
+tools\AStyle.exe --options=qlnet.astyle --recursive src/*.cs tests/*.cs
\ No newline at end of file
diff --git a/qlnet.astyle b/qlnet.astyle
new file mode 100644
index 000000000..c2012140b
--- /dev/null
+++ b/qlnet.astyle
@@ -0,0 +1,28 @@
+# QLNet Coding Style Options
+
+# braces and indent
+style=allman
+indent=spaces=3
+
+# indentation
+min-conditional-indent=0
+max-continuation-indent=80
+indent-classes
+indent-namespaces
+indent-switches
+
+# padding
+pad-oper
+pad-header
+unpad-paren
+align-pointer=type
+
+# formatting
+break-one-line-headers
+keep-one-line-blocks
+keep-one-line-statements
+convert-tabs
+
+# other options
+suffix=none
+exclude=obj
\ No newline at end of file
diff --git a/src/BermudanSwaption/BermudanSwaption.cs b/src/BermudanSwaption/BermudanSwaption.cs
index 44e7fd35a..0ef1fb7ad 100644
--- a/src/BermudanSwaption/BermudanSwaption.cs
+++ b/src/BermudanSwaption/BermudanSwaption.cs
@@ -1,17 +1,17 @@
/*
Copyright (C) 2010 Philippe Real (ph_real@hotmail.com)
-
+
This file is part of QLNet Project http://qlnet.sourceforge.net/
QLNet is free software: you can redistribute it and/or modify it
under the terms of the QLNet license. You should have received a
- copy of the license along with this program; if not, license is
- available online at .
-
+ copy of the license along with this program; if not, license is
+ available at .
+
QLNet is a based on QuantLib, a free-software/open-source library
for financial quantitative analysts and developers - http://quantlib.org/
The QuantLib license is available online at http://quantlib.org/license.shtml.
-
+
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the license for more details.
@@ -23,275 +23,278 @@ under the terms of the QLNet license. You should have received a
namespace BermudanSwaption
{
- class BermudanSwaption
- {
-
- //Number of swaptions to be calibrated to...
- const int NumRows = 5;
- const int NumCols = 5;
-
- static readonly int[] SwapLenghts = { 1, 2, 3, 4, 5 };
- static readonly double[] SwaptionVols = {
- 0.1490, 0.1340, 0.1228, 0.1189, 0.1148,
- 0.1290, 0.1201, 0.1146, 0.1108, 0.1040,
- 0.1149, 0.1112, 0.1070, 0.1010, 0.0957,
- 0.1047, 0.1021, 0.0980, 0.0951, 0.1270,
- 0.1000, 0.0950, 0.0900, 0.1230, 0.1160};
-
- static void CalibrateModel(ShortRateModel model,
- List helpers)
- {
- if (model == null) throw new ArgumentNullException("model");
- var om = new LevenbergMarquardt();
- model.calibrate(helpers, om,
- new EndCriteria(400, 100, 1.0e-8, 1.0e-8, 1.0e-8), new Constraint(),
- new List());
-
- // Output the implied Black volatilities
- for (int i = 0; i < NumRows; i++)
- {
- int j = NumCols - i - 1; // 1x5, 2x4, 3x3, 4x2, 5x1
- int k = i * NumCols + j;
- double npv = helpers[i].modelValue();
- double implied = helpers[i].impliedVolatility(npv, 1e-4,
- 1000, 0.05, 0.50);
- double diff = implied - SwaptionVols[k];
- Console.WriteLine("{0}x{1}: model {2:0.00000 %}, market {3:0.00000 %}, diff {4:0.00000 %} ",
- i + 1, SwapLenghts[j], implied, SwaptionVols[k], diff);
- }
- }
-
- static void Main(string[] args)
- {
-
- DateTime timer = DateTime.Now;
-
- Date todaysDate = new Date(15, 2, 2002);
- Calendar calendar = new TARGET();
- Date settlementDate = new Date(19, 2, 2002);
- Settings.setEvaluationDate(todaysDate);
-
- // flat yield term structure impling 1x5 swap at 5%
- Quote flatRate = new SimpleQuote(0.04875825);
- Handle rhTermStructure = new Handle(
- new FlatForward(settlementDate, new Handle(flatRate),
- new Actual365Fixed()));
-
- // Define the ATM/OTM/ITM swaps
- Frequency fixedLegFrequency = Frequency.Annual;
- BusinessDayConvention fixedLegConvention = BusinessDayConvention.Unadjusted;
- BusinessDayConvention floatingLegConvention = BusinessDayConvention.ModifiedFollowing;
- DayCounter fixedLegDayCounter = new Thirty360(Thirty360.Thirty360Convention.European);
- Frequency floatingLegFrequency = Frequency.Semiannual;
- VanillaSwap.Type type = VanillaSwap.Type.Payer;
- double dummyFixedRate = 0.03;
- IborIndex indexSixMonths = new Euribor6M(rhTermStructure);
-
- Date startDate = calendar.advance(settlementDate, 1, TimeUnit.Years,
- floatingLegConvention);
- Date maturity = calendar.advance(startDate, 5, TimeUnit.Years,
- floatingLegConvention);
- Schedule fixedSchedule = new Schedule(startDate, maturity, new Period(fixedLegFrequency),
- calendar, fixedLegConvention, fixedLegConvention,
- DateGeneration.Rule.Forward, false);
- Schedule floatSchedule = new Schedule(startDate, maturity, new Period(floatingLegFrequency),
- calendar, floatingLegConvention, floatingLegConvention,
- DateGeneration.Rule.Forward, false);
-
- VanillaSwap swap = new VanillaSwap(
- type, 1000.0,
- fixedSchedule, dummyFixedRate, fixedLegDayCounter,
- floatSchedule, indexSixMonths, 0.0,
- indexSixMonths.dayCounter());
- swap.setPricingEngine(new DiscountingSwapEngine(rhTermStructure));
- double fixedAtmRate = swap.fairRate();
- double fixedOtmRate = fixedAtmRate * 1.2;
- double fixedItmRate = fixedAtmRate * 0.8;
-
- VanillaSwap atmSwap = new VanillaSwap(
- type, 1000.0,
- fixedSchedule, fixedAtmRate, fixedLegDayCounter,
- floatSchedule, indexSixMonths, 0.0,
- indexSixMonths.dayCounter());
- VanillaSwap otmSwap = new VanillaSwap(
- type, 1000.0,
- fixedSchedule, fixedOtmRate, fixedLegDayCounter,
- floatSchedule, indexSixMonths, 0.0,
- indexSixMonths.dayCounter());
- VanillaSwap itmSwap = new VanillaSwap(
- type, 1000.0,
- fixedSchedule, fixedItmRate, fixedLegDayCounter,
- floatSchedule, indexSixMonths, 0.0,
- indexSixMonths.dayCounter());
-
- // defining the swaptions to be used in model calibration
- List swaptionMaturities = new List(5);
- swaptionMaturities.Add(new Period(1, TimeUnit.Years));
- swaptionMaturities.Add(new Period(2, TimeUnit.Years));
- swaptionMaturities.Add(new Period(3, TimeUnit.Years));
- swaptionMaturities.Add(new Period(4, TimeUnit.Years));
- swaptionMaturities.Add(new Period(5, TimeUnit.Years));
-
- List swaptions = new List();
-
- // List of times that have to be included in the timegrid
- List times = new List();
-
- for (int i = 0; i < NumRows; i++)
- {
- int j = NumCols - i - 1; // 1x5, 2x4, 3x3, 4x2, 5x1
- int k = i * NumCols + j;
- Quote vol = new SimpleQuote(SwaptionVols[k]);
- swaptions.Add(new SwaptionHelper(swaptionMaturities[i],
- new Period(SwapLenghts[j], TimeUnit.Years),
- new Handle(vol),
- indexSixMonths,
- indexSixMonths.tenor(),
- indexSixMonths.dayCounter(),
- indexSixMonths.dayCounter(),
- rhTermStructure));
- swaptions.Last().addTimesTo(times);
- }
-
- // Building time-grid
- TimeGrid grid = new TimeGrid(times, times.Count, 30);
-
-
- // defining the models
- G2 modelG2 = new G2(rhTermStructure);
- HullWhite modelHw = new HullWhite(rhTermStructure);
- HullWhite modelHw2 = new HullWhite(rhTermStructure);
- BlackKarasinski modelBk = new BlackKarasinski(rhTermStructure);
-
-
- // model calibrations
-
- Console.WriteLine("G2 (analytic formulae) calibration");
- for (int i = 0; i < swaptions.Count; i++)
- swaptions[i].setPricingEngine(new G2SwaptionEngine(modelG2, 6.0, 16));
- CalibrateModel(modelG2, swaptions);
- Console.WriteLine("calibrated to:\n" +
- "a = {0:0.000000}, " +
- "sigma = {1:0.0000000}\n" +
- "b = {2:0.000000}, " +
- "eta = {3:0.0000000}\n" +
- "rho = {4:0.00000}\n",
- modelG2.parameters()[0],
- modelG2.parameters()[1],
- modelG2.parameters()[2],
- modelG2.parameters()[3],
- modelG2.parameters()[4]);
-
- Console.WriteLine("Hull-White (analytic formulae) calibration");
- for (int i = 0; i < swaptions.Count; i++)
- swaptions[i].setPricingEngine(new JamshidianSwaptionEngine(modelHw));
- CalibrateModel(modelHw, swaptions);
- Console.WriteLine("calibrated to:\n" +
- "a = {0:0.000000}, " +
- "sigma = {1:0.0000000}\n",
- modelHw.parameters()[0],
- modelHw.parameters()[1]);
-
- Console.WriteLine("Hull-White (numerical) calibration");
- for (int i = 0; i < swaptions.Count(); i++)
- swaptions[i].setPricingEngine(new TreeSwaptionEngine(modelHw2, grid));
- CalibrateModel(modelHw2, swaptions);
- Console.WriteLine("calibrated to:\n" +
- "a = {0:0.000000}, " +
- "sigma = {1:0.0000000}\n",
- modelHw2.parameters()[0],
- modelHw2.parameters()[1]);
-
- Console.WriteLine("Black-Karasinski (numerical) calibration");
- for (int i = 0; i < swaptions.Count; i++)
- swaptions[i].setPricingEngine(new TreeSwaptionEngine(modelBk, grid));
- CalibrateModel(modelBk, swaptions);
- Console.WriteLine("calibrated to:\n" +
- "a = {0:0.000000}, " +
- "sigma = {1:0.00000}\n",
- modelBk.parameters()[0],
- modelBk.parameters()[1]);
-
-
- // ATM Bermudan swaption pricing
- Console.WriteLine("Payer bermudan swaption "
- + "struck at {0:0.00000 %} (ATM)",
- fixedAtmRate);
-
- List bermudanDates = new List();
- List leg = swap.fixedLeg();
- for (int i = 0; i < leg.Count; i++)
- {
- Coupon coupon = (Coupon)leg[i];
- bermudanDates.Add(coupon.accrualStartDate());
- }
-
- Exercise bermudanExercise = new BermudanExercise(bermudanDates);
-
- Swaption bermudanSwaption = new Swaption(atmSwap, bermudanExercise);
-
- // Do the pricing for each model
-
- // G2 price the European swaption here, it should switch to bermudan
- bermudanSwaption.setPricingEngine(new TreeSwaptionEngine(modelG2, 50));
- Console.WriteLine("G2: {0:0.00}", bermudanSwaption.NPV());
-
- bermudanSwaption.setPricingEngine(new TreeSwaptionEngine(modelHw, 50));
- Console.WriteLine("HW: {0:0.000}", bermudanSwaption.NPV());
-
- bermudanSwaption.setPricingEngine(new TreeSwaptionEngine(modelHw2, 50));
- Console.WriteLine("HW (num): {0:0.000}", bermudanSwaption.NPV());
-
- bermudanSwaption.setPricingEngine(new TreeSwaptionEngine(modelBk, 50));
- Console.WriteLine("BK: {0:0.000}", bermudanSwaption.NPV());
-
-
- // OTM Bermudan swaption pricing
- Console.WriteLine("Payer bermudan swaption "
- + "struck at {0:0.00000 %} (OTM)",
- fixedOtmRate);
-
- Swaption otmBermudanSwaption = new Swaption(otmSwap, bermudanExercise);
+ class BermudanSwaption
+ {
+
+ //Number of swaptions to be calibrated to...
+ const int NumRows = 5;
+ const int NumCols = 5;
+
+ static readonly int[] SwapLenghts = { 1, 2, 3, 4, 5 };
+ static readonly double[] SwaptionVols =
+ {
+ 0.1490, 0.1340, 0.1228, 0.1189, 0.1148,
+ 0.1290, 0.1201, 0.1146, 0.1108, 0.1040,
+ 0.1149, 0.1112, 0.1070, 0.1010, 0.0957,
+ 0.1047, 0.1021, 0.0980, 0.0951, 0.1270,
+ 0.1000, 0.0950, 0.0900, 0.1230, 0.1160
+ };
+
+ static void CalibrateModel(ShortRateModel model,
+ List helpers)
+ {
+ if (model == null)
+ throw new ArgumentNullException("model");
+ var om = new LevenbergMarquardt();
+ model.calibrate(helpers, om,
+ new EndCriteria(400, 100, 1.0e-8, 1.0e-8, 1.0e-8), new Constraint(),
+ new List());
+
+ // Output the implied Black volatilities
+ for (int i = 0; i < NumRows; i++)
+ {
+ int j = NumCols - i - 1; // 1x5, 2x4, 3x3, 4x2, 5x1
+ int k = i * NumCols + j;
+ double npv = helpers[i].modelValue();
+ double implied = helpers[i].impliedVolatility(npv, 1e-4,
+ 1000, 0.05, 0.50);
+ double diff = implied - SwaptionVols[k];
+ Console.WriteLine("{0}x{1}: model {2:0.00000 %}, market {3:0.00000 %}, diff {4:0.00000 %} ",
+ i + 1, SwapLenghts[j], implied, SwaptionVols[k], diff);
+ }
+ }
+
+ static void Main(string[] args)
+ {
+
+ DateTime timer = DateTime.Now;
+
+ Date todaysDate = new Date(15, 2, 2002);
+ Calendar calendar = new TARGET();
+ Date settlementDate = new Date(19, 2, 2002);
+ Settings.setEvaluationDate(todaysDate);
+
+ // flat yield term structure impling 1x5 swap at 5%
+ Quote flatRate = new SimpleQuote(0.04875825);
+ Handle rhTermStructure = new Handle(
+ new FlatForward(settlementDate, new Handle(flatRate),
+ new Actual365Fixed()));
+
+ // Define the ATM/OTM/ITM swaps
+ Frequency fixedLegFrequency = Frequency.Annual;
+ BusinessDayConvention fixedLegConvention = BusinessDayConvention.Unadjusted;
+ BusinessDayConvention floatingLegConvention = BusinessDayConvention.ModifiedFollowing;
+ DayCounter fixedLegDayCounter = new Thirty360(Thirty360.Thirty360Convention.European);
+ Frequency floatingLegFrequency = Frequency.Semiannual;
+ VanillaSwap.Type type = VanillaSwap.Type.Payer;
+ double dummyFixedRate = 0.03;
+ IborIndex indexSixMonths = new Euribor6M(rhTermStructure);
+
+ Date startDate = calendar.advance(settlementDate, 1, TimeUnit.Years,
+ floatingLegConvention);
+ Date maturity = calendar.advance(startDate, 5, TimeUnit.Years,
+ floatingLegConvention);
+ Schedule fixedSchedule = new Schedule(startDate, maturity, new Period(fixedLegFrequency),
+ calendar, fixedLegConvention, fixedLegConvention,
+ DateGeneration.Rule.Forward, false);
+ Schedule floatSchedule = new Schedule(startDate, maturity, new Period(floatingLegFrequency),
+ calendar, floatingLegConvention, floatingLegConvention,
+ DateGeneration.Rule.Forward, false);
+
+ VanillaSwap swap = new VanillaSwap(
+ type, 1000.0,
+ fixedSchedule, dummyFixedRate, fixedLegDayCounter,
+ floatSchedule, indexSixMonths, 0.0,
+ indexSixMonths.dayCounter());
+ swap.setPricingEngine(new DiscountingSwapEngine(rhTermStructure));
+ double fixedAtmRate = swap.fairRate();
+ double fixedOtmRate = fixedAtmRate * 1.2;
+ double fixedItmRate = fixedAtmRate * 0.8;
+
+ VanillaSwap atmSwap = new VanillaSwap(
+ type, 1000.0,
+ fixedSchedule, fixedAtmRate, fixedLegDayCounter,
+ floatSchedule, indexSixMonths, 0.0,
+ indexSixMonths.dayCounter());
+ VanillaSwap otmSwap = new VanillaSwap(
+ type, 1000.0,
+ fixedSchedule, fixedOtmRate, fixedLegDayCounter,
+ floatSchedule, indexSixMonths, 0.0,
+ indexSixMonths.dayCounter());
+ VanillaSwap itmSwap = new VanillaSwap(
+ type, 1000.0,
+ fixedSchedule, fixedItmRate, fixedLegDayCounter,
+ floatSchedule, indexSixMonths, 0.0,
+ indexSixMonths.dayCounter());
+
+ // defining the swaptions to be used in model calibration
+ List swaptionMaturities = new List