Add Base Currency column to scenario reports#335
Open
mattmenefee wants to merge 2 commits intoOpenSourceRisk:masterfrom
Open
Add Base Currency column to scenario reports#335mattmenefee wants to merge 2 commits intoOpenSourceRisk:masterfrom
mattmenefee wants to merge 2 commits intoOpenSourceRisk:masterfrom
Conversation
Scenario reports previously had no indication of which currency the NPV values were denominated in, making it difficult to interpret results in multi-currency portfolios. - Add baseCurrency parameter to writeScenarioReport() with QL_REQUIRE validation, and insert a "Base Currency" column after "Base NPV" in the scenario report output - Update all three callers (pricinganalytic, crifanalytic, xvaenginecg) to pass baseCurrency from simMarketData, using a single hoisted variable for consistency - Add unit test verifying column structure, data values, and currency pass-through with both EUR and USD - Update comparison_config.json with Base Currency column settings using null tolerances for exact string matching - Update all expected output CSV files to include the new column
Author
|
@alexchow-acadia here are the changes that I promised a few months ago! |
The earlier commit (b40e463) missed three files that still imported and used nose as the test runner. Replace nose with pytest in: - Examples/ORE-API/run_examples_testsuite.py - Examples/ORE-API/run_json_testsuite.py - ORE-SWIG/test/OREAnalyticsTestSuite.py Also remove the collections.Callable compatibility hack that was only needed for nose on Python 3.10+.
Author
Additional change: Complete nose → pytest migrationThe latest commit (
These now use @pcaspers — do these nose-related fixes already exist upstream? Want to make sure we're not duplicating effort. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
baseCurrencyparameter toReportWriter::writeScenarioReport()and update all three callers (pricinganalytic,crifanalytic,xvaenginecg) to pass the simulation base currencycomparison_config.jsonwith "Base Currency" column settings (null tolerances for exact string matching)Motivation
Scenario reports previously had no indication of which currency the NPV values were denominated in. In multi-currency portfolios, this made it difficult to interpret the Base NPV, Scenario NPV, and Difference columns without cross-referencing the simulation configuration.
Test plan
orea-test-suitepasses (includes newtestWriteScenarioReportBaseCurrency)ctestsuite passes