Changelog posts


Release 2.2.0

This major release includes exciting updates and improvements across all parts of Xplain:

New features

  1. Entity Level NAV: Introduces support for managing NAV at the legal entity level
  2. Overlay Contextual Market Data: View relevant Market Data in context of Overlay tasks for IR_INDEX & INFLATION
  3. Highlighted Column Groups: Configurable view column groups can be highlighted with color/border
  4. All Market Data Tab (MD XM): All Market Data is visible under the ALL tab in preliminary tasks
  5. Preliminary Clearing—View All Data: Option to view both relevant and non‑relevant Market Data for Preliminary MD clearing
  6. XM Outcome API: MD/VD Exception Management outcomes are available via API
  7. CSV Export for Dashboards: Export VD & MD exceptions dashboard data to CSV
  8. Client‑Side Task Results Grid: task-results-grid moved to a client‑side grid
  9. Performance—Org Hierarchy: Company/Entity/Portfolio performance improvements (imports/usability)
  10. Back Navigation to Task: From a dashboard → trade navigation, Back returns the user to the originating task

Improvements

  • Auto‑refresh Lock Monitor: Lock monitor page now refreshes automatically as locks change
  • Resolution Scope Removal: Removed the Overall/Individual resolution scope selector in MD & VD XM tasks
  • FX Collar Import Validation: Put strike must be equal to or lower than the Call strike
  • VD Dashboard NULL Tests: Only NULL tests are set up to run on P1 for Valuation Data Dashboard
  • Exception Settings Optimization: Faster calculation of applicable settings for legal entities
  • Curve Config Optimization: Improved performance for curve config IDs by marked data
  • Dedicated Checkbox Column: Checkboxes are their own column and append on column click
  • Dashboard Toggle Enhancement: Old dashboards toggle now applies to attached tasks as well
  • Break Test Filtering: Filter and sort on Break Test values within MD & VD XM tasks
  • Cashflow Export: Cashflow exports use on‑screen display formatting
  • Portfolio Settings Stream: CompanyPortfolioSettingsResolver.settingsStream performance optimised
  • Preliminary MD XM Visibility: In sub‑streams, data from all other providers is visible
  • Task Grid “Filter by”: Added Filter by action to MD/VD XM task‑clearing grid
  • Workflow Auto‑assignment: Engine can automatically assign underlying tasks
  • Results Sorting: Backend sorting by ExternalTradeID / Trade Type in Calculation Results
  • Date Labels: “Curve / Valuation Date” renamed to “Curve Date” and “Valuation Date” respectively
  • MD Dashboard Outputs: Improved outputs for MD dashboard list and tasks
  • Relevant Data Column: Dashboard list shows whether Relevant data only was applied
  • Terminology: “Relevant portfolios only” renamed to “Relevant market data only”
  • Test Updates: Updated tests after resolution scope removal and cleanup
  • Grid Sorting/Filtering: Enable sorting and filtering on all MD/VD task‑clearing grid columns
  • Button Counts: Always show counts on buttons for filtered/selected rows
  • Horizontal Scrolling: Task‑clearing grids support horizontal scroll and drag
  • Org List Counts: Counts added to company/entity/portfolio list window
  • Bulk Non‑MTM Upload: NonMtmPortfolioUploadService supports bulk like PortfolioUploadService
  • DKK3M Nodes: Added new node types to DKK3M curve
  • Dashboard Grid Simplification: Removed expand/collapse from dashboard grid
  • Stable Stats Window: Stats window size is no longer dynamic in XM tasks
  • Smoother View Switching: Clear existing FE data while reloading on view switch
  • Preferences Terminology: “Discounting Settings per Trade Type” renamed to “Index Mapping Rules for Discounting”
  • Reset Break Test Forms: Break test definition forms reset properly
  • Faster Task Navigation: Optimised navigation to a trade from a task

Resolved Issues

  • Inflation Conventions: Use One/One instead of 1/1 to improve CSV export
  • Offshore OIS References: OISOISXCCY nodes now reference Offshore OIS index correctly
  • Dashboard Status Reversion: Status returns to In‑progress when tasks are re‑run
  • Reactive Filtering: Surrounding tables update immediately after main table filtering
  • Open Multiple Tasks: Multiple tasks can be opened without header‑too‑large errors
  • Tasks View Filterable: XM tasks view supports filtering
  • CLP Accrual Consistency: CLP accrual rate calculations align with accrued method
  • Process Completion Marking: Dashboard marks completed on top‑level ProcessDoneEvent
  • Preliminary Phase Completion: MD XM phase set to Completed when no preliminary breaks
  • Dynamic Columns Sorting: Sorting/filtering works on dynamic ExternalId/Custom Field columns
  • Audit Log Dates: Correct date formatting when count column has a value
  • Large Dashboard Handling: Prevent Mongo >16Mb document rejections for large MD dashboards
  • Task Definition Optionality: Not all fields required in task‑definition grid table (ZOHO 231)
  • Permissions Enforcement: Removing Dashboard Admin prevents Exception Management settings updates
  • Projection Curve Display: Correct projection curve shown in calibrated curve configuration
  • Onboarding UI: Removed Collapse/Expand all button
  • NAV Table Refresh: NAV table refreshes on anchor date change
  • Back Navigation from VD Tasks: Navigation back to dashboard restored from VD tasks
  • Portfolio Date Filters: Date filters work in Portfolio Trade List
  • VDG Values Count: Values count on VDG list reflects settings
  • Tree‑select Isolation: Tree‑select only uses its own dropdown values
  • VD Inside VDG: View Valuation Data within a VDG when trade‑level NAV data present
  • Back Navigation from Trade: Back works after navigating from a dashboard for all trade types

Data migration

  • v2.02.0_01 Create database views supporting the new Entity Level NAV feature. These are recreated on every launch.
  • v2.02.0_02 Add new index to ipvDataValue
  • v2.02.0_03 Add new index to companyLegalEntityNav (new collection)
  • v2.02.0_04 Add new index to nonRequiredProviderData (new collection)
  • v2.02.0_05 Update all records in exceptionManagementSettings to set default NAV level to TRADE_LEVEL
  • v2.02.0_06 Add new vdkPrefix property to all records in companyLegalEntity
  • v2.02.0_07 Add new index to portfolioItem to replace existing valuationDataKey index

All changes

SXSD-6930 Entity Level NAV
SXSD-7815 See relevant MD in context to Overlay tasks to facilitate XM process for IR_INDEX & INFLATION
SXSD-9668 Highlight configurable view column groups with colour/border
SXSD-9737 ALL Market Data should be visible under the ALL tab in MD XM preliminary tasks
SXSD-9793 View All Market Data (Relevant + Non-Relevant) for Preliminary MD Clearing
SXSD-9833 MD/VD XM Make outcome available as an API
SXSD-9868 ZOHO 314: Ability to export VD & MD exceptions dashboard data to csv
SXSD-9998 Convert task-results-grid to a client side grid
SXSD-10094 Company/Entity/Portfolio related performance improvements (imports/usability)
SXSD-10214 Zoho #325: When navigating to a trade from a dashboard the back button should take a user back to the task
SXSD-7796 Make lock monitor page refresh automatically as locks change
SXSD-8112 Remove the “Resolution Scope” (Overall/Individual) selector control from the resolution UI in MD & VD XM tasks.
SXSD-9204 Extension: FXCollar Imports The Put strike should be equal to or lower than the Call strike
SXSD-9518 Only set up NULL tests to be run on P1 for Valuation Data Dashboard
SXSD-9759 Optimisation for MdExceptionManagementSetupResolver.applicableSettingsForLegalEntityIds
SXSD-9760 Optimisation for CurveConfigurationValuationsResolver.curveConfigsIdsByMarkedData
SXSD-9787 Checkboxes should be their own column across xplain and append if clicking in the column
SXSD-9794 The toggle for showing / hiding old dashboards should also include the attached tasks
SXSD-9821 Be able to filter and sort on Break test values within MD & VD XM tasks
SXSD-9830 Cashflows should export the display
SXSD-9837 CompanyPortfolioSettingsResolver.settingsStream performance optimisation
SXSD-9846 Regression: In a Preliminary MD XM sub-stream, I should be able to see data from all other providers
SXSD-9874 Add “Filter by” ag-grid action to MD VD XM task clearing grid
SXSD-9899 Introduce capability to the workflow engine to allow for automatically assigning underlying tasks
SXSD-9941 Add back end sorting by ExternalTradeID / Trade Type for Calculation Results
SXSD-9949 Rename “Curve / Valuation Date” for MD XM (+ Batch) and VD XM to “Curve Date” and “Valuation Date” respectively
SXSD-9987 Improve Outputs for MD Dashboard list and associated tasks
SXSD-9988 For EXCEPTION MNGT / MARKET DATA, add a column in the dashboard list stating if “Relevant data only” was applied
SXSD-9989 When creating a MD XM dashboard, rename “Relevant portfolios only” to “Relevant market data only”
SXSD-9994 Update tests after resolution scope removal and code cleanup
SXSD-10027 Enable sorting and filtering on all columns of the MD/VD Task Clearing Grid
SXSD-10030 Always show counts on buttons for filtered and selected rows
SXSD-10034 Add horizontal scrolling to XM task clearing grids as well as dragging
SXSD-10123 Add counts at the top of the company/entity/ portfolio list window
SXSD-10151 Update NonMtmPortfolioUploadService to work in bulk like PortfolioUploadService
SXSD-10153 Add new node types to DKK3M curve
SXSD-10182 Remove the expand / collapse from the Dashboard grid
SXSD-10183 The size of the stats window in XM tasks should not be dynamic
SXSD-10186 When switching view, it would make sense to remove the existing data from the FE while it’s re-loading
SXSD-10256 In Preferences / Valuations, rename “Discounting Settings per Trade Type” to “Index Mapping Rules for Discounting”
SXSD-10268 Break test definition forms should be reset
SXSD-10275 Optimise navigation to trade from task
SXSD-8130 Inflation conventions should be defined using One/One instead of 1/1 for better CSV export
SXSD-9036 OISOISXCCY nodes should reference the Offshore OIS index and not the Onshore index
SXSD-9564 The dashboard status should revert to In-progress if a user re-runs tasks
SXSD-9630 When the user filters by something, surrounding tables should update as soon as the main table updates.
SXSD-9738 It should be possible to open multiple tasks (Currently leads to a 400 Bad request - header too large)
SXSD-9786 XM tasks view should be filterable
SXSD-9791 CLP accrual rate calculations should be consistent with the way we calculate accrued
SXSD-9796 Dashboard should be marked completed when ProcessDoneEvent is received for top-level process
SXSD-9894 In a MD XM, if there is no preliminary breaks, the phase status should be set to “COMPLETED” and not “NOT STARTED”
SXSD-9943 Sorting/Filtering should work on dynamic ExternalId/Custom Field columns in calculation result table
SXSD-10015 Audit log date not formatted correctly when count column has value
SXSD-10059 Large MD dashboard creates Mongo document > 16Mb which gets rejected
SXSD-10124 ZOHO 231: It should be possible to not have to select a value in every field of the task-definition-grid-table
SXSD-10134 Removing Dashboard Admin permission should prevent update of Exception Management settings
SXSD-10209 We should show the correct projection curve in a calibrated curve configuration
SXSD-10224 Remove the Collapse/expand all button on the onboarding page
SXSD-10247 Refresh NAV table data on anchor date change
SXSD-10257 Fix the regression that allows navigation back to the dashboard from VD Tasks
SXSD-10290 Date filters should work in the Portfolio Trade List
SXSD-10319 Values count on VDG list should reflect settings
SXSD-10395 The tree-select component should only consider values from it’s own dropdown
SXSD-10435 It should be possible to view Valuation Data within a VDG when NAV data is present on Trade level
SXSD-10438 Clicking back on a trade after navigating from a dashboard should work for all trade types

Release 2.1.1

This patch release offers performance improvements for large datasets and resolves several issues related to onboarding dashboards and logs.

Improvements

  • Enhanced Import Performance: Significantly improved speed when importing large numbers of trades across many portfolios
  • Faster Duplicate Trade Processing: Optimized performance for replacing duplicate trades in large datasets
  • Improved Dashboard Navigation: XM dashboards now load immediately with faster refresh times
  • Seamless Portfolio Navigation: Enhanced performance when navigating through portfolio lists with many portfolios

Resolved Issues

  • Dashboard Creation: Fixed UI issue preventing creation of VD XM dashboards for large numbers of portfolios
  • Deal Level Overrides: Onboarding dashboards now work correctly with trade level provider mappings
  • Report Display: Onboarding dashboard frontend now displays column view of break tests similar to other dashboards
  • Expanding Logs: Fixed ability to expand logs in the Show Logs window (regression issue)
  • Larger Dashboards: Resolved issue where large MD dashboards created MongoDB documents exceeding 16MB limit
  • Transaction Handling: Fixed portfolio import transaction errors preventing successful completion
  • Null Value Processing: Resolved ClassCastException when processing null values in workflow entities
  • Avoid Timeouts: Fixed company import timeout issues when operations exceed configured limits

Data migration

The data model will be automatically migrated as follows:

  • Index added to portfolio collection to improve performance for large datasets.

All changes

SXSD-10097 It should be fast to import 140k trades split across 10,000 portfolios
SXSD-10098 Importing replace duplicate trades for 140k trades should be fast
SXSD-10125 When navigating to XM dashboard, we should go to the page immediately and it should refresh faster
SXSD-10137 Seamlessly navigate to the portfolio list with 8500 portfolios
SXSD-10100 ZOHO #323 It should be possible to create a VD XM dashboard for 10,000 portfolios via the Tree menu item
SXSD-10145 Onboarding dashboards should work with Provider Mapping Rules
SXSD-10146 Onboarding dashboard FE should be the column view of break tests / configurable grid client side
SXSD-10198 It should be possible to expand the logs in the Show Logs window (Regression pointed out by BNY)
SXSD-10059 Large MD dashboard creates Mongo document > 16Mb which gets rejected
SXSD-10061 SENTRY: Portfolio Import: MongoCommandException: Command failed with error 251 (NoSuchTransaction): ‘Transaction with { txnNumber: 18496 } has been aborted.’”
SXSD-10122 SENTRY: ClassCastException: Value ‘null’ is not assignable to class com.solum.xplain.workflow.entity.StepInstance
SXSD-10129 SENTRY: Company Import: MongoCommandException: Command failed with error 290 (TransactionExceededLifetimeLimitSeconds): ‘PlanExecutor error during aggregation :: caused by :: operation was interrupted because the transaction exceeded the configured

Release 2.1.0

This major release includes exciting updates and improvements across all parts of Xplain:

New features

  1. Forward Rate Agreements (FRA): Added support for FRA as a new product type for enhanced trading capabilities
  2. Portfolio-Driven Market Data XM: Market Data exception management now works directly with your portfolios for better integration
  3. Redesigned Action Menu: Streamlined exception management interface for easier navigation
  4. Separated Workflows: Split Market Data and Valuation Data exception management into distinct workflows for improved user experience
  5. Enhanced TRS Management: Separated Total Return Swap and Market Data exception management for better specialization
  6. Interactive Charts: Added visual distribution charts for Market Data exception management results

Improvements

  • Enhanced Data Validation: Added zero value break testing for improved data quality checks
  • Better Organization: Companies, entities, and portfolios now appear in alphabetical order in Valuation Data Dashboard pricing slots
  • Consistent Precision: Calibration results now display consistently to 5 decimal places across all views
  • Flexible Team Management: Global Approval and Resolution Teams now work as default teams with the ability to add custom teams as needed
  • Improved Session Management: System requests no longer interfere with user session timeouts
  • Reset Functionality: Added ability to reset applied approvals for both Market Data and Valuation Data exception management
  • Enhanced Override System: Completely redesigned Valuation Data override functionality for better usability
  • Better Column Display: Improved Break Test Type column presentation in Market Data results
  • Dashboard Toggle: Added option to view either recent dashboards only or all dashboards (Market Data, Valuation Data, and Batch)
  • Improved Visual Cues: Break test column groups now use color coding only where relevant in task-clearing views
  • Currency Pair Display: Cross-currency trades now clearly show the underlying FX rate currency pairs
  • Performance Optimization: Improved system performance for company portfolio settings

Resolved Issues

  • System Stability: Resolved logging issues that could cause excessive system messages
  • Import Defaults: FX Options and FX Collars now correctly default Premium Payment Date to Trade Date during import
  • Dashboard Completion: Valuation Data exception management dashboards now complete properly even when no data providers are configured
  • Translation Updates: Added missing translations for TRS trade date columns and undefined data sources
  • Configuration Dropdowns: Credit index tranche override dropdown now correctly shows Sectors in curve configuration
  • Data Cleanup: Deleting Net Currency Simulation results now properly removes associated PV calculations
  • Lock Management: System no longer retains outdated lock information beyond 24 hours
  • Column Population: Custom trade columns for FX Swaps and Collars now only populate for relevant products
  • Resolution Access: Resolution field is now properly accessible in Market Data Dashboard for individual scope
  • Portfolio Counts: Archived portfolios are now correctly excluded from company portfolio counts
  • Error Handling: Fixed system errors related to missing data properties
  • Filter Functionality: Added ability to filter TRS Valuation Results by underlying instruments
  • Instrument Types: Market Data tasks now properly display only Interest Rate instrument types in the “Instrument type” column
  • Archive Management: Archiving a company now properly marks all underlying portfolio trades as archived
  • Provider Mapping: Valuation Data exception management dashboards now complete correctly when providers aren’t mapped to specific trades
  • Navigation: “Back to dashboard” button now works correctly on Valuation Data exception management Portfolio results
  • Task Filtering: Exception management task views now support proper filtering
  • Service Dependencies: Resolved system injection errors for trade swaption services
  • Process Completion: Dashboards now correctly mark as completed when the main process finishes

Data migration

  • v2.01.0_01 Remove historic cached lock records from Hazelcast: LOCK_STATE cache
  • v2.01.0_02 Update all portfolioItems and portfolioItemEntity records where the corresponding portfolio is marked as archived. If there are a large number of archived portfolios containing a large number of trades then this migration may exceed the maximum size of a transaction. In this case the change can be skipped by inserting a record in mongockChangeLog.

All changes

SXSD-8381 ZOHO 246: Adding FRA as a product type
SXSD-8955 ZOHO 258: Market Data XM driven by Portfolio valuations
SXSD-8722 Redesign of the XM Action menu
SXSD-9372 Split Market Data XM and Valuation Data XM for improved user experience
SXSD-9591 Splitting TRS & MD XM
SXSD-9646 Interactive Distribution Charts for MD XM
SXSD-9590 ZOHO 297: Zero check break test
SXSD-9634 ZOHO 298: Sort company, entity, portfolio in alphabetical order within Valuation Data Dashboard pricing slots
SXSD-8326 Inconsistent display of calibration results - to be aligned to 5DP
SXSD-9401 The Global Approval Team / Global Resolution Team should behave as a default global teams with the ability to append additional bespoke teams in the table
SXSD-9451 Exclude server-sent event requests from updating session timeout
SXSD-9549 I should be able to “RESET” applied approvals for both MD XM and VD XM
SXSD-9571 VD override revamp
SXSD-9575 MD XM Results - Break Test Type Column Adjustment
SXSD-9641 Add a toggle to show recent dashboards or all dashboards (MD+VD+Batch)
SXSD-9670 Only colour the Break test column group rows in MD & VD task-clearing
SXSD-9826 Display the underlying FX Rate ccy pair for Xccy Trades
SXSD-9837 CompanyPortfolioSettingsResolver.settingsStream performance optimisation
SXSD-9788 ZOHO 308: Unexpected RecordDeserializationException should not cause log bombing
SXSD-8324 For FXOPT & FXCOLLARS, when importing, Premium Payment Date should default to the Trade Date and not the End Date
SXSD-8450 VD XM dashboard should complete if no VD providers are mapped
SXSD-8561 Translations should be added for TRS column.tradeDate & dataSource.undefined
SXSD-9511 The credit index tranche override dropdown should be for Sectors in the curve configuration
SXSD-9514 When deleting a Net Ccy Simulation result, the associated PV calculations should be deleted too
SXSD-9515 Current shared exclusive locks should not include information which is more than 24h old
SXSD-9533 Fields within the Custom Trade columns & columns for FX Swaps/ Collars (nr Ccy) should not be populated for non-relevant products
SXSD-9566 Resolution Field should be active in Market Data Dashboard for Individual Scope
SXSD-9588 Company portfolio count should not include archived portfolios
SXSD-9628 Cannot read properties of null (reading ‘heldCount’)
SXSD-9629 Should be able to filter by underlying in TRS Valuation Results
SXSD-9637 For MD tasks, the “Instrument type” column should only comprise IR instrument types
SXSD-9658 Archiving a company should mark the underlying portfolio items (trades) as portfolio archived
SXSD-9695 VD XM dashboard should complete if no providers are mapped in VD Dashboards to 1 or more trades
SXSD-9740 ‘Back to dashboard’ button should work as expected on VDXM Portfolio results
SXSD-9786 XM tasks view should be filterable
SXSD-9559 [Sentry] NullInjectorError: R3InjectorError(t)[InjectionToken TradeSwaptionService -> InjectionToken TradeSwaptionService -> InjectionToken TradeSwaptionService -> InjectionToken TradeSwaptionService -> InjectionToken TradeSwaptionService]:
SXSD-9796 Dashboard should be marked completed when ProcessDoneEvent is received for top-level process

Release 2.0.0

This major release includes exciting updates and improvements across all parts of Xplain:

New features

  1. Enhanced Calculation Views: Added underlying column details to Compared Calculation & client PV comparison pages
  2. New Currency Support: Added Israeli Shekel (ILS) and South Korean Won (KRW) overnight index swap curves and conventions
  3. Streamlined Market Data Workflow: Improved data management and processing
  4. Faster Performance: Enhanced curve calibration and valuation speed
  5. Better Task Management: Improved user experience for clearing tasks in Market Data and Valuation workflows
  6. Simplified Curve Generation: Removed technical requirements for INDEX_BASIS curves in hybrid curve creation
  7. Extended Currency Support: Added delivery dates and tenors for Canadian Dollar 3M, Australian Dollar 3M, and New Zealand Dollar 3M futures
  8. New Trading Instruments:
    • FX Collar trades
    • FX Swap trades
  9. Enhanced User Interface: Added helpful tooltips for form fields
  10. Fresh Design: Complete Xplain 2.0 visual rebrand

Improvements

  • Clearer Column Names: Renamed INF01 output column in PNL Explain results to CS01/INF01 for better clarity
  • Smarter Data Management: When you delete PNL Explain results, associated PV calculations are automatically removed
  • Better Number Display: Removed percentage formatting for par rates in calculation results and valuation data
  • Enhanced Portfolio Management: You can now delete Net Exposure calculations and their underlying valuations
  • Improved FX Options: FX Option amounts are no longer restricted by Trade Currency settings
  • Better Currency Defaults: Changed default currency setting to Trade Currency instead of Reporting Currency
  • Improved Selection: Clicking items in tasks now adds to your existing selections instead of replacing them
  • Clearer Button Labels: Apply and Submit buttons now always show counts for better clarity
  • Smarter Task Management: Refresh button now automatically assigns new items to the current user
  • Consistent Translations: Aligned timeline step translations across IPV and Market Data dashboards
  • Better Filtering: Added translations for Market Data resolution filters
  • Streamlined Data Sources: Removed fallback to preliminary data in Valuation workflows

Resolved Issues

  • Improved Schedule Handling: Fixed short initial period calculations to prevent duplicate accrual schedules
  • Better Performance: Resolved task reloading issues when scrolling
  • Enhanced Accuracy: Improved Chilean Peso calculations to match Bloomberg standards
  • Better Comments Display: Resolution and approval comments now always appear in individual scope view
  • Error Handling: Portfolio valuations continue working even when individual trades have configuration issues
  • Correct Time Display: Fixed option expiry time display in trade lists
  • Override Capability: You can now override valuations after successful dashboard runs
  • Date Calculations: Fixed expiry date adjustments in FX volatility surface displays
  • Curve Shifting: Properly apply shifts to Far Leg instead of Near Leg for FX Swap nodes
  • Delta Calculations: Bucketed Delta Forward now includes individual Delta Forwards for each underlying FX Forward
  • Currency Exposure: Fixed net currency exposure calculations when multiple trade types are selected
  • Cashflow Versioning: Resolved version conflicts in net currency cashflow calculations
  • Enhanced Tooltips: Rate information now displays correctly when hovering over curves
  • Consistent Interface: Standardized resolution translations across all dashboards
  • Better Task Details: Bid/Ask types and Market Data Group names now display clearly
  • Data Validation: Prevented incorrect currency curve configurations
  • Security Updates: Resolved security vulnerabilities
  • Workflow Logic: Improved overlay process handling and phase management
  • Error Resolution: Fixed various system errors and type conflicts

All changes

SXSD-8830 Market Data Workflow
SXSD-9028 Curve calibration performance enhancements
SXSD-8915 Valuation performance enhancements
SXSD-9339 MD & VD XM Clearing task UX improvements (v2.0.0)
SXSD-9409 Allow for Hybrid Curve generation - removing the requirement of INDEX_BASIS curves
SXSD-8650 ZOHO 266: Add the underlying Column to the Compared Calculation & compared against client PV pages
SXSD-9517 ZOHO 296: Add ILS & KRW OIS curves and conventions
SXSD-9108 Futures Delivery Dates + tenors for CAD 3M (3M), AUD 3M (90 days) and NZD 3M (90 days) need to be exposed in the U/I
SXSD-8848 New trade type: FX Collar
SXSD-8896 New trade type: FX Swap
SXSD-8831 Tooltips for form fields
SXSD-8967 Xplain 2.0 design rebranding
SXSD-8624 Rename INF01 output column in PNL Explain results to CS01/INF01
SXSD-8971 When deleting a PNL Explain result, the associated PV calculations should be deleted too
SXSD-8978 Remove %age formatting for par rate in calculation results and addional valuation data in task
SXSD-9026 Be able to delete Net Exposure calculations and the underlying valuations associated to that simulation
SXSD-9082 The FX Option Notional of an FXOPT should not be driven by the Trade Ccy in the FE
SXSD-9108 Futures Delivery Dates + tenors for CAD 3M (3M), AUD 3M (90 days) and NZD 3M (90 days) need to be exposed in the U/I
SXSD-9337 Change the default XM currency setting on startup to be TRADE_CCY instead of REPORTING_CCY
SXSD-9340 When a user clicks on a line within a task, this should append to existing selections
SXSD-9366 The apply button should always display a number & the SUBMIT button should always have a count
SXSD-9409 Allow for Hybrid Curve generation - removing the requirement of INDEX_BASIS curves
SXSD-9452 The refresh button inside a task should also assign the new items to that user
SXSD-9482 Align all timelineStep translations in IPV and MD Dashboards
SXSD-9500 Add translation for MD XM resolution filters
SXSD-9569 Remove the “fallback” to Preliminary data set in VD XM
SXSD-8596 ShortInitial stubConvention should correctly drop the first period if the period leads to duplicate accrual schedules
SXSD-8973 The task should not constantly reload after scrolling down to a certain point
SXSD-8977 CLP Accrual, Dirty PV should match Bloomberg (*)
SXSD-9073 The resolution comment and approval comment should always be shown when individual scope is chosen
SXSD-9124 Valuing a cap-floor trade with mis-configuration should still allow portfolio to value with errors (*)
SXSD-9151 Trade List: Option Expiry Time should show correctly
SXSD-9163 It should be possible to override valuations after a successful dashboard and be able to see the results
SXSD-9188 The Expiry Date should be adjusted when calculated for display purposes in the FX Vol surface
SXSD-9266 When shifting a curve with FX Swap Nodes in the Run valuation stage the shift should be applied to the Far Leg and not the Near Leg
SXSD-9273 The bucketed Delta Fwd should include the individual Delta Fwds for each underlying FX Fwd
SXSD-9284 Net currency exposure bucketing should be correct when multiple trade types are selected
SXSD-9349 Fix versioning issues when calculating the net ccy cashflows in a valuation result
SXSD-9353 The rate should be displayed when hovering over the curve in PV Calculation result
SXSD-9382 The Resolution translations for MD Dashboards should be consistent with VD
SXSD-9411 Display the Bid/Ask type in the MD Tasks
SXSD-9425 The Market Data Group name should be displayed at the task level
SXSD-9433 AED-FIXED-1Y-EIBOR-3M nodes should not be permitted in the AUD AONIA curve (*)
SXSD-9443 Resolve CVE-2024-31141 in kafka-clients-3.6.2.jar
SXSD-9570 Remove checkboxes (ability to restart Overlay I) for Overlay I if there are Overlay II break tests
SXSD-9576 If no overlay 2 break tests are enabled, phase 2 should not run
SXSD-9119 [Sentry] IllegalStateException: Unexpected product type: LOAN_NOTE
SXSD-9261 [Sentry] ClassCastException: class com.solum.xplain.generic.type.product.GenericProductType cannot be cast to class com.solum….
SXSD-9264 [Sentry] TypeError: Cannot read properties of undefined (reading ‘name’)

Release 1.11.3

This patch release resolves issues with z-score tests, valuations of matured credit trades, and display of dashboard results.

Changed items marked with (*) will impact the valuations of products within Xplain.

Resolved Issues

  • Matured credit trades now always have a clean PV and accrued value of zero. (*)
  • Z-score tests now function correctly.
  • A problem where dashboard results included portfolios that had no applicable trades has been resolved.
  • Fixed a display error where dashboard result data was missing from All XM Results tab.
  • A problem where filtering was not applied to the valuation metrics tables has been resolved.

All changes

SXSD-8446 Only portfolios relevant to a given VD XM dashboard should be shown on results
SXSD-8567 Matured credit trades should have a Clean PV and accrued value of zero (*)
SXSD-8568 Z-score break test is no longer working
SXSD-8595 All XM Results tab shows ERR
SXSD-8616 Regression: Filtered trade table should ensure filtered cashflow results

Release 1.11.2

This patch release resolves issues with TRS calculation results display, CLP/COP curve calibration and Hazelcast configuration in non-cloud environments.

Improvements

  • An index has been added to speed up queries for showing the dashboard status that are run repeatedly.

Resolved Issues

  • CLP/COP curves now calibrate with smart initial stub convention in circumstances where they previously did not.
  • TRS valuation results now display correctly when calculating multiple trades.
  • A Hazelcast serialization error when acquiring locks whilst running with external Hazelcast configuration has been resolved.

All changes

SXSD-8492 CLP/ COP curves should calibrate with the new stubConvention
SXSD-8449 Apply indexes for wfStepInstance queries showing as > 50ms
SXSD-8491 Display Error in Trade Summary when calculating all trades on TRS Valuation Results Page
SXSD-8544 Hazelcast Serialization error

Release 1.11.1

This release adds some user-requested features but primarily focuses on improving the user experience and performance of the Valuation Data Dashboard.

Please note, IMM-FRA MDK definitions should be re-imported with updated “InstrumentType”: “ImmForwardRateAgreement” -> “IMMForwardRateAgreement”.

The data model will be automatically migrated as follows. Please note there is no downgrade path for this migration:

v1.11.1_01 Add index to fixing: reference_archivedAt_date
v1.11.1_02 Add TTL “TTL_modifiedAt” indexes to workflow collections wfStepInstance and wfProcessExecution
v1.11.1_03 Drop index from wfProcessExecution collection if exists: “processId_parentBusinessKey_currentState.vdg.entityId_currentState.trade.productGroup”
v1.11.1_04 Drop index from wfProcessExecution collection if exists: “processId_parentBusinessKey_context.vdg.entityId_context.trade.productGroup”. Add index to wfProcessExecution: “processId_rootBusinessKey_phase_context.vdg.entityId_context.trade.productGroup”
v1.11.1_05 All records in marketDataKey and marketDataKeyEntity with name “HUF_FIXED_3M_BUBOR_3M” -> rename to “HUF-FIXED-3M-BUBOR-3M”.

Note that if there are any existing market data keys for HUF-FIXED with hyphens instead of underscores, they should be manually removed prior to the migration.

Changed items marked with (*) will impact the valuations of products within Xplain.

New features

  • Credit trades now use market standard accrued and clean price calculations. (*)
  • The publication offset days for CHF SARON has been set to 1. (*)
  • You can now filter on more Trade Details columns, and on P(x) PV(t), P(x) PV (t-1), in the Task Views.

Improvements

  • The information presented on the valuation data dashboard overview has been optimised for relevance.
  • It is now possible to rerun updated only in valuation dashboards.
  • The accrued calculation for TRS Overnight legs is now in line with Swaps. (*)
  • Valuation dashboards can now include Xplain-valued trades.
  • Par Rates now return blank fields in the export when a trade is matured.
  • HUF_FIXED_3M_BUBOR_3M has been renamed to HUF-FIXED-3M-BUBOR-3M.
  • New views have been added to the valuation data dashboard results: “ALL XM RESULTS” and “ALL XPLAIN RESULTS”.
  • The item selection box in the Valuation Data Dashboard is no longer attached to the VDG Pricing Slot column.

Resolved Issues

  • Sorting in the Dashboards now works on all pages.
  • It is now possible to edit user-made view task configurations.
  • A problem where IMMForwardRateAgreements nodes did not calibrate has been resolved. (*)
  • It is now possible to manually add a custom FX Ref Security.
  • The allocation notional for FXOPT Ref Sec now applies to the FX Option Notional.
  • Par Rates for Inflation swaps now return a value in all cases. (*)
  • A problem where Greek scaling did not use trade currency for Delta and Vega has been resolved.

All changes

SXSD-7889 1.11.1 VD Dashboard User Experience improvements
SXSD-8278 1.11.1 Workflow Performance
SXSD-8236 The Valuation Data Dashboard page should only display important, relevant information
SXSD-8275 It should be possible to rerun updated only in valuation dashboards
SXSD-8413 The accrual calculation for TRS Overnight legs should be in line with Swaps (*)
SXSD-8014 Run VD XM with Xplain valuations
SXSD-8408 Par Rates should NOT return NaN in this field when a trade is matured. Should return a blank field in the export
SXSD-8336 HUF_FIXED_3M_BUBOR_3M should be renamed to HUF-FIXED-3M-BUBOR-3M
SXSD-8399 Add “ALL XM RESULTS” and “ALL XPLAIN RESULTS” view to the valuation data dashboard result
SXSD-8367 Revert to market standard accrued and clean price calculations for credit trades (*)
SXSD-8293 CHF SARON publication offset days should be 1 (*)
SXSD-8412 Add an additional “Column” for the Item Selection Box so it is not ‘attached’ to VDG Pricing Slot column
SXSD-8127 Ability to filter on more Trade Details columns in the Task Views
SXSD-8281 Filter values in the table in the P(x) PV(t), P(x) PV (t-1)
SXSD-6749 Sorting in the Dashboards should work on all pages
SXSD-8312 It should be possible to edit user made view task configurations
SXSD-8333 IMMForwardRateAgreements nodes should calibrate (*)
SXSD-8340 It should be possible to manually add a custom FX Ref Security
SXSD-8369 For FXOPT Ref Sec, the allocation notional should apply to the FX Option Notional
SXSD-8400 Par Rate for Inflation swaps should return a value in all cases (e.g. when rate = 0) (*)
SXSD-8440 When Currency Type = TRADE_CCY in VD XM, greek scaling should be done using Delta and Vega expressed in Trade Ccy

Release 1.11.0

This major release, applied to all environments, includes updates to all parts of Xplain:

Valuation Data Provider Mapping

  • Imports for:
    • Companies (Company definition + (Optional) SLA Deadline, Valuation Data Group, Market Data Group, Curve Configuration)
    • Entities (Entity Definition + (Optional) SLA Deadline, Valuation Data Group, Market Data Group, Curve Configuration)
    • Trade Override Provider and VDG mapping
    • Optional attributes for companies / entities will default to Xplain/ Company Settings if no Curve Configuration is defined + Reporting Ccy

Valuation Data Dashboard

  • Introduction of a bespoke workflow engine
  • User defined clearing grid views
  • Interactive Distribution Graphs
  • Additional Metrics showing task progress, Trades with breaks, Tests that have been applied
  • Dashboard Task Clearing screen layout improvements

Valuations

  • Addition of GB CPI LCH to Xplain
  • Addition of new XCCY conventions (FixedOvernight, OvernightOvernight, IborOvernight)*
  • ZOHO 186: Lenient .CSV parsing mode for imports
  • ZOHO 197: IMM FRAs DKK6M, NOK6M, NOK3M, SEK3M*
  • ZOHO 213: Addition of T0 Cfs (IA) columns to results
  • ZOHO 228: CDS accruals getting dropped a day before IMM date (for example on 19th Mar2024)*

Misc

  • Move all of the Settings pages in Xplain to be under a new Preferences Menu item

Data migration

  • All records in ipvDataGroup: add new property ‘allowAllCompanies’ set to false.
  • All records in ipvTaskDefinition: add new trade types to set in property ‘teams’.
  • Add indexes to instrumentResultOverlay and instrumentResultPreliminary: status_dashboardId_DEFAULT_SORT (overlay only), taskId_status_hasBreaks_DEFAULT_SORT
  • Replace index fixing.archivedAt_1 with archivedAt_recordDate_data_reference.
  • Add indexes to dealException and dealExceptionEntity.
  • Add indexes to wfProcessExecution, wfStepInstance and ipvTradeResultOverlay: wfProcessExecution: processId_businessKey, parentStepInstanceId_triggered, processId_parentBusinessKey_currentState.vdg.entityId_currentState.trade.productGroup wfStepInstance: processId_status_reportable_stepId, processId_businessKey_reportable, executionId_reportable ipvTradeResultOverlay: valuationDate_phase_trade.key

Improvements

  • Remove PV Pay/Receive leg for FXO
  • Export and show Option Type for FXO in the valuation results
  • Addition of GB CPI LCH to Xplain (*)
  • Triangulation currency should be shown in valuation results
  • Change the case of Rates & Credit Sectors in Task Granularity settings
  • The name automatically generated for MDK Offshore needs to be amended
  • Should allow to perform multiple same portfolio valuations at the same time
  • Add T-1 Greeks to the palette of available fields for task clearing views
  • Add custom fields and external identifiers to task clearing views
  • Update Hazelcast to 5.3.6 across cloud envs
  • Display the underlying when in Simplified View in Valuation Data Dashboards

Resolved Issues

  • ZOHO 236: DB Sort Memory Error on export of Market Data Exception Management Results
  • Error should not be duplicated in the error log in Xplain
  • SENTRY: Trade EUROIS_5Y pv is null
  • Fix OWASP vulnerabilities
  • Spurious locking errors should not be seen while running long imports in cloud environments
  • Only overrides belonging to the currently viewed break test should be shown in the overrides panel
  • The OVERRIDE VALUATION button should not be disabled when the checkbox is clicked
  • The options bar should work when inside fx volatility skew
  • Cannot invoke “org.springframework.security.core.Authentication.getPrincipal()” because “user” is null
  • Missing translation key: pnlExplainResultList.notification.calculationInProgress
  • Pnl calculations should not fail if individual trades fail
  • Allocation trades created at portfolio level should have restriction on the sign of the allocation notional that should always be positive
  • Previous Day Valuation Data Delta values not being used in XM
  • Trade Ccy should be harcoded to the single trade ccy where applicable
  • TradeCcy for a loan note should be harcoded to the single currency of the trade
  • When comparing PVs, a user should be able to compare the charts
  • Amend the Stub Convention to be Smart Initial for COP/CLP (*)
  • Cap/floor should show in calculation result export or UI

Items marked (*) affect valuations

All changes

SXSD-7983 I would like to be able to independently expand and collapse the task clearing table and the resolutions options panel
SXSD-7984 I should be able to select which VDKs to see in the table, either just the VDKs with Breaks or All of the VDKs, removing the requirement of all of the radio buttons on the top left of the screen
SXSD-7986 The new collapsable resolutions panel should be formed of 2 panels that are clearly separate from one another
SXSD-7987 The right panel should display the resolution options, and dropdowns that show me my Resolution Scope, resolution action, and comment, with buttons to action the resolution.
SXSD-7988 I should be able to see a greater level of statistics regarding the clearing process in the left-hand panel.
SXSD-8022 Add new Custom Rates [6/7/8/9]
SXSD-6242 Errors should not be duplicated in the error log in Xplain
SXSD-7777 Spurious locking errors should not be seen while running long imports
SXSD-7781 Only overrides belonging to the currently viewed break test should be shown in the overrides panel.
SXSD-7804 The OVERRIDE VALUATION Button should not be disabled when the checkbox is clicked
SXSD-7814 The options bar should work when inside fx volatility skew
SXSD-7857 The task clearing grid should still have some minimum widths
SXSD-7860 Pnl calculations should not fail if individual trades fail
SXSD-7921 Allocation trades created at portfolio level should have restriction on the sign of the allocation notional that should always be positive
SXSD-7937 Previous Day Valuation Data Delta values not being used in XM
SXSD-7950 Trade Ccy should be harcoded to the single trade ccy where applicable
SXSD-7952 TradeCcy for a loan note should be harcoded to the single currency of the trade
SXSD-7977 When comparing PVs, a user should be able to compare the charts
SXSD-7980 Amend the Stub Convention to be Smart Initial for COP/CLP
SXSD-8027 View config list should disappear immediately - save button enable on first change
SXSD-8033 Break test group should not be split
SXSD-8044 Cap/floor should show in calculation result export or UI
SXSD-6118 Triangulation currency should be shown in valuation results (FE)
SXSD-6443 Change the case of Rates, & Credit sectors in Task Granularity settings
SXSD-7236 Discounting settings clean-up
SXSD-7302 The Name automatically generated for MDK Offshore needs to be amended
SXSD-7608 Column sizes should automatically refresh
SXSD-7687 Add Dashboard date inside the task clearing window (MD+VD)
SXSD-7766 Should allow to perform multiple same portfolio valuations at the same time
SXSD-7845 Align BE API valuation code for caplet/swaptions/fxvol requirements resolving
SXSD-7846 Valuation results charts potentially showing incorrect curve points + missing curves
SXSD-7850 Zoho 228: CDS accruals getting dropped a day before IMM date (for example on 19th Mar2024)
SXSD-7885 Add XCCYIborOvernightSwap conventions and permissible values for EUR/CCY XCCY curves with EUR ESTR
SXSD-7886 Add XCCYOvernightOvernightSwap convention and permissible values for EUR/CCY XCCY curves with EUR ESTR
SXSD-7888 Add XCCYIborOvernightSwap convention and permissible values for USD/ZAR XCCY curves with USD SOFR
SXSD-7904 Update PV comparison to use significant figures (15sf)
SXSD-7906 Add a “Shared between companies” boolean field to VDG definitions (BE)
SXSD-7923 Remove PV Pay/Receive Leg for FXO
SXSD-7933 Addition of GB CPI LCH to Xplain
SXSD-7949 Add T-1 Greeks to the palette of available fields
SXSD-7967 Add custom fields, and external identifiers to task clearing views
SXSD-6774 User defined clearing grid views
SXSD-6775 Workflow engine (1.11)
SXSD-7284 Interactive Distribution Graphs
SXSD-7595 BNYM Continuous Improvement 1.11
SXSD-7674 Dashboard Task Clearing screen layout improvements
SXSD-7887 Addition of new XCCY conventions (FixedOvernight, OvernightOvernight, IborOvernight)
SXSD-7889 1.11 VD Dashboard User Experience improvements
SXSD-7890 ZOHO 211: Valuation Data Provider Mapping
SXSD-7891 Move all of the Settings pages in Xplain to be under a new Preferences Menu item

Release 1.10.3

This patch release fixes an issue blocking the exception management of zero month CDS nodes, and adds “Option Type” to calculation results.

Improvements

  • Option Type (CALL vs PUT) will now be shown in the trade valuation results UI and export.

Resolved Issues

  • 0M CDS nodes will now be able to be exception managed.

All changes

SXSD-7924 Export and show Option Type for FXO in the valuation results
SXSD-8007 0M Credit nodes should be able to be Exception Managed

Release 1.9.4

This patch release resolves an issue in loading market data providers where new versions could be created even if the provider tickers were not changed.

Resolved Issues

  • New versions will no longer be created due to incorrect change detection of BigDecimal ‘factor’ on MDK provider tickers

All changes

SXSD-7971 Loading MDK with same providers should not create new version

Release 1.10.1

This patch release resolves an issue in the valuation of FX Options and FX Forwards, where Par Rate (and Underlying Fx Rate in the case of FX Options) were reported using an FX Rate in the conventional order, irrespective of the trade underlying FX Rate (i.e., base/counter).

Resolved Issues

  • Par Rate and Underlying Fx Rate will now be reported in line with the trade underlying fx rate.

All changes

SXSD-7939 FXO/FXFWD par rate and fx spot should be reported in the trade underlying fx pair currency direction

Release 1.10.0

This major release, applied to all environments, includes updates to all parts of Xplain:

  1. An extension to the Managed Identifier Sources; and
  2. PnL Explain; and
  3. Addition of NAV Effective date for Onboarding Tests; and
  4. The introduction of Configurable Task Clearing Grids; and
  5. Custom Asset Position and Underlying; and
  6. Explicit FX Trade Currency; and
  7. TRS Valuations without Reporting Currency output; and
  8. Addition of permissible values to Credit Index to allow for CMBX; and
  9. An Option expiry report feature; and
  10. Ability to view and export FX vol surface in call/put delta terms besides in RR/BF Terms; and
  11. FX Vol interpolation using 1 delta or 3 delta or 5 delta pillar points; and
  12. FX vol skew view and export in call/put delta terms; and
  13. Export ZC/DF/Price Indices at EOM; and
  14. Add Market Rate rates to the EOM Price Index Export and export EOM DF/ZC from Valuation Results for curves; and
  15. MYR & MXN offshore curve to be added for offshore MYR swap valuation; and
  16. Remove the requirement of having data in a Valuation Data Group in Xplain valued portfolios when running XM.

Data migration

The data model will be automatically migrated as follows:

  • Rename curveStripping to strippingType (all records in globalValuationSettings, companyValuationSettings, companyLegalEntityValuationSettings)
  • Populate identifierSource with ALL external source IDs from all external identifiers (reads all records from portfolioItem, secMasterTradeReadEntity and nonMtmPortfolioItem, writes distinct values)
  • Update seasonality price indexes from e.g. GB CPI to GB-CPI (10 updates on records in inflationSeasonalitySettings)
  • Add explicit trade currency field to ALL trades in portfolioItemXXX and secMasterTradeXXX (large update: reads all FX trades, updates all trades both read and write entities)
  • Update FX discount currency order to EUR, GBP, AUD, NZD, USD, CAD, CHF, JPY overwriting all existing settings (all records in curveStrippingProductSettings)
  • Add custom attributes read permission to all roles (all records in role)
  • HARD DELETE “NOTIONAL” valuation data provider and values (1 record from dataProvider, all associated data from ipvDataValue)

Improvements

  • Add a new “Discount Ccy” column in the Trade Summary section to specify what the discount ccy is
  • The data providers and exception should be in alphabetical order in the curve configuration list summary
  • Add the option to select all Bid/Mid/Ask on the curve calibration page
  • Ensure 01 results are sorted by curve name in the export
  • Improvement to the Calibration warning when bilateral/cleared curves are not found
  • Add new “Spot01” tab in U/I in calculation results (METRICS window)
  • Add 20th November as holiday to BRBD calendar ongoing
  • Improve data display of the Onboarding information in trade panel
  • Inflation curves (cleared / non-cleared) should use the same seasonality adjustment
  • Move Protection and Option Position from security master to allocation trade
  • Add ITRAXX EUR XOVER Tranches
  • Refinement of TRS Calculation form
  • CSA Ccy, Discount Ccy and Trade Ccy should fall under the “Trade Summary” category in the calculation result window
  • Revised specs for FXOPT and FX FWD to allow any FX underlying and bespoke trade ccy
  • Add validation for FX Volatility skew deltas (duplicate/order) Note: FX volatilities should be determined for market standard FX Currency Pairs only (i.e. pecking order or lexicographical order, as applicable). For example, SGD/CHN should be used, not CNH/SGD

Resolved Issues

  • A user should not be able to expand a row in the logs with 0 items
  • Allow market data break test threshold of 0
  • Sentry Error - ClassCastException AuthenticationContext in currentUser
  • The values in curve shift should be visible for Bid/Mid/Ask data
  • We should have versioning option when importing correlation points
  • Add XccyIborOvernight permissible values in FE
  • XVA proxy kafka auth issue
  • Fix company/entity valuation settings CSA discounting flag
  • Market Data should refresh when changing Curve date, or anchor date
  • The CLP PV01 Should be the “correct” value
  • Address OWASP vulnerable JavaScript libraries
  • Address OWASP vulnerable Java libraries
  • I should be able to manually add and import 0M Credit Curve Nodes
  • The CSA Discount CCY selector should be linked to the Company/Entity Settings preference
  • The Curve shift functionality should work on FX Swap nodes
  • Custom fields should use “Custom Field.” prefix for column headers
  • Loss of network connectivity causes browser to hit 50% instantly retrying
  • It should be possible to manually add a Credit Index Tranche to Xplain through the UI
  • The values inside Instrument type should be the lower case versions
  • SecMaster external trade ids should be visible
  • Basic Custom field permission should be initialised for all roles.
  • Onboarding Break Test Threshold Not Displaying in List
  • API incorrectly exposes ProductType and other enums as object - should be string
  • Preliminary Market Data should be displayed correctly in Curve Configs
  • Automatically expand Comment when in individual resolution
  • Cashflow ccy should have distinct discount factors in the metrics cashflow table for Offshore vs Onshore trades or if CSA Ccy is applied
  • Opening column settings breaks row expansion
  • The calculation results should show the curve configuration, not the curve group
  • Non-numeric MD Break Tests without provideType should still show as broken
  • Tooltips should show the correct data
  • Importing FX Skew file with only 1 of two deltas specified should be allowed
  • Resolve the Type error when entering a task (valuation date)
  • The overall VD verification process doesn’t properly consider the selected IDs.
  • It should be possible to import FXO with base ccy CALL when paying base ccy
  • Export display should export all the decimal places (it now only exports whats seen)
  • Notional should be FX’d when REPORTING_CCY is chosen for dashboards
  • Narrow overlay stage to only keys relevant to curve configuration
  • Fix CVE-2024-22257

All changes

SXSD-6802 Managed Identifier Sources Extension 1
SXSD-7259 PnL Explain
SXSD-7280 Expanded Onboarding Provider Scope Extension
SXSD-7343 Configurable Task Clearing Grid
SXSD-7349 Custom Asset Position & Underlying Attributes
SXSD-7365 Explicit FX Trade Currency
SXSD-7366 Custom Trade Fields
SXSD-7369 Valuations without Reporting Currency output
SXSD-7370 Add permissible values to Credit Index to allow for CMBX
SXSD-7408 Option Expiry Report
SXSD-7066 ZOHO 183: Ability to view and export FX vol surface in call/put delta terms besides in RR/BF terms
SXSD-6397 ZOHO 136: FX Vol interpolation using 1 delta or 3 delta or 5 delta pillar points
SXSD-6398 ZOHO 137: FX vol skew view and export in call/put delta terms
SXSD-7305 ZOHO 199: Export ZC/DF/Price Indices at EOM
SXSD-7494 ZOHO 199: Add Market Rate rates to the EOM Price Index Export and export EOM DF/ZC from Valuation Results for curves
SXSD-7495 ZOHO 200: MYR & MXN offshore curve to be added for offshore MYR swap valuation
SXSD-7664 ZOHO 216: Remove the requirement of having data in a Valuation Data Group in Xplain valued portfolios when running XM
SXSD-7091 Add a new “Discount Ccy” column in the Trade Summary section to specify what the discount ccy is
SXSD-7123 The data providers and exception should be in alphabetical order in the curve configuration list summary
SXSD-7209 Add the option to select all Bid/Mid/Ask on the curve calibration page
SXSD-7358 Ensure 01 results are sorted by curve name in the export
SXSD-7410 Improvement to the Calibration warning when bilateral/cleared curves are not found
SXSD-7416 Add new “Spot01” tab in U/I in calculation results (METRICS window)
SXSD-7432 Add 20th November as holiday to BRBD calendar ongoing
SXSD-7472 Improve data display of the Onboarding information in trade panel
SXSD-7482 Inflation curves (cleared / non-cleared) should use the same seasonality adjustment
SXSD-7523 Move Protection and Option Position from security master to allocation trade
SXSD-7546 Add ITRAXX EUR XOVER Tranches
SXSD-7548 Refinement of TRS Calculation form
SXSD-7657 CSA Ccy, Discount Ccy and Trade Ccy should fall under the “Trade Summary” category in the calculation result window
SXSD-7734 Revised specs for FXOPT and FX FWD to allow any FX underlying and bespoke trade ccy
SXSD-7765 Add validation for FX Volatility skew deltas (duplicate/order)
SXSD-6696 A user should not be able to expand a row in the logs with 0 items
SXSD-7184 Overlay thresholds of 0 should not be sent as null
SXSD-7242 Sentry Error - ClassCastException AuthenticationContext in currentUser
SXSD-7244 The values in curve shift should be visible for Bid/Mid/Ask data
SXSD-7296 We should have versioning option when importing correlation points
SXSD-7341 Add XccyIborOvernight permissible values in FE
SXSD-7342 XVA proxy kafka auth issue
SXSD-7361 Fix company/entity valuation settings CSA discounting flag
SXSD-7417 Market Data should refresh when changing Curve date, or anchor date
SXSD-7457 The CLP PV01 Should be the “correct” value
SXSD-7465 Address OWASP vulnerable JavaScript libraries
SXSD-7466 Address OWASP vulnerable Java libraries
SXSD-7470 I should be able to manually add and import 0M Credit Curve Nodes
SXSD-7475 The CSA Discount CCY selector should be linked to the Company/Entity Settings preference
SXSD-7476 The Curve shift functionality should work on FX Swap nodes
SXSD-7501 Custom fields should use “Custom Field.” prefix for column headers
SXSD-7507 Loss of network connectivity causes browser to hit 50% instantly retrying
SXSD-7509 It should be possible to manually add a Credit Index Tranche to Xplain through the UI
SXSD-7520 The values inside Instrument type should be the lower case versions
SXSD-7530 SecMaster external trade ids should be visible
SXSD-7531 Basic Custom field permission should be initialised for all roles.
SXSD-7549 Onboarding Break Test Threshold Not Displaying in List (FE)
SXSD-7550 API incorrectly exposes ProductType and other enums as object - should be string
SXSD-7590 Preliminary Market Data should be displayed correctly in Curve Configs
SXSD-7592 Automatically expand Comment when in individual resolution
SXSD-7611 Trade INFLATION_TEST1 pv is null
SXSD-7627 Cashflow ccy should have distinct discount factors in the metrics cashflow table for Offshore vs Onshore trades or if CSA Ccy is applied
SXSD-7631 Opening column settings breaks row expansion
SXSD-7638 The calculation results should show the curve configuration, not the curve group
SXSD-7667 Non-numeric MD Break Tests without provideType should still show as broken
SXSD-7668 Tooltips should show the correct data
SXSD-7681 Importing FX Skew file with only 1 of two deltas specified should be allowed
SXSD-7695 Resolve the Type error when entering a task (valuation date)
SXSD-7706 The overall VD verification process doesn’t properly consider the selected IDs.
SXSD-7722 It should be possible to import FXO with base ccy CALL when paying base ccy
SXSD-7741 Export display should export all the decimal places (it now only exports whats seen)
SXSD-7755 Notional should be FX’d when REPORTING_CCY is chosen for dashboards
SXSD-7763 Narrow overlay stage to only keys relevant to curve configuration
SXSD-7842 Fix CVE-2024-22257

Release 1.9.3

This patch release resolves an issue in the valuation of overnight swaps linked to an index with a 0-day publication date offset (e.g. COP OIBR). For these swaps, if a fixing was not available as of the valuation date, the previous day’s fixing would be used, instead of using the fixing value implied from the curve bootstrapping (which was the case in 1.8.4). This was true even when the “Exclude fixings from valuation date” toggle is set to true (in XPLAIN DEFAULT VALUATION SETTINGS).

Resolved Issues

  • The previous day’s fixing will no longer be used in place of missing fixings as of the valuation date for overnight swaps linked to an index with a 0-day publication date offset.

All changes

SXSD-7847 Fixings should be correctly excluded if the Exclude fixings from valuation date is toggled for Overnight Indices with POD of 0

Release 1.9.2

This patch release resolves an issue with dashboard task re-run and includes some security updates to library dependencies.

Data migration

This release contains no new database migrations but improves the performance and reliability of migrations from previous 1.9 releases, making it a more robust direct upgrade path from 1.8. We recommend adding the following index before migration:

db.getCollection("ipvTradeResultOverlay").createIndex({
  "dashboardId" : 1
}, {"name": "dashboardId"});

Improvements

  • Upgrades to dependencies to pick up security fixes.

  • Resolved Issues

  • An issue with the re-run of valuation data dashboards has been resolved.
  • Change units have been updated with performance improvements.

All changes

SXSD-7738 Fix vulnerabilities in 1.9.2
SXSD-7730 Amend how NULL values are treated in Valuation Data Dashboard re-run
SXSD-7603 Review performance of 1.9 change units

Release 1.9.1

This patch release adds a permissible option for Swaptions which was missing from previous releases and resolves a number of issues relating to exception management dashboards, TRS and fixing replication in simulations.

Improvements

  • Add AUD-BBSW-3M to the list of permissible options when adding a Swaption

Resolved Issues

  • TRS market data now prices correctly with Bid or Ask values when requested.
  • Valuation data dashboards complete and consume t-1 data correctly in cases where they did not previously.
  • Amendments to how fixing replication is handled in simulations.

All changes

SXSD-7705 ZOHO 219: Add AUD-BBSW-3M to permissible options when adding a Swaption
SXSD-7686 The TRS Market Data should correctly price with Bid or Ask values when requested
SXSD-7701 Resolve NPE: com.google.common.base.Preconditions in checkNotNull
SXSD-7703 Resolve NPE when primary provider goes from null to not-null in re-run updated
SXSD-7704 The Previous day Valuation data should come from the previous date data and not from the latest dashboard
SXSD-7708 CLP-TNA fixings should behave like other index fixings in simulations
SXSD-7709 Investigate Jacobian matrix error for THB 6M in simulations

Release 1.8.4

This patch release adds a permissible option for Swaptions which was missing from previous releases.

Improvements

  • Add AUD-BBSW-3M to the list of permissible options when adding a Swaption

All changes

SXSD-7705 ZOHO 219: Add AUD-BBSW-3M to permissible options when adding a Swaption

Release 1.9.0

This major release, applied to all environments, includes updates to all parts of Xplain. It also introduces a number of new features, particularly for XplainXM:

  1. Ability to create valuation data exception management dashboards by Pricing Slot, and organise clearing by SLA Deadline; and
  2. A second overlay phase in valuation data exception management, allowing two-stage clearing with different break test configurations; and
  3. Graphical visualisation of break test result distribution; and
  4. Choice of trade or reporting currency for valuation data exception management; and
  5. Ability to value portfolios using trade-level CSA discounting; and
  6. Trade onboarding history visibility; and
  7. Ability to export ZC Rates, FWD Rates and Discount Factors for month ends; and
  8. Support for OAuth 2.0 refresh tokens with session timeout; and
  9. Support for 0M nodes in CDS Credit Curves; and
  10. PV, theta, gamma, delta spot and delta forward are now expressed in the trade base currency.

Most IdPs will issue refresh tokens if the behaviour is enabled for the client application and offline_access is added to the OAuth scope by modifying the AUTH_SCOPE environment variable. Enabling refresh tokens will keep user sessions alive while they are inactive but Xplain will still time the user out after a period of inactivity.

Configuration file options

There are new configuration file options. The new configuration options are:

app.setup.environment-name: local
app.setup.reset.enabled: false
# Other app.setup.reset.* properties not documented here.

app.xva-settings.hull-white-mean-reversion: 0.03
app.xva-settings.time-end: 50
app.xva-settings.simulations-for-xva: 1023
app.xva-settings.simulations-for-pfe: 1023
app.xva-settings.pfe-percentile: 0.95

The first property configures a logical name for the environment. All Xplain cloud environments are configured with appropriate logical names. app.setup.reset.enabled controls the availability of functionality to reset (wipe) and setup a base dataset in the database. This functionality is only available in test, demo and sandbox environments. There are a number of other app.setup.reset.* properties which further configure the reset behaviour in those environments. Note that a user must have Admin permission in the CLEAN_UP category to access this functionality.

The remaining new settings apply to XplainXVA.

Data migration

The data model will be automatically migrated as follows. Please note there is no downgrade path for this migration.

  • Company/entity valuation provider settings are migrated from a map to a list
  • Dashboard and results are migrated to match those started from pricing slots
  • New contractual term granularity added to VD task settings
  • CSA discounting settings added
  • Existing VD break tests and dashboard tasks defaulted to Overlay Phase 1.
  • Legacy database collections no longer used by the product are dropped
  • Performance-enhancing indexes added to calculation result, market data values and all versioned entities.
  • Calculation result curves split to a separate collection from the calculation results.
  • genericTradeDetails renamed to customTradeDetails for consistency.

Changed items marked with (*) will impact the valuations of products within Xplain.

New features

  • offline_access scope is supported and the timeout feature now works correctly in the case where refresh tokens are available from the IdP.
  • PV, theta, vega, gamma, delta spot and delta forward in FXOPT+FXFWD valuations are now expressed in the base currency of the trade. (*)
  • Valuation data XplainXM dashboards are now started by Pricing Slot; which can now be configured with trade type granularity for a company or entity. SLA Deadlines are shown when clearing breaks.
  • A new CSA Currency trade field has been added, and valuations can now be discounted using the CSA currency. (*)
  • It is now possible to add 0M nodes to credit curves, which are dropped when matured.
  • A second overlay phase can now be configured in XplainXM for valuation data dashboards. This phase has its own set of break tests, and takes its primary provider data as the output from phase 1.
  • Valuation data clearing tasks now show the breaking test value distribution in a graph.
  • A new global setting in EXCEPTION MNGT/SETTINGS/TASK MANAGEMENT/VALUATION DATA allows for XplainXM valuations to be treated as being in trade currency instead of reporting currency.
  • When viewing a trade which has been flagged for onboarding, the date and status of the trade on its recent onboarding report is now shown.
  • ZC Rates, FWD Rates and Discount Factors can now be exported with dates at month end, through new export menu items for both individual and lists of curves.
  • Inflation initial and final indices are now shown on valuation results.
  • A number of new curves and conventions have been added, including offshore curves for BRL, CLP, COP, MXN and KRW.

Improvements

  • When importing credit curve definitions, existing nodes are retained, which reduces creation of redundant versions.
  • When importing market data key definitions, existing provider mappings are retained, which reduces creation of redundant versions.
  • On approval tasks, it is now possible to filter and view only those entries which are in Waiting Approval status.
  • The default long name when creating MDK definitions for credit index and credit index tranche should include SPREAD or UF.
  • Working days are now shown on when viewing a Holiday Calendar.
  • External Trade IDs can now include any visible Unicode character and space.
  • Database performance improvements across the application, particularly for calculation results and market data load.
  • The Corp Ticker for CDS curves & Trades and Counterparty trade attribute is now converted to upper case prior to saving.
  • Trade currency is now shown explicitly on calculation results.
  • Upgrades to dependencies to pick up library improvements and bug fixes, as usual.

Resolved Issues

  • A problem where tables do not refresh automatically after actions have been performed has been resolved.
  • Fixed a problem where the trade list could not be filtered by columns in the Custom Trade group.
  • The long name is now shown correctly in lists for Credit Index and Credit Index Tranche curves.
  • Fixed a problem where a resolution task could not be re-submitted if it had previously been rejected.
  • Improvements to the reliability of stale value break tests which could show false breaks in some circumstances.
  • Credit curve charts are now shown as expected for all price requirements.
  • The link to Xplain valuation results on a dashboard is now updated correctly following a re-run with new valuation.
  • It is now possible to re-run dashboard tasks which did not result in a break on their original run.
  • The rounding tolerance where sensitivities close to zero are filtered out, to avoid floating point noise causing spurious data, to appear has been tightened.
  • This version also contains other improvements to performance, testing, maintenance and reliability.
  • Fixed a problem where break tests could not be displayed on market data exception management results which had both preliminary and overlay breaks.
  • Previous day’s fixing is now used if fixing isn’t available on publication date in overnight accrued interest calculations.
  • When creating offshore calibration trades, Leg1.Offshore is now set to TRUE.
  • A problem with the display of inflation curve charts has been resolved.
  • NAV FX calculations will now correctly use non-overlay FX rates.
  • Fixed a problem where “switch to” options were missing in Individual resolution scope.
  • This version also contains other improvements to performance, testing, maintenance and reliability.

All changes

SXSD-6846 CR 10 Time Out
SXSD-4768 CR 46 PV, theta, vega, gamma, delta spot and delta forward in FXOPT+FXFWD valuations should be expressed in the Base Ccy (*)
SXSD-6260 Pricing Slots and SLA Deadlines
SXSD-6107 Single Ccy CSA (*)
SXSD-6968 Allow 0M to be permissible node in CDS Curve Credit Curves (*)
SXSD-6258 Additional overlay phase II
SXSD-6262 Distribution graphs on dashboard
SXSD-7008 Trade valuation currency used for VD XM
SXSD-6461 View onboarding history on trade
SXSD-7197 Export ZC/DF/Price Indices at end of month
SXSD-6512 ZOHO 158 - Inflation Initial and Final Indices in Valuation Result (*)
SXSD-6995 ZOHO 178 - Addition of IR curves [partial] (*)
SXSD-6751 There should be a radio button on the approval tasks to filter and only view the Waiting_Approval
SXSD-6882 Add indexes to all collections that have versioned data
SXSD-6949 The default long name when creating MDK definitions for credit index and credit index tranche should include SPREAD or UF
SXSD-6977 Add working days to calendar UI
SXSD-7029 CLP Fixings in terms of indices
SXSD-7036 External Trade IDs should allow for any character and lower case (and space “ “ but not other non-printing characters)
SXSD-7041 Avoid trashing nodes on credit curve definition import with replace
SXSD-7042 Avoid trashing market data key provider mappings on definition import with replace
SXSD-7055 Corp Ticker for CDS curves & Trades and Counterparty trade attribute (if relevant) should be converted to upper case prior to saving
SXSD-7087 The defaults for Unresolved and Unapproved only should be relevant for the task type we’re in
SXSD-7090 Add a new “Trade Ccy” column in the Metrics (Trade Ccy) section to specify what the reported trade ccy is
SXSD-6883 Database Performance updates
SXSD-6491 Derivatives of BaseOfflineGridComponent not refreshing the page
SXSD-6606 Custom trade filters in trade list should be able to filter custom trades
SXSD-6948 The Long Name for Credit Index and Credit Index Tranche should not have underscore
SXSD-6959 Unable to select ZScore Observation period
SXSD-6971 A task should be able to be rejected and re-resolved
SXSD-6997 The list in the Z-score value dropdown should work
SXSD-7001 The stale test should not break when threshold is not met
SXSD-7053 Chart does not seem to appear for calibrated credit curves when not using Bid price requirements
SXSD-7059 Re-run VD dashboard task should have updated Xplain valuation results
SXSD-7067 Cannot view (and re-run) VD XM tasks when there are no dashboard breaks
SXSD-7068 Trade Valuation history should show the Market Data Group name instead of the ID in the MDG Column for XM Runs
SXSD-7137 Attempt to resolve curveConfigurationName in TRS can result in NulPointerException
SXSD-7145 Near-zero DV01 values should not be reported as 0
SXSD-7188 In the MD XM results, when expanding, I see an “ERR”
SXSD-7230 Previous day’s fixing should be used if fixing isn’t available on publication date in overnight accrued interest calculations
SXSD-7241 When creating offshore calibration trades Leg1.Offshore should be set to TRUE
SXSD-7311 Fix inflation curves chart display/export numbers
SXSD-7314 Incorrect export label for INFLATION curves
SXSD-7319 INF01 values caused by floating point noise should be filtered
SXSD-7326 NotEmpty validation on comment on XM resolution is not showing on comment field
SXSD-7335 I should be able to use non-overlay FX rates in NAV calculations
SXSD-7336 Valuation tasks “Individual resolution” missing “switch to” options
SXSD-7339 Rounding should be correct in Trade Ccy NAV calculations

Release 1.8.3

Patch release to relax a tolerance which was preventing curve calibration in some circumstances, and adjust accrual schedules in XplainTRS.

Improvements

  • The Newton-Raphson tolerance has been relaxed to allow a wider range of curves to be calibrated.

Resolved Issues

  • TRS accrual schedules now take into account holidays for payment dates.
  • Fixed an issue where dashboard entries with previously-broken tests still had to be resolved after passing on re-run

All changes

SXSD-7156 Increase Newton-Raphson root finder tolerance in curve calibration
SXSD-7185 TRS accrual schedules should take into account holidays for payment dates
SXSD-7192 Previously broken items that pass tests after re-run (updated) should not require resolution

Release 1.8.2

This patch release addressed problems with valuations using clean market data and an upgrade to a UI dependency.

Resolved Issues

  • Dropped duplicate MDKs generated from IborFixingDeposit nodes across offshore and onshore IR curves during market data cleansing.
  • Reverted table colour changes that occurred due to an upgrade of Bootstrap.

All changes

SXSD-6714 Bootstrap upgrade caused colour change to several components
SXSD-6953 The Market Data Edit table should be mid-aligned
SXSD-6994 IllegalStateException: Duplicate key MID (attempted merging values 0.008515 and 0.008515)

Release 1.8.1

Patch release fixing potential data migration issue when upgrading to version 1.8.0 from older versions of Xplain. There is otherwise no difference between version 1.8.0 and 1.8.1.


Release 1.8.0

This major release, applied to all environments, includes updates to all parts of Xplain. It also introduces a number of new features:

  1. CR 11 System wide search
  2. CR 14 Exception Management Partial Submission
  3. CR 15 Exception Management Valuation Data Reapproval
  4. CR 17 Multiple Trade IDs
  5. CR 18 Ability to add custom holiday calendars
  6. CR 23 Exception Management Ageing
  7. CR 29 Manual Valuation Data Override
  8. CR 36a Credit Index Tranche product type
  9. P2 2 NAV, Notional Break Test Scaling
  10. P2 3 Multi-level Tolerances
  11. MID_ONLY Market Data mapping
  12. Pricing Bilateral and Cleared Inflation trades in the same portfolio (*)
  13. XCCY IBOR overnight swap conventions
  14. Allow 3M & 9M to be permissible nodes in Credit Curves

There are new configuration file options.

  • control the tolerance used when determining if a trade value has changed (for the purposes of re-running dashboard tasks for updated values)
  • configure the Hazelcast topic name used for cluster broadcast events
  • Updates are highlighted in blue in the separate Xplain v1.8.0 Configuration Documentation.
  • Note that this version requires the system timezone to be configured as UTC.

The data model will be automatically migrated as follows. Please note there is no downgrade path for this migration.

  • Market data preliminary resolution and breaks, and raw value, duplicated on overlay result collection.
  • Break test thresholds are migrated from a single value per test/override to a list of values, and existing dashboard entries have the triggered threshold populated.
  • Dashboards updated to include started and finished timestamps.
  • NAV and NOTIONAL pseudo-providers added to support loading data for scaling
  • Dashboard task status IN_PROGRESS changed to IN_RESOLUTION and entry status PENDING changed to WAITING_RESOLUTION
  • CREDIT_INDEX type added to existing credit curve nodes
  • New permission added to all existing roles to grant read-only holiday calendar access
  • Pricing slot defaulted to OTHER for all valuation data groups and SLA deadline defaulted to OTHER for all companies and entities

Changed items marked with (*) will impact the valuations of products within Xplain.

New features

  • It is now possible to search for a TradeID or External ID via the new system wide search
  • Exception Management tasks are now automatically partially submitted, removing the requirement to complete the entire overlay phase prior to being able to access results
  • During a valuation data dashboard, it is now possible to restart or re-run a task
  • A user now has the ability to add Multiple Trade IDs through the UI or via an import file
  • Holiday calendars are now able to be updated via an import file
  • A new column has been added within a task displaying the number of concurrent days a test has broken for the specific VDK or MDK.
  • After the completion of a valuation data dashboard, it is now possible for a user to override a valuation without the requirement of additional verification. A new role has been added to accomodate this.
  • Credit Index Tranche product type and curves have been added
  • New scaling for Valuation Data Dashboards have been added: NAV and Notional
  • MID_ONLY Market Data mapping
  • It is now possible to pricing bilateral and cleared inflation trades in the same portfolio
  • XCCY IBOR overnight swap conventions
  • Allow 3M & 9M to be permissible nodes in Credit Curves

Improvements

  • Offshore curves should discount using USD (*)
  • Prevent application startup if user.timezone != UTC
  • The comment box when choosing individual clearing mode should always be shown on VD and MD tasks
  • Remove the spaces in Price Indexes / ZC/FWD Rates
  • Operators update across all break tests and Value Break Test
  • For FX task granularity, all references to “Domestic” / “Foreign” should be replaced by “Base” / “Counter”

Resolved Issues

  • MD Batch Dashboard results table shows ERR
  • VD XM task granularity with custom credit by sector/trade type applies wrong override
  • When CNH is selected a currency the Index and calendar should update
  • Xccy Fixed Fixed should work
  • Hovering over evidence file in XM dashboard MD results should show file name in tooltip
  • Major version of custom trade as of anchor date should not be visible when date < anchor date (via versions navigation)
  • IllegalArgumentException: Unable to find Overnight index curve: INR-OMIBOR
  • Product type groups in new valuation break test should show the label not the id
  • The exception list should not aggregate on anchor date changes in Curve Configuration
  • Exporting display in the curve configuration should always correctly export the %age values
  • The pie chart should appear on the PV Compare page
  • The 1W & 2W Nodes should not clash in curves (*)
  • Task clearing view should show checkboxes on rows which can be edited
  • I should be able to see the MDK of a curve node in EDIT mode
  • Portfolio valuation settings should reflect default settings for bid/mid/ask
  • The filters in Market Data Edit should work
  • Greeks checkbox not enabled on bespoke entity valuation provider settings

All changes

SXSD-4753 CR 11 System wide search
SXSD-4370 CR 14 Exception Management Partial Submission
SXSD-4756 CR 15 Exception Management Valuation Data Reapproval
SXSD-4747 CR 17 Multiple Trade IDs
SXSD-4377 CR 18 Ability to add custom holiday calendar
SXSD-4749 CR 23 Exception Management Ageing
SXSD-5432 CR 29 Manual Valuation Data Override
SXSD-6256 CR 36a Credit Index Tranche product type
SXSD-6215 P2 2 NAV, Notional Break Test Scaling
SXSD-6216 P2 3 Multi-level Tolerances
SXSD-6351 MID_ONLY Market Data mapping
SXSD-6602 Pricing Bilateral and Cleared Inflation trades in the same portfolio (*)
SXSD-6603 XCCY IBOR overnight swap conventions
SXSD-6840 Allow 3M & 9M to be permissible nodes in Credit Curves
SXSD-6528 Offshore curves should discount using USD (*)
SXSD-6682 Prevent application startup if user.timezone != UTC
SXSD-6688 The comment box when choosing individual clearing mode should always be shown on VD and MD tasks
SXSD-6689 Remove the spaces in Price Indexes / ZC/FWD Rates
SXSD-6711 Operators update across all break tests and Value Break Test
SXSD-6725 For FX task granularity, all references to “Domestic” / “Foreign” should be replaced by “Base” / “Counter”
SXSD-6315 MD Batch Dashboard results table shows ERR
SXSD-6520 VD XM task granularity with custom credit by sector/trade type applies wrong override
SXSD-6588 When CNH is selected a currency the Index and calendar should update
SXSD-6591 Xccy Fixed Fixed should work
SXSD-6605 Hovering over evidence file in XM dashboard MD results should show file name in tooltip
SXSD-6607 Major version of custom trade as of anchor date should not be visible when date < anchor date (via versions navigation)
SXSD-6617 IllegalArgumentException: Unable to find Overnight index curve: INR-OMIBOR
SXSD-6653 Product type groups in new valuation break test should show the label not the id
SXSD-6656 The exception list should not aggregate on anchor date changes in Curve Configuration
SXSD-6657 Exporting display in the curve configuration should always correctly export the %age values
SXSD-6676 The pie chart should appear on the PV Compare page
SXSD-6705 The 1W & 2W Nodes should not clash in curves (*)
SXSD-6839 Task clearing view should show checkboxes on rows which can be edited
SXSD-6841 I should be able to see the MDK of a curve node in EDIT mode
SXSD-6842 Portfolio valuation settings should reflect default settings for bid/mid/ask
SXSD-6915 The filters in Market Data Edit should work
SXSD-6939 Greeks checkbox not enabled on bespoke entity valuation provider settings

Release 1.7.2

This patch release addressed problems with viewing curve groups and running calculations with an extremely large number of credit curve versions.

Resolved Issues

  • Add “allow disk usage” parameter to mongo sort queries for credit curves
  • Add compound index (validFrom -1, recordDate -1) on CreditCurve Collection.

All changes

SXSD-6489 HOTFIX: Allow disk usage when sorting credit curves and add credit curve compound index

Release 1.6.2

This patch release addressed problems with viewing curve groups and running calculations with an extremely large number of credit curve versions.

Resolved Issues

  • Add “allow disk usage” parameter to mongo sort queries for credit curves
  • Add compound index (validFrom -1, recordDate -1) on CreditCurve Collection.

All changes

SXSD-6489 HOTFIX: Allow disk usage when sorting credit curves and add credit curve compound index

Release 1.7.1

Patch release for an issue related to the Server Error message when navigating to an FX Vol surface with USD/XAU currency pair, amendments to the list of major currencies and adjustment to the calculation methodology of the expiry dates for short dated tenors in the FX Volatility matrix.

Improvements

  • SGD and XAU are now included in the list of major currencies

Resolved Issues

  • XAU should be an allowed ccy in the FxSpotDate calculator
  • Expiry dates for tenors in D and W in the FX Volatility matrix should be calculated directly from the valuation date (*)

Items marked (*) affect valuations.

Please note, existing USD/XAU XCCY curves will need to be removed prior to installing this release. They can be re-added as XAU/USD XCCY curves.

All changes

SXSD-6706 HOTFIX: XAU should be an allowed ccy in the FxSpotDate calculator
SXSD-6719 HOTFIX: SGD should be added to the list of major currencies
SXSD-6720 HOTFIX: Expiry dates for tenors in D and W in the FX Volatility matrix should be calculated directly from the valuation date

Release 1.7.0

This major release, applied to all environments, includes updates to all parts of Xplain. It also introduces a number of new features:

  1. Trade valuation history; and
  2. Ability to include TRS index market data in exception management dashboards; and
  3. Ability to upload evidence when resolving or approving exceptions; and
  4. Ability to specify break tests specific to a company/entity/portfolio for valuation data; and
  5. Onboarding tests and report for deal cost, market conformity and D1 vendor check; and
  6. Ability to create trades with custom asset types; and
  7. Visibility of tenor dates for FX volatility points; and
  8. Amendment of DV01 calculation for credit products (par rates) to incorporate rate impact on hazard rate bootstrapping. This will affect valuations.

There are new configuration file options. The new configuration options are:

app.evidence.cleanup-cron: 0 0 0 * * MON-FRI
server.compression.enabled: true
server.compression.min-response-size: 1000
server.compression.mime-types: text/csv, text/html, text/xml, text/plain, text/css, text/javascript, application/javascript, application/json, application/xml

The first property controls the schedule for cleaning up orphaned evidence which was previously uploaded but is no longer associated with an exception. The other properties control GZip compression of API response and significantly reduce request size, and therefore bandwidth usage and latency, when returning large data tables to the user. If GZip responses cannot be processed by clients or intermediate proxies, then compression can be turned off by setting server.compression.enabled: false.

The data model will be automatically migrated as follows. Please note there is no downgrade path for this migration.

  • Market data key bid/ask setting BOTH is migrated to BID_ASK.
  • Market data dashboard collections updated to hold dashboard date, bid/ask type and market data group.
  • FXO strike is recalculated on trades to be Counter ccy amount &div; Base ccy amount.

The underlying minimum Java platform dependency for this release has been updated to Java 17 LTS.

Changed items marked with (*) will impact the valuations of products within Xplain.

New features

  • Trade views now include a valuation history showing both XplainPV calculations and XplainXM dashboard results.
  • When creating an XplainXM market data dashboard, the TRS market data group can now also be specified to run break tests and resolve exceptions on TRS indices.
  • Resolvers and approvers can now upload relevant files as evidence, as well as entering a comment, when clearing exceptions on dashboards.
  • Valuation data break tests can now be applied to only certain companies, entities or portfolios; and can be overridden.
  • New trades can be flagged for onboarding tests including Xplain Conformity, Market Conformity and Vendor Conformity Checks.
  • Six new custom asset classes for Rates, FX, Equity, Commodity, Credit and Other have been added. Each has 5 trade types which can be used for a custom purpose, with no Xplain pricing capability. These can all be exception managed in valuation data dashboards.
  • DV01 calculations have been rewritten for credit products (par rates) to incorporate rate impact on hazard rate bootstrapping. (*)
  • When viewing FX volatility points, the tenor date is now visible when hovering over each point.

Improvements

  • TN node is now required if ON node is present for XCCY curves where spot offset = 2 days.
  • The T-1 date determined when running a valuation data dashboard is now shown on the dashboard.
  • When viewing the list of market data values (in Edit mode) the last updated timestamp and user are now shown.
  • CLP, COP, IDR, PHP and XAU currencies have been added.
  • Offshore curves have been added for CNY, INR, THB and TWD.
  • GZip is now enabled for API responses to improve network efficiency and performance.
  • Spring Boot platform has been upgraded to version 3.1, which requires Java 17.
  • Upgrades to other dependencies to pick up library improvements and bug fixes, as usual.

Resolved Issues

  • A warning is now thrown if an overnight fixing is not available 1 business day before valuation date during accrued interest calculations.
  • Selecting Market Data Source = “Overlay” in curve configuration now correctly shows Overlay XM results in nodes
  • Resolved a problem where T-1 could change between phases of market data exception management in some circumstances.
  • Resolved a problem where certain data could cause XplainXVA to fail has been resolved.
  • Tasks created with credit sector trade overrides are now allocated to the correct team.
  • The strike calculation in FXO trade creation or update has now been corrected to Counter ccy amount &div; Base ccy amount.
  • Fixed a problem where the root date could show as “Invalid date” in version history.
  • The Entity Valuations Settings “Apply Default” button now works in the same way as the company settings.
  • A problem where valuation data dashboard T-1 metrics may be taken from a manual valuation rather than a previous dashboard run has been resolved.
  • Fixed incorrect labels on TRS market data settings.
  • Calendars on Cap Floor trades now update automatically before saving.
  • Calendars are now correctly displayed on Trades Overnight Legs.
  • This version also contains other improvements to performance, testing, maintenance and reliability.

All changes

SXSD-4754 CR 12 Trade valuation history
SXSD-4757 CR 19 Exception Management Evidence
SXSD-5430 CR 22 Exception Management Granularity of Thresholds for Company/Entity/Portfolio
SXSD-5431 CR 24 Trade Onboarding Tests (Deal cost, market conformity and D1 Vendor check)
SXSD-4759 CR 26 Custom Asset Type
SXSD-4767 CR 45 FX Volatility Tenor Dates
SXSD-5124 CR 2 TRS Index Market Data XM
SXSD-6487 Amend DV01 calculation for credit products (par rates) to incorporate rate impact on hazard rate bootstrapping (quoted spreads subject to further testing) (*)
SXSD-6114 Add validation for requiring TN node if ON node is present for XCCY curves where spot offset = 2 days
SXSD-6272 Show t-1 date on valuation data XM dashboard
SXSD-6273 Show last updated user and timestamp on flat market data value lists
SXSD-6308 Addition of CLP, COP + IDR currencies to Xplain
SXSD-4104 Turn on GZIP for backend responses
SXSD-6267 Update Spring Boot 3.1
SXSD-6391 Add additional Offshore curves (CNY, INR, THB, TWD)
SXSD-6459 Add additional permissible currencies (PHP & XAU)
SXSD-5864 A warning should be thrown if an overnight fixing is not available 1 business day before valuation date during accrued interest calculations
SXSD-6284 Selecting Market Data Source = “Overlay” in curve configuration should show in Overlay XM results in nodes
SXSD-6313 MD XM previous date theoretical mismatch between Prelim and Overlay phases
SXSD-6314 Overlay data source when no raw MD available is not used in calculation
SXSD-6323 UnsupportedOperationException: The dispatcher returned from the ServletContext does not support asynchronous dispatching
SXSD-6324 AnnotationConfigurationException: Found more than one annotation of type interface org.springframework.security.access.prepost.PreA…
SXSD-6325 Fix dependabot auto-merge only when build passes and main branch builds
SXSD-6327 When running XVA I should not get a NullPointerException
SXSD-6328 CRUD E2E test failing
SXSD-6340 VD XM CDS task overrides applied incorrectly
SXSD-6360 Reported FXO Strike in valuation metrics should be Counter ccy amount / Base ccy amount
SXSD-6390 Version list table should not show “Invalid date” for root date row
SXSD-6414 Test value should be shown on MD XM dashboards
SXSD-6435 Calendars should be updated to look as they do in Demo/Beta
SXSD-6436 I should be able to select any date on the calendar when creating a new trade
SXSD-6448 The Entity Valuations Settings “Apply Default” button should work in the same way as the company settings
SXSD-6450 VD Dashboards stuck on QA
SXSD-6471 UX: Date picker should not retain zoom (to month / yr) if dismissed
SXSD-6490 Inconsistent VD XM Xplain valuation data retrieval
SXSD-6492 I should be able to save a curve configuration through the UI
SXSD-6367 The inherited company settings for TRS market data should be labelled “COMPANY TRS MARKET DATA SETTINGS”
SXSD-6535 The calendars on Cap Floor trades should update automatically before saving
SXSD-6539 Should be able to add fixing for new indices
SXSD-6540 Calendars should be correctly displayed on Trades Overnight Legs
SXSD-6541 Missing CLP,COP currencies for IRS trades with Overnight leg
SXSD-6544 Incorrect label for company valuation data provider settings
SXSD-6557 NullPointerException: Cannot invoke “com.solum.xplain.core.common.EntityReference.getEntityId()” because the return val…
SXSD-6585 NPE when running valuations when MD XM is in overlay clearing phase

Release 1.6.1

Patch release for issues related to TRS IA Calculation, addition of SHORTTERM nodes for FixedOvernightSwap Conventions with a BDA of Following, the adjustment of the BDA for TERM conventions to Modified Following and the amendment of the Day Count used in the GB-CPI inflation curve.

Changed items marked with (*) will impact the valuations of products within Xplain.

Resolved Issues

  • An issue where IA was not calculated if Accrual Calendars and Accrual Offset Days were different across legs

All changes

SXSD-6382 HOTFIX: Remove the Accrual Calendar and Accrual Offset Days validation when calculating IA on TRS Trades
SXSD-6388 HOTFIX: Re-introduce SHORTTERM nodes (with BDA = Following) for OIS curves and amend TERM nodes BDA to Modified Following (*)
SXSD-6389 HOTFIX: Day count for GB-CPI inflation conventions should be 1/1 (*)

Release 1.6.0

This major release, applied to all environments, includes updates to all parts of Xplain. It also introduces three new features:

  1. Bid-ask pricing; and
  2. Valuation simulations allowing the same valuation to be repeated over a defined time period; and
  3. Navigation from a valuation data exception management item to the corresponding trade.

There are no updates to configuration file options and the data model will be automatically migrated as follows:

  • Company and entity settings gain default Bid valuation settings
  • Existing MDK mappings are migrated to type Bid Only.
  • Existing market data values are migrated to type Bid.
  • Historic XM dashboards have all provider data set to type Bid.
  • Change to MongoDB indexes for calculation.portfolioItemId
  • Migration updates for Call/Put addition to FXO trades - existing FXO trades are set to RECEIVE unless the domestic currency is in the pay leg

New features

  • It is now possible to navigate from a valuation data XplainXM dashboard to view the associated trade.
  • Market data now supports bid and ask data for each Market Data Key (defaults to Bid). Associated curve configuration, valuation and exception management also support bid and ask mappings.
  • A new Simulations tool has been added to run valuations of existing portfolios over a range of future dates and see any errors encountered in so doing. This is intended to help anticipate potential data issues.

Improvements

  • Conventions can now be exported through a new menu option Data/Static Data/Conventions.
  • FX Options now include an additional Put/Call input field which determines the notional direction.
  • If an FX Option is valued after the expiry date, no error is now shown.
  • Domestic / Foreign Ccy have been renamed as Base / Counter Ccy respectively.
  • A spread is now applied to the base currency when we create a XccyOvernightOvernightSwap in the Calibration Portfolio.
  • Default Market Data Group is no longer required to run a valuation data dashboard.
  • CZK 3M IR_INDEX curve added.
  • DV01 (and other 01) scaling is now consistent with whatever sensitivity is used as delta in exception management.
  • Parallel stream processing re-enabled for improved curve calibration performance.
  • In exception management tasks lists, DV01/CS01 columns are now labelled as Greeks - 01.
  • A new optional Market Data Group column can now be included in Market Data import files. If present, Xplain will validate that the file is being uploaded to the correct Market Data Group.
  • Upgrades to dependencies to pick up library improvements and bug fixes, as usual.

Resolved Issues

  • Fixed an issue where allocation trade date export was not consistent with import where the trade date was derived from the security master.
  • Fixed issues with valuation data resolution where portfolio items had been archived.
  • Loan Notes no longer cause valuation dashboards to fail.
  • Fixed an issue where valuation dashboards did not always show the number of breaks on each item.
  • Improvements to robustness of valuation result handling so that repeat processing is idempotent.
  • TN nodes are now ignored when ON node end date clashes with spot date (FX pairs with spot = T + 2).
  • Changed handling of error counts on valuation results to better deal with race conditions.
  • This version also contains other improvements to performance, testing, maintenance and reliability.

All changes

SXSD-4746 CR 16 Exception Management Asset Navigation
SXSD-4751 CR 30 Bid-Ask Pricing
SXSD-6061 Allow a user to run valuations for a defined time period
SXSD-5937 Allow user to export conventions through the UI
SXSD-5958 Add Put/Call input fields for FX Options
SXSD-6096 Valuation of an FX Option post expiry should show an OK valuation with no metrics
SXSD-6141 Rename Domestic / Foreign Ccy to Base / Counter Ccy respectively
SXSD-6142 Update the XccyOvernightOvernightSwap trade creation in the Calibration Portfolio
SXSD-6146 Remove requirement of a market data group to run a valuation data dashboard
SXSD-6176 Implement new curve for CZK 3M IR_INDEX
SXSD-6180 Align 01 scaling in PV comparison with delta scaling in XM break tests
SXSD-6181 Re-introduce parallel stream processing for curve calibration
SXSD-6190 DV01/CS01 (t) Column in XM should be renamed
SXSD-6197 Add additional Market Data Group optional column to Market Data files
SXSD-5972 Allocation trade date is now inherited from the sec master
SXSD-6019 VD values should not be shown from the archive date
SXSD-6104 Prevent dashboard from crashing when Loan Notes are in a portfolio
SXSD-6195 always show the number of breaks on each line item in VD Dashboards
SXSD-6196 Duplicate valuation result messages should not be processed and not decrement counter
SXSD-6226 Ignore TN node when ON node end date clashes with spot date (FX pairs with spot = T + 2)
SXSD-6253 Valuation results should show the correct error count
SXSD-6266 Valuation Date should update correctly when a new one is chosen

Release 1.5.2

Patch release for an issue related to the ERR message in Valuation Data Dashboard.

Resolved Issues

  • An issue where the ERR message in Portfolio Valuations table, part of Exception Management Dashboard, showing when more than one portfolio was used.

All changes

SXSD-6175 HOTFIX: Fix ERR message when saving Valuation Data Dashboard

Release 1.5.1

This release includes the removal of the differentiation between FX Swap curves and XCCY basis curves, as well as amendments to the rules for determining the payment date from expiry date for FX Options.

Following installation of this release, the following database migrations will occur:

  • SHORTTERM FixedOvernightSwap nodes will now become TERM FixedOvernightSwap nodes. The MDKs for these nodes will also be updated to their TERM equivalent MDK. Any updates to the mapped tickers for these nodes since the introduction of SHORTTERM nodes in release v1.4.4 should also be updated manually following this release.
  • XCCY_BASIS and FX_SWAP curves have now been merged into XCCY curves, which take the curve naming convention for existing FX_SWAP curves.

CSV Import files will need to be updated for the following changes:

Curves and Nodes

  • SHORTTERM nodes no longer exist, please change the relevant nodes to TERM nodes.
  • FX_SWAP and XCCY_BASIS are no longer a permissible Curve Type, these have been merged to XCCY curves.

Trades

  • 1/1 no longer exists as a permissible day count, please use One/One instead.

Improvements

  • Enhanced Curve Calibration Algorithm
  • Introduced hybrid curves that combine different curve types or methodologies.
  • Updated the terminology of the “1/1” day count to “One/One” in the UI, export, and import functionalities.
  • Streamlined the resolution process for valuation data, improving efficiency.
  • Assigned a default payment date value of expiry + spot lag for FX Option trades in the user interface (UI).
  • Modified the method of generating the payment date from expiry + spot lag for FXO trades.
  • Enabled the export of bumped curves for analysis and external use.
  • Updated the calculation of IA for TRS trades.
  • Introduced an action that displays metrics for individual TRS trades.
  • Allowed 1W (one week) as a valid FE value and removed 7D from the Minimum Node Gap field for Interest Rate and Inflation curves.
  • Eliminated the process of stripping a single curve with a single currency.
  • Implemented the concept of triangulation to enhance curve calibration and valuations.
  • Excluded the explicit discount property from curves.
  • Added the capability to set an override currency in global settings for FX trades.
  • Removed the requirement for users to manually add ON/TN nodes to FxSwap curves.
  • Disallowed positive fixing offsets in trades.
  • Enhanced coverage of bond yields throughout the valuation process.
  • Streamlined the logic for adjusting near dates in Fx Swap conventions.
  • Enabled the calculation of XVA metrics for individual trades.
  • Implemented measures to ensure the integrity of data used in XVA valuations.
  • Implemented updates to XVA MarketFile generation and correlation matrix mapping.

Resolved Issues

  • Trade client metrics inconsistency
  • VD values should not be shown from the archive date

All changes

SXSD-5968 Improvements to the Curve Calibration Algorithm
SXSD-4987 Data integrity assurance for XVA Valuations
SXSD-5296 VD resolution process optimisation
SXSD-5934 Implement an “On-click” action to show the Metrics for an individual TRS
SXSD-5935 For FXO trades, the payment date should be assigned a default value set to expiry + spot lag in UI
SXSD-5936 Amend how the payment date is generated from the Expiry + Spot Lag
SXSD-5957 Implement the ability to export Bumped curves
SXSD-5959 TRS - Amend IA calculation
SXSD-5967 In IR & Inflation Curves, allow 1W as a FE value and remove 7D from the Minimum Node Gap field
SXSD-5975 Allow calculation of single trade in XVA
SXSD-5981 Remove Single Curve Stripping with Single Ccy
SXSD-5982 Add the concept of Triangulation for Curve Calibration / Valuations
SXSD-5991 Remove explicit discount property from curves
SXSD-5992 Add Override Ccy to global settings for FX trades
SXSD-6003 Implement hybrid curves
SXSD-6004 Remove the requirement for user to add ON/TN node to FxSwap curves and filling default value of 0
SXSD-6014 Changes to XVA MarketFile generation & Correlation matrix mapping
SXSD-6016 Rename “1/1” day count to “One/One” in UI, export, Import
SXSD-6021 Positive fixing offsets should not be allowed in trades
SXSD-6041 E2E: Improve Bond Yield coverage
SXSD-6089 Clean up Fx Swap Convention near date adjustment logic
SXSD-5962 /conventions/csv endpoint should return only permissible FixedIborSwaps
SXSD-5973 Trade client metrics inconsistency
SXSD-5997 Control json file should be in /xva-logs endpoint response
SXSD-6019 VD values should not be shown from the archive date
SXSD-6031 SENTRY: Mongock migration script hits transaction limit

Release 1.4.5

This release includes changes to import processing, and other bulk jobs, which may improve reliability in some circumstances. There may be a minor impact to performance observed as a result of these changes.

Resolved Issues

  • Change .CSV imports and other parallel operations to run sequentially in cases where it is not certain to be safe to run in parallel. This may reduce or eliminate the occurence of unexpected NoClassDefFoundError exceptions.

All changes

SXSD-6120 HOTFIX: Remove parallel stream processing where not certain to be safe

Release 1.4.4

Patch release for an issue related to business day conventions for FixedOvernightSwap nodes, applied to all environments.

Resolved Issues

  • An issue where the end date for short term FixedOvernightSwap nodes was adjusting to the same date as the start date due to ModifiedFollowing business day conventions, and therefore resulting in an invalid accrual period, has been resolved. “SHORTTERM” FixedOvernightSwap node conventions, with a business day convention = “Following”, can now be chosen for IR_INDEX OIS curves.

All changes

SXSD-6054 HOTFIX: Add new FixedOvernightSwap conventions for short term nodes with BDA = Following

Release 1.4.3

Patch release for an issue with FXSwaps curve calibration, FXSwap curves will now calibrate on a holiday when an ON Node is present. Released to cloud environments only.

Resolved Issues

  • An issue where the start date for FxSwap curve ON nodes would be adjusted when the valuation date is a holiday has now been resolved.

All changes

SXSD-6050 HOTFIX: FXSwap curves should calibrate on a holiday when an ON Node is present

Release 1.4.2

Patch release for an issue where breakeven metrics calculation failures caused trade valuations to fail. Released to cloud environments only.

Resolved Issues

  • Trades can now value when breakeven metrics calculations (such as Par Rate) fail. An error will be displayed in the log to reflect why breakeven metrics are not calculated.

All changes

SXSD-6032 HOTFIX: Breakeven metrics calculations should not cause trade valuation to fail

Release 1.4.1

Patch release for an issue where accrual period start and end dates were being additionally adjusted by the fixing calendar in overnight rate calculations.

Resolved Issues

  • Overnight accrual period start and end dates are now only adjusted by the leg calendars. Fixing calendar date adjustments occur only when observing the fixing for a given effective date.

All changes

SXSD-6005 HOTFIX: The fixing calendar should not cause a start/maturity date adjustment of the accrual schedule during overnight compounded rate computations

Release 1.4.0

This major release, applied to all environments, includes changes to the curve calibration algorithm and various minor amendments to valuation results headers.

Improvements

  • Bank bill futures now use 90 days as a tenor (as opposed to 3 months).
  • Reference securities can now be archived via csv import.
  • Added validation to trades, including prevention of -ve accrual offset days in TRS trades and a default business day adjustment in IRS/XCCY trades.
  • The USGS calendar is now viewable in CALENDARS.
  • Various warnings added during calibration, such as dropped nodes via node clash functionality.
  • Valuation result fields such as FX Spot and Expiry are now given following FXO trade valuation.

Resolved Issues

  • A blocking calibration dependency on market data being provided for every node in an FX vol surface has been removed.
  • A UI issue that set Interpolation Type = Forward Rate for IR_INDEX curves where the Interpolator = LogLinearDiscountFactor has been resolved.
  • Single stripping now applies when calibrating curves from the UI, as well as during portfolio valuation.
  • The overnight averaged accrued interest calculations are now aligned between TRS trades and MTM trades.

All changes

SXSD-5799 BE validation of Accrual Offset Days for TRS imports should prevent -ve numbers
SXSD-5817 Business Day Adjustment should be set to “Accrual and Payment Dates” by default for IRS and cross currency trade types
SXSD-5818 Implement reference securities archival
SXSD-5843 Allow for USGS calendar to be viewed in Xplain
SXSD-5853 Improve the warning message when USD discounting curve is not present during loan note valuation
SXSD-5887 MDK Naming for bond yield nodes should be consistent with other instruments
SXSD-5890 Improve efficiency of E2E failure investigation process through github actions
SXSD-5895 Implement instruments / combination of instruments node clash priority / duplicates skipping if “Nodes Other Than Futures” is selected
SXSD-5915 Amend bank bill futures so tenor is 90 days (vs 3 Months)
SXSD-5917 Notify users of dropped nodes from the curve configuration view
SXSD-5924 Include ‘scope’ placeholder in env.js
SXSD-5954 Additional Fields for FXO valuation results exports
SXSD-5864 A warning should be thrown if an overnight fixing is not available 1 business day before valuation date during accrued interest calculations
SXSD-5875 FX Vol surface should calibrate if no mapping for a node is present for the relevant data provider
SXSD-5881 Amend the FE for Discount Factor Interpolation type to show Zero Coupon
SXSD-5883 Curve calibration in curve config should reflect algorithm used in PV calculations for new dual->single stripping amendments
SXSD-5909 Show notional on the Receive Leg in the Valuations Results field
SXSD-5920 Swaption Volatility curves with Skew Type = “ATM Only” should not allow for import of skew points at the top level
SXSD-5922 The list of CCYs shown when adding a new TRS Index should be the standard xplain list
SXSD-5645 Test Xplain restart in the middle of ongoing processes + Implement transactions on CRUD
SXSD-5904 Split XM to separate module
SXSD-5906 Implement imports to be run within transaction
SXSD-5925 Refactor calibration algorithm to reduce duplicated code
SXSD-5961 Align overnight averaged accrued interest calculations between TRS and Swaps

Release 1.3.7

Patch release for issues concerning spot date offset calculations, released to cloud environments only.

Improvements

  • FX Option trades now value on expiry date.
  • New fields that show the cashflows paid on a payment date for TRS. This will provide users with more visibility into the cashflow data.

Resolved Issues

  • Spot date offset for the NZD-FIXED-6M-BKBM-3M and AUD-FIXED-3M-BBSW-3M conventions now use business days as opposed to calendar days. Since the spot offset days for AUD-FIXED-3M-BBSW-3M is 1, there is no impact for AUD-FIXED-3M-BBSW-3M spot date calculations.
  • For FX Swap tenors greater than or equal to a month the business day convention is now Modified Following.

All changes

SXSD-5932 HOTFIX: Add fields showing the cashflow’s paid on a payment date for TRS
SXSD-5941 HOTFIX: FXO should value on expiry date
SXSD-5938 HOTFIX: Fx swap convention BDA should be Following, unless the tenor equates to >=1 month, then ModFollowing
SXSD-5970 HOTFIX: NZD-FIXED-6M-BKBM-3M convention spot date offset should be 2 Business Days then apply Following

Release 1.3.6

Patch release to add default behaviour on import for FX Option trades.

Improvements

  • When importing FXO trades, payment date is now set by default to expiry + spot lag

All changes

SXSD-5933 For FXO trades, the payment date should be assigned a default value set to expiry + spot lag

Release 1.3.5

Updates to XplainTRS.

Improvements

  • TRS display improved to show detailed schedule information.

Resolved Issues

  • Various problems with the TRS implementation have been resolved, including IA scaling, cashflows on payment date and withheld cashflows.

All changes

SXSD-5902 TRS Refactoring
SXSD-5912 TRS: Accrual == Payment frequency in all cases

Release 1.3.4

This release includes changes from release 1.3.3 with one additional critical fix, and is focused on being a production-ready release for live usage.

There are no updates to configuration file options and the data model will be automatically migrated from previous versions.

Resolved Issues

  • Fixed an issue where dependencies between curves in the same calibration set caused single stripping calibration failures in some cases.

Known Issues

There remains a known issue where, if a single-currency curve fails to calibrate, then other cross-currency curves in the same Curve Group may also fail to calibrate. There is no impact if other curves sharing a currency with the cross-currency curve are calibrated successfully.

  • This affects curve groups using Local Ccy OIS stripping.
  • If any curves sharing a currency with a cross-currency curve fail to calibrate, other curves sharing that currency may also fail to calibrate.
  • We expect this issue to have very limited impact since it only affects groups containing curves which already fail to calibrate.
  • A fix for this issue will be delivered in an upcoming release.

All changes

SXSD-5913 There should be no dependencies across curves in the same ccy calibration set during single stripping curve calibration

Release 1.3.3

Version 1.3.3 was released to cloud environments only. This release consolidates a number of critical fixes previously released as patches.

There are no updates to configuration file options and the data model will be automatically migrated from previous versions.

Improvements

  • Calendars have been updated with holiday changes for US (Juneteenth), GBLO, AUSY and NZWE.
  • Added additional serial futures to existing future nodes
  • Added a new convention which removes the -1 business day adjustment from AUD IBOR future nodes date sequence
    • Please select AUD-BBSW-3M-QUARTERLY-FUTURE-SD to use this convention.
    • AUD-BBSW-3M-QUARTERLY-FUTURE retains its previous roll behaviour.

Resolved Issues

  • Valuation progress bar now refreshes correctly in pre-prod environment. This is a web server configuration change only.
  • Fixes to a number of UI issues caused by an upgraded dependency in release 1.3.0, including 1D FX vol data, curve shift and role assignment.

All changes

SXSD-5891 Add additional serial futures to existing future nodes
SXSD-5892 Remove the -1 business day adjustment from AUD ibor future nodes date sequence
SXSD-5882 Update OG calendars
SXSD-5878 1D FX vol data should be seen in FX skew when the 1D ATM FX vol point exists
SXSD-5889 Preprod: PV Valuations page should automatically update when running a valuation
SXSD-5898 Curve shift functionality needs to be fixed
SXSD-5903 Assignment of permissions does not work for roles / and other issues possible
SXSD-5905 Roles change log UI is broken

Release 1.3.2

This release fixes a problem with running release 1.3.1 in non-production environments where MongoDB is running without a high availability replica set.

There are new configuration file options. The new configuration options are:

app.mongo-transactions.enabled: false mongock.transaction-enabled: false

The default behaviour for database transactions is now that they are disabled, which preserves the behaviour prior to release 1.3.0. The second property allows transactions to be disabled independently for the database migration process. It has no effect if transactions are disabled by the first property.

You can enable transactions where a MongoDB replica set is available. All cloud environments have transactions enabled.

Improvements

  • Changed default transaction behaviour to disabled and added configuration property to enable as needed.

Release 1.3.1

This release consolidates release 1.3.0 and the patches applied to it and is focused on being a production-ready release for live running. It includes all changes from release 1.3.0 and a few additional urgent improvements and fixes.

There are no updates to configuration file options. The data model will be automatically migrated from release 1.2.18 - a number of Total Return Swap fields are moved to leg-level - and no database cleaning is required.

Improvements

  • AUD 3M IR_INDEX curve and vols surface added.
  • Single stripping is now applied when no overnight index exists for a currency - this means that explicit discount settings are therefore ignored.

Resolved Issues

  • A number of blocking issues with curve calibration and trade valuation were fixed.

All changes

SXSD-5840 Add AUD 3M IR_INDEX curve
SXSD-5858 HOTFIX: Enforce single stripping when no OIS curve exists
SXSD-5811 The Initial Base Index from Trade forms should be displayed in the Results table and used in the calculation
SXSD-5873 HOTFIX: AUD 3M & 6M should be able to calibrate together
SXSD-5874 HOTFIX: AUD3M Future start dates should be 1 day prior to the second Friday of the month.
SXSD-5876 CAD3M Future start dates should be 2 BD prior to the third Wednesday of the month
SXSD-5877 Investigation: 1D point can no longer be imported in FX Vol surface
SXSD-5878 1D FX vol data should be seen in FX skew when the 1D ATM FX vol point exists
SXSD-5879 HOTFIX: TRS Payment leg withheld should only calculate values when not in the initial period

Release 1.3.0

This major release, applied to cloud environments only, has updates to all parts of Xplain and includes a new product type:

Loan Notes - new Government Yield curve type and Loan Note trade type including reference securities, valuation and exception management.

Loan Notes are valued using a discounted cashflows approach based on the yield to maturity, given by the applicable government bond curve, and adjusted by the user defined credit spread.

Two patch releases were made to this release on Mar 3rd and 6th with hotfixes for testing ahead of the 1.3.1 production-ready release. See below for further details.

There are no updates to configuration file options. The data model will be automatically migrated from release 1.2.18 - a number of Total Return Swap fields are moved to leg-level - and no database cleaning is required.

New features

  • A new instrument, curve type, trade type, reference security type, valuation process and exception management support have been added for Loan Notes. Documentation of Bond Yield curves and Loan Note trade fields is available in the user guide.

Improvements

  • The following XplainTRS fields can now be specified per leg: Start, End Date, Roll Convention, Stub Convention, Business Day Convention & Business Day Adjustment.
  • Initial Coupon is now shown for each leg on the TRS trade list.
  • Added Fixing Dates to the TRS index metrics.
  • Added Value (IA) columns to TRS metrics.
  • The initial coupon is now taken into account on TRS IBOR legs even when the initial stub is regular.
  • It is now possible to perform a calculation on single TRS trades.
  • LIBOR stripping has been replaced by Single stripping in curve configuration.
  • Multiple improvements to error messaging.
  • Updated to MongoDB 4.4
  • Upgrades to dependencies to pick up library improvements and bug fixes, as usual.

Resolved Issues

  • More trade fields now validated correctly when they are added to prevent calculation errors later.
  • Fixes to conventions where they differed from what was expected, including swaption surface day counts and Ibor/Ibor swap spot lag.
  • A few fixes, including updates to non-business day valuations and expiry vector calculation, were released as hotfix patches to 1.3.0.
  • A problem with the Absolute MTM Difference Allocation chart size on some screen sizes has been resolved.
  • A number of other automatically-detected errors were investigated and fixes put in place.

All changes

SXSD-5733 CR55 Loan Notes
SXSD-5606 TRS should have additional fields on each leg (Start, End Date, Roll Convention, Stub Convention, Business Day Convention & Business Day Adjustment
SXSD-5727 Add Initial Coupon to TRS trade list column headers
SXSD-5781 Improve Object not found error message in NON-MTM portfolios
SXSD-5785 Add Fixing Date on the TRS index - performance legs
SXSD-5803 Curve Calibration Error should be Yellow if IR Curves Calibrate and Credit Curves do not
SXSD-5805 Allow for Single Trade calculations of TRS
SXSD-5841 Remove “Business Day Adjustment” field from Loan Notes
SXSD-5844 Add additional fields to show TRS Value Adjusted (with payment delay)
SXSD-5847 Amend how the initial coupon is used in TRS calculations on the IBOR leg
SXSD-5707 Change LIBOR stripping type to single curve stripping on the Curve Configuration page
SXSD-5808 HOTFIX: Valuation Date should always be considered a working day for calibration and valuation purposes
SXSD-5807 HOTFIX: The Fixing offset business day adjustment for TRS should be set to “Preceding”
SXSD-5816 HOTFIX: Accrual on Overnight & Inflation Legs should use not adjust the valuation date if it is a holiday
SXSD-5728 Validation errors should not appear during TRS calculation
SXSD-5752 Notionals should be positive for TRS legs
SXSD-5787 Day count used in expiry calculations for volatility surfaces where skew type == ATM should be Act_365F
SXSD-5813 SENTRY: SOLUM-XPLAIN-API-KR - MongoCommandException: Command failed with error 112 (WriteConflict): ‘WriteConflict’ on server cluster
SXSD-5814 SENTRY: SOLUM-XPLAIN-API-KT - IllegalArgumentException: Unsupported product type: LOAN_NOTE
SXSD-5815 The Absolute MTM difference graphic should remain a constant size
SXSD-5820 HOTFIX: AUD 3M 6M IborIborSwap should have 1 day spot lag
SXSD-5622 Upgrade MongoDB version to 4.4.x
SXSD-5732 Migrate Aggrid styles from legacy SASS API to the new CSS Variables-driven styling system (inevitable after ag-grid upgrade to v29)

Patches after initial release

Three patches were made to this release in addition to the changes below:

Release 1.3.0 patch 1 - Mar 3, 2023

SXSD-5866 HOTFIX: Accrual should extend up to a non-business day valuation date before calculating projected rates in OIS trade valuations

Release 1.3.0 patch 2 - Mar 6, 2023

SXSD-5863 HOTFIX: The expiry vectors for Swaption Volatilities and Skews should be calculated based upon ACT/365F
SXSD-5827 HOTFIX: The expiry vectors for FX Volatilities and Skews should be calculated based upon ACT/365F and adjusted expiry dates

Release 1.2.18

Version 1.2.17 was not released publicly.

This release is a hotfix applied to cloud environments only.

Improvements

  • When the valuation date is a holiday, this valuation date will now be considered as a business day for valuation and calibration purposes, as well as accrued interest calculations.

Resolved Issues

  • The spot lag for AUD IborIbor swaps is now 1 business day.
  • The business day adjustment applied after a fixing offset on TRS performance and overnight legs is now “Preceding”.

All changes

SXSD-5807 The Fixing offset business day adjustment for TRS should be set to “Preceding”
SXSD-5808 Valuation Date should always be considered a working day for calibration and valuation purposes
SXSD-5816 Accrual on Overnight & Inflation Legs should use not adjust the valuation date if it is a holiday
SXSD-5820 AUD 3M 6M IborIborSwap should have 1 day spot lag

Release 1.2.16

This hotfix release has fixes affecting Inflation accrued interest calculations and TRS BOND IA values.

Improvements

  • T0, T1 and T2 Term Deposit conventions now exist as permissible nodes for NZD and AUD IR Index curves.

Resolved Issues

  • Updated the Accrued field in valuation results to not include the cashflow on the payment date.
  • Inflation Accrual will now calculated with actual number of accrual days.
  • TRS IA for Bonds are now scaled to 1MM.
  • Day count for expiry calculations amended to ACT/365F for swaption valuations based on ATM Only IR Vol surfaces.

All changes

SXSD-5786 TRS Bond IA price should be scaled by 1mm
SXSD-5787 Day count used in expiry calculations for volatility surfaces where skew type == ATM should be Act_365F
SXSD-5790 Inflation Accrual leg should correctly calculate YearFraction
SXSD-5791 Add NZD and AUD term deposit conventions (_T0, _T1, _T2)
SXSD-5796 Accrued Interest displayed should not show the T0 Cashflow amount on days when coupon’s are paid

Release 1.2.15

This hotfix release has a number of critical fixes to calculations, curve nodes and calendars.

Please note that existing FX Swap curves will need to be updated according to their “Spot Date” convention.

  • For Spot Date = 2, add a TN node
  • For Spot Date = 1, add an ON node.
  • This will ensure a proper calibration of the FX Swap curves.

Market data mapping will be required for these nodes, but adding market data will not be required. By default, when the MDKs of these nodes have been mapped, a default value of 0 will be used during calibration.

Improvements

  • Calendars for HUF now treat Saturdays as weekend days rather than holidays.

Resolved Issues

  • Fixes to TRS (IA) values which are now scaled correctly (100 for bonds, 1MM for shares) and aggregate real values.
  • FX Swap curves now accept TN nodes and set a default value of zero for both ON and TN nodes.
  • Inflation leg accrual now calculated using Act/Act.
  • When calculating expiry for swaptions the day count used is now Act/365.
  • The business day convention for Term FixedOvernightSwap nodes is now ModFollowing.

All changes

SXSD-5749 TRS (IA) Calculation for BOND TRS should be scaled to 100
SXSD-5751 TRS IA Values should aggregate the real values (not the absolute values)
SXSD-5776 FXSwap Curve should accept TN node and set default value of zero for ON and TN nodes
SXSD-5567 Accrual for the Inflation Leg should be calculated using ACT/ACT
SXSD-5760 TRS (IA) Calculation for Share TRS should be scaled to 1MM
SXSD-5779 Day count used in calculation of expiry for swaptions should be act/365
SXSD-5784 HUF calendar weekends should be Sat/Sun and have updated holiday dates
SXSD-5754 BDC should be ModFollowing for TERM FixedOvernightSwap nodes

Release 1.2.14

This release is a hotfix applied to cloud environments only.

Resolved Issues

  • Business day adjustment settings will be used correctly on payment schedules for trades which have a payment frequency == “TERM”

All changes

SXSD-5718 Payment dates should be adjusted according to the Business Day Adjustment settings in trade setup

Release 1.2.13

Version 1.2.12 was not released publicly.

Updates to all parts of Xplain. This release also includes three new features:

  1. Break test historic versions can now be viewed; and
  2. Accrual days and accrued amount now shown in PV valuation results; and
  3. Individual trades can now be valued without valuing an entire portfolio.

There is one new configuration file option. The data model will be automatically migrated from release 1.2.11 and no database cleaning is required.

The new configuration option is:

app.company-docs.advanced-content-type-verification-enabled: true

This security-related configuration option will cause company document uploads to be scanned and a file type determined for the file. If the media type does not match the file type sent with the file by the web browser then the upload will be blocked. You can disable this additional security check if you find files are incorrectly being blocked.

New features

  • Details of historic break tests can now be viewed from the versions list
  • Accrual days and accrued amount now shown in PV valuation results
  • Individual trades can now be valued without valuing an entire portfolio

Improvements

  • A warning message is now shown when some curves in a curve configuration are not successfully calibrated. More detailed information is shown in the audit log.
  • When archiving Market Data Keys, the user is now asked to confirm the archive date and whether to delete all future versions.
  • “Object not found” error reporting improved to show what is missing.
  • The percentage progress of valuations is now displayed.
  • Discount Factor added as a permissible interpolation type.
  • Term deposit conventions added for AUD and NZD currencies.
  • The local currency calibration algorithm is now consistent with valuation behaviour in that remaining Xccy/FX Swap curves will also have calibration attempted.
  • IA is now scaled for 1 million instead of 100, and also shown per-leg rather than only per trade.
  • The treatment of management fees on calculations has changed and is now shown separately.
  • It is now possible to optionally input Initial Coupon and Initial Base Index on TRS trades.
  • The ordering of curve configuration settings is now consistent when XplainXVA is enabled.
  • For performance legs in TRS trades, accrual frequency must now always match payment frequency.
  • When viewing a holiday calendar, the weekend days are now also identified for the calendar as well as the non-weekend holidays.
  • Improvements made to the default ordering of lists across the system.
  • Holiday calendars added for the following currencies: ARS, AED, CNY, HKD, HRK, ILS, INR, KRW, KWD, MYR, OMR, QAR, RON, RUB, SAR, SGD, THB, TRY, TWD, UGX
  • A new field Overnight Fixing Offset Days has been added to overnight legs. This denotes the observation date shift for each daily rate used within the accrual period.
  • Content-Security-Policy header added (cloud environments only).
  • Minor updates to conventions where they differed from what was expected.
  • Upgrades to dependencies to pick up library improvements and bug fixes, as usual.

Resolved Issues

  • It is no longer possible to navigate to archived MDK entries.
  • The audit entries .CSV file is now named correctly with timestamp.
  • Validations have been introduced for max tenor length and expiry to prevent errors opening curves.
  • Saving valuation data teams in the exception management window no longer causes a redirect to the task management window.
  • After clicking Clear Log, the page is now refreshed.
  • With IR Instrument Type exception management task granularity, volatility data is now included.
  • With Per Sub Asset Class exception management task granularity, tasks are now created for IR Rates, Swaption Vols, Swaption Skews and Inflation Rates.
  • An error calibrating CNY 3M curves on certain dates has been resolved.
  • Duplicated records are no longer shown in tables.
  • A problem where schedules cannot be generated when a schedule period has only holidays has been resolved.
  • Fix validation error when editing curves with a pre-existing term deposit node.
  • This version contains improvements to performance, testing, maintenance and reliability.
  • A number of redundant API endpoints have been removed.
  • A number of other automatically-detected errors were investigated and fixes put in place.

All changes

SXSD-4755 CR 13 Break Test Versioning Display
SXSD-4764 CR 39 Accrual Display Fields
SXSD-4774 CR 28 Individual trade pricing
SXSD-4291 Add “Content-Security-Policy” header
SXSD-4956 Add warning message when not all curves are calibrated
SXSD-4996 Advanced archiving options for the archive all in MDK
SXSD-5168 Improve “Object not found” error message across the system
SXSD-5284 Add progress counter to PV and TRS valuations
SXSD-5291 Discount factor should be a permissible “Interpolation Type”
SXSD-5398 Add NZD and AUD term deposit conventions
SXSD-5530 Should validate document type by content
SXSD-5554 Add calibration details to log
SXSD-5571 Local ccy algorithm should be consistent in calibration and valuation
SXSD-5601 Change IA to be scaled for 1 million instead of 100
SXSD-5603 Management Fee amendments to calculations
SXSD-5604 Implement IA for both legs
SXSD-5605 Add Initial Coupon and Initial Base Index as optional inputs to TRS trades
SXSD-5615 When XVA module is turned on, amend order of curve config settings
SXSD-5660 Add a new field to display number of accrual days and accrual amount
SXSD-5677 Accrual freq should = payment freq for TRS performance leg
SXSD-5679 Add message informing user what weekend days are for calendars
SXSD-5685 Improve default ordering of items (part II)
SXSD-5687 Add data for calendars
SXSD-5699 Add Overnight Fixing Offset Days to overnight legs for TRS
SXSD-5715 Add term deposit convention for INR ON node
SXSD-4128 Remove redundant BE API calls
SXSD-4722 Calibration refactoring, test coverage improvement, code decoupling
SXSD-4995 Improve MDK Archive All performance and fix logic for Archive all DELETE future versions
SXSD-5007 User should not be able to navigate into archived MDK entry
SXSD-5619 Rename filename for /api/audit/entries-csv response to include timestamp, instead of hardcoded value
SXSD-5633 Inner FX Vol and CDX pages for IR Index curve AUD AONIA should open
SXSD-5635 SENTRY: DistributedObjectDestroyedException
SXSD-5641 Saving valuation data teams in XM Task management window causes redirect to MD task management window
SXSD-5647 SENTRY: TypeError: Cannot read properties of undefined (reading ‘find’)
SXSD-5655 UI should refresh after clearing the log
SXSD-5656 SENTRY: NullPointerExceptioncom.solum.xplain.trs.valuation.NonMtmValuationsExecutor in saveResults
SXSD-5674 When selecting task granularity IR Instruments per instrument types - show Volatility Data to be cleaned
SXSD-5678 When selecting task granularity Per Sub Asset Class together with IR Currency - tasks should be created for RATES NON IR points
SXSD-5680 Resolve error calibrating CNY 3M curve on certain dates
SXSD-5698 SENTRY: Server error when trying to open CDS curve
SXSD-5703 Duplicated records are shown in most of the tables
SXSD-5704 Schedule generation fails when a schedule period has only holidays
SXSD-5716 Saving a curve node form with pre existing term deposit node should not causes validation error
SXSD-5717 Sentry: Cannot read properties of null (reading ‘enabled’)
SXSD-5718 SENTRY: TypeError Cannot read properties of null (reading ‘enabled’)

Release 1.2.11

Version 1.2.10 was not released publicly.

Updates to all parts of Xplain. This release also includes one new feature:

  1. New APIs to retrieve access log audit information showing user access to Xplain

There are no updates to configuration file options. The data model will be automatically migrated from release 1.2.9 and no database cleaning is required.

The new access log APIs are:

/api/audit/access/log - retrieves a list of accesses for an individual user. An id and/or name parameter must be passed to this API endpoint and the results are paginated. Each access returned will include the user roles, permissions and teams and the default sort order is most-recent-first.

/api/audit/access/latest - retrieves a list of the latest access time for all users. Only the user and latest access timestamp are returned. The default sort order is oldest-first. This endpoint is intended to support processes to remove access from inactive users, for security reasons.

Since login is delegated to an IdP, the concept of ‘access’ to Xplain means successful resolution of a new user access token issued by the IdP. Subsequent requests will use cached user details.

New features

  • User access is now audited and can be queried either for an individual, or to determine inactive users, using new API endpoints.

Improvements

  • When filtering items on a dashboard, the filter will not apply until the Apply Filter button is pressed. This allows for easier multiple selection.
  • Valuation data resolution now runs asynchronously in order to shorten import time and increase performance.
  • The total counter now refreshes on the screen after importing or archiving trades and reference securities.
  • Market data, valuation data and fixings now correctly handle point-in-time filtering of archived values.
  • XplainTRS now shows Base Index (was Current Index), Previous Base Index (was Previous Index Fixing) and Reference Index (the valuation date fixing).
  • Updates to TAIBOR fixing rates offset from 0 to -2
  • CNY trades where the accrual period is weekly and payment periods are monthly can now be handled.
  • Linear extrapolator added for log-linear Zero Coupon interpolated curves.
  • Minor usability improvements.

Resolved Issues

  • Fixes to BRL trades accrual calculations.
  • INR curves with ON nodes can now be calibrated.
  • Last Modified By is now shown correctly on each settings version list.
  • Resolved UI routing defect found prior to release of 1.2.10

All changes

SXSD-5537 Queryable access log
SXSD-5205 Improvements to filtering in Dashboard
SXSD-5294 Make VD resolution process async
SXSD-5297 Counter refresh implementation in trades list, security master and non-MTM trade list
SXSD-5401 Improve MD/VD/Fixings archived values filtering to take timestamp
SXSD-5541 Display Current Base Index, Latest Index, Previous Index Fixing for TRS
SXSD-5565 Change TAIBOR Fixing rates offset to -2 from 0
SXSD-5580 Amend Payment and Accrual schedules for CNY 13W 3M
SXSD-5609 Rename Calendar view export button
SXSD-5610 Add LINEAR extrapolator (based on ZC) to curves with “Interpolator” == “LogLinearDiscountFactor” and”Interpolation Type” == “Zero Coupon”
SXSD-5568 HOTFIX: BRL trades accrual calculations should be correct
SXSD-5583 HOTFIX: INR curve with ON node should be calibrating

Release 1.2.9

Updates to all parts of Xplain. This release also includes three new features:

  1. New break test for day-on-day sign;
  2. Addition of a quaternary provider for valuation data; and
  3. Ability to view and export holiday calendars.

There are no updates to configuration file options. The data model will be automatically migrated from release 1.2.8 and no database cleaning is required.

Please note there is a change to curve node import file format where the column heading has changed from Type to Instrument Type.

New features

  • A new Day-on-day Sign break test is available when defining break tests for market data. It identifies where the sign of a value has changed from +ve to -ve or vice versa. Missing or zero values will not create a break.
  • An optional quaternary provider has been added for valuation data: company and entity valuation settings, break tests and exception clearing have been updated accordingly.
  • A new menu item Data/Static Data/Calendars has been added. This new page allows holiday calendars to be viewed for any year or exported for all years.

Improvements

  • SGD-SORA fixed overnight conventions added.
  • Valuation Data Group can now be shared between multiple companies.
  • BRL CDI curve tenors are now validated in the UI to avoid errors when saving.
  • Only one TRS valuation can now be executed at once for the same non-MTM portfolio.
  • When changing inflation seasonality from MANUAL to HISTORICAL, the manual entries will now be removed automatically.
  • Inflation Seasonality Adjustment table will now refresh automatically when the Xplain default valuation settings are changed on the same page.
  • Inflation fixings must now have a fixing date on the last day of the month.
  • The curve node import file format has a change to column headings from Type to Instrument Type.
  • The error message displayed when a user tries to modify data which is locked by another user is now more descriptive.
  • White space at the beginning or end of role and team external identifiers now causes a validation error.
  • Pop-up messages are now displayed for less time.
  • The valuation settings version list has been updated to show changes to the Exclude fixings from valuation date toggle.
  • Quote Convention, Fixed Coupon and Recovery Rate columns added to credit curve list.
  • Upgrades to dependencies to pick up library improvements and bug fixes, as usual.

Resolved Issues

  • Error message when importing trades with no matching portfolio has been corrected to identify the problem.
  • Market data group Created At/By fields are now populated.
  • It is no longer possible to import Credit Curve Funding nodes without XplainXVA enabled.
  • Market data groups and valuation data groups can no longer be cloned.
  • Valuation data dashboard now behaves correctly with respect to data locking.
  • TRS Index Fixing Date offset now adjusts the date correctly.
  • A number of other automatically-detected errors were investigated and fixes put in place.

All changes

SXSD-4748 CR 21 Exception Management Sign Break Test
SXSD-4750 CR 25 Exception Management Quaternary Provider
SXSD-4752 CR 42 Holiday Calendar View
SXSD-5204 Add SGD-SORA OIS Overnight Index
SXSD-5278 Allow Valuation Data Group to be shared by companies
SXSD-4637 Upgrade mapstructVersion from 1.2.0.Final to 1.5.3.Final
SXSD-4801 New nodes in BRL CDI curve should be validated in FE and BE to be consistent
SXSD-5195 Validate both role and team ExternalID fields for spaces at the end of inputed value
SXSD-5199 Improve “Operation Not Allowed” error message
SXSD-5404 Only a single TRS valuation should be able to execute for a single NON-MTM portfolio concurrently
SXSD-5468 Remove manual entries when changing seasonality adjustment from manual -> Historical
SXSD-5469 Add automatic refresh of valuation settings page when Xplain default valuation settings are changed
SXSD-5511 Add validation for inflation fixings have date at end of month
SXSD-5519 “Type” header should be “Instrument Type” for curve nodes import file
SXSD-5534 Shorten success and error messages display time
SXSD-5542 “Exclude fixings from valuation date” toggle value should be visible in valuation settings versioning list
SXSD-4300 Error message should describe cause when importing trades file with mismatched portfolio ID
SXSD-5487 Market data group fields Created At/By should not be just left empty
SXSD-5488 Credit curve Funding nodes should not be allowed to be imported when XVA is disabled
SXSD-5498 SENTRY: Fix MD/VD/Fixings retrieval to correctly treat future values
SXSD-5503 Remove cloning from MD, TRS MD and VD groups
SXSD-5532 SENTRY: Change error severity to warn for IllegalArgumentExceptions
SXSD-5545 SENTRY: TypeError: Cannot read properties of undefined (reading ‘id’)
SXSD-5546 SENTRY: TypeError: Cannot read properties of undefined (reading ‘dxCheckBox’)
SXSD-5549 Valuation Data dashboard should start while Valuation Data is being imported
SXSD-5569 TRS Index Fixing Date offset should adjust the date correctly
SXSD-5514 Bootstrap 4 library update
SXSD-5560 Add Quote Convention, Fixed Coupon and Recovery rate columns to credit curve list

Release 1.2.8

Versions 1.2.6 and 1.2.7 were not released publicly.

This release contains a number of updates to reliability and accuracy of valuations, and two new features:

  1. Support for storing account documentation associated with a Company; and
  2. Ability to export Price Indexes/Zero Coupon Rates/Forward Rates and Discount Factors for a whole curve list at once.

There are no updates to configuration file options. The data model will be automatically migrated from release 1.2.3 and no database cleaning is required:

  • Where existing Quoted Spread convention curves are specified without a Fixed Coupon, this will now default to 0.0 to preserve the behaviour of Xplain in release 1.2.3. Note that 0.0 is not a valid Fixed Coupon value and must be changed when updating existing curves.

New features

  • A new Documentation tab is visible when viewing a Company, where account documentation files for the company can be stored and retrieved.
  • When viewing a curve configuration, the Export drop down now also allows Price Indexes / ZC/FWD Rates and Discount Factors to be downloaded for the whole curve list.

Improvements

  • Exception management now uses a consistent record date within each step to avoid inconsistent data.
  • Audit entry retrieval has been improved to avoid errors when there are a lot of records.
  • XplainTRS now shows if a trade is missing and/or MDK or market data in the calculation results error log.
  • Added trade date and description fields to allocation trade details. If empty, they default to the respective reference security.
  • Accruals calculation is now based on actual RFR fixings.
  • A new toggle has been added to the Xplain Default Valuation Settings, to choose whether to exclude fixings from the valuation date onwards. The default is to include fixings on the valuation date.
  • Minor updates to conventions where they differed from what was expected.
  • Minor updates to the consistency of user interface navigation items

Resolved Issues

  • It is no longer possible to upload values for leg dividend on a TRS bond trade
  • Fixed issue where calibrating curves for local currency did not display results correctly.
  • Inherited valuation data settings are now shown correctly at an entity level
  • Break test settings are now correctly reset after cancelling an edit.
  • It is now possible to cancel a dashboard with unfinished valuation calculations after an application restart.
  • Historical seasonality calculation now throw an error if fixing at valuation date - lag is not available.
  • An issue where an exception management dashboard could not be created in certain cases, due to incomplete removal of data during deletion, has been resolved.
  • Leg day count for USD-FIXED-6M-LIBOR-3M is now corrected to 30/360 ISDA
  • Historical seasonality adjustment factors are now shifted back to the expected format for display.
  • The value of accrued interest now includes the value of the unpaid coupon when the valuation date is between the preceding accrual period end date and the payment date.
  • An out-of-memory error during exception management on cloud environments has been resolved.
  • A number of other automatically-detected errors were investigated and fixes put in place.

All changes

SXSD-4758 CR 20 Account Documentation
SXSD-4765 CR 41 All Curve ZC/DF Export
SXSD-3699 Remove $lookup in audit entry retrieval
SXSD-4989 Implement XM timestamp resolution logic with locking
SXSD-5288 [TRS] In TRS valuation results page within the CALCULATION_ERROR log, the log should show errors if a trade is missing MDK or just Market Data.
SXSD-5380 Update conventions within Xplain
SXSD-5390 Trade date and description should be added to allocation trade fields
SXSD-5420 Implement accruals calculation based on actual RFR fixings
SXSD-5433 Link to portfolio list archive should be “VIEW ARCHIVE”
SXSD-5438 Add toggle to exclude future fixings in valuations
SXSD-5104 SENTRY: NullPointerException com.solum.xplain.core.excmngmt.process.InstrumentResultRepository in preliminaryResult
SXSD-5354 User should not be able to paste a non-numeric value into Market data “Value” field, and create Market Data
SXSD-5393 User should not be able to edit LegX.Performance.Dividend field via import for TRS BOND
SXSD-5402 Local CCY discounting error in curve calibration
SXSD-5455 Inherited Entity Valuation Data Provider Settings should be displayed correctly
SXSD-5456 Break Test Task Allocation Settings should re-set edited values on CANCEL
SXSD-5471 SENTRY: Uncaught (in promise): TypeError: Cannot read properties of null (reading ‘inflationCurveNodeConventions’)
SXSD-5482 User should be able to CANCEL Valuation Data XM when application shuts-down during valuations
SXSD-5483 Historical seasonality calculation should throw error if fixing at valuation date - lag is not available
SXSD-5504 Dashboard execution(s) should not cause out of memory errors 503
SXSD-5505 Dashboard should be fully removed when deleting in Overlay - break test calculation phase
SXSD-5543 Fixed leg day count for USD-FIXED-6M-LIBOR-3M should be 30/360 ISDA
SXSD-5548 Historical seasonality adjustment factors should be shifted back into the standard BBG format for display only
SXSD-5553 Accrued interest should include unpaid coupon when valuation date < payment date and valuation date > previous accrual period end date

Release 1.2.5

This release is a hotfix applied to cloud environments only.

Improvements

  • Increased the degree of accuracy for displayed historical seasonality adjustment factors in the UI.

Resolved Issues

  • The effective date for cleared inflation conventions is now obtained by reference to the trade date, as opposed to the spot date.

All changes

SXSD-5520 Start date for cleared inflation convention should be calculated by reference to unadjusted valuation date
SXSD-5528 Display Historical Seasonalities with values up to 10 decimal places)

Release 1.2.4

This release is a hotfix applied to cloud environments only.

Improvements

  • Added Publication Date field to all fixings, which is taken into account for seasonality calculations and calibration/charts. Seasonality adjustment calculations now incorporate the last published fixing within the fixing lag.

Resolved Issues

  • Fixed Coupon can now be specified when creating a curve using Quoted Spread convention.

All changes

SXSD-5481 Add publication date to fixings
SXSD-5490 User should be able to specify the Fixed Coupon when using Quote Convention = QUOTED_SPREAD (as per POINTS_UPFRONT)

Release 1.2.3

This patch release fixes an issue with local currency curve calibration and includes library security patches.

Resolved Issues

  • Fixed issue where calibrating curves for local currency did not display results correctly.
  • Minor updates to conventions where they differed from what was expected.

Security Issues

  • Upgrades to dependencies to pick up security patches to resolve vulnerabilities.

All changes

SXSD-5402 Local CCY discounting error in curve calibration
SXSD-5380 Update conventions within Xplain
SXSD-5457 Dependencies updates / Vulnerabilities updates

Release 1.2.2

Updates to all parts of Xplain, the main focus for this release is readiness for full production operation including:

Support for Total Return Swaps;
Locking to prevent conflicts between data updates; and
Better IdP support

The data model for this release is incompatible with previous releases so the database needs to be cleaned before update.

The default UI configuration file has changed in this release so should be reviewed in order to ensure the post-logout page is configured correctly.

New features

  • XplainTRS module now available, supporting maintenance of audited bookkeeping of total return swaps and generation of accrual accounting valuations. Full documentation of the TRS Module is available in the user guide.

Improvements

  • Added external leg ID to the data model for all legged trades to make it easier to map data onto external systems.
  • Implemented locking to prevent concurrent changes to curves, market data, valuation data, trades and most settings.
  • OAuth client credential grant tokens can now be used for API access to Xplain.
  • Added toggle to include lag period in seasonality adjustment calculation.
  • Added toggle to display only unresolved items in all exception management clearing phases.
  • Removed redundant information from curve configuration where the XplainXVA module is not enabled.
  • All valuations related entities now have timestamp logic implemented taking into account not only date, but date and time in order to ensure clean data is used.
  • It is now possible to delete an “in progress” dashboard.
  • Updated navigation menus to group related items (such as TRS Module and XVA Module) together, and improved names and structure.
  • Upgrades to dependencies to pick up library improvements and bug fixes, as usual.

Resolved Issues

  • An extra step has been introduced after signing out so that the user does not immediately get redirected to the login screen. Please check env.js to ensure this is configured correctly when upgrading.
  • The unused Strike field has been removed from the UI FXOpt reference securities.
  • An issue where rows were not shown on dashboard status tables in certain circumstances has been resolved.
  • Only flat extrapolators are now allowed for log linear discount factor curve interpolator.
  • Fixed issue where trade currency PV was being adjusted incorrectly by pay leg T0 CFS, not net T0 CFS.
  • IborFuture dates for NZD 3M changed to roll on first Wednesday after 9th of settlement month.
  • An error where archived credit curves were not shown in versions has been resolved.
  • All dates are now shown consistently in ISO format.
  • An issue where permitted tenors were incorrect in FX Swap and Onshore OIS curves has been resolved.
  • Resolved issue where exception management tasks for other teams were visible when they should not have been.
  • A number of other automatically-detected errors were investigated and fixes put in place.

All changes

SXSD-4545 CR 2 TRS implementation in Xplain
SXSD-5415 Add leg id to trade legs
SXSD-5385 Rename “Product” -> “Trade Type” in export/import file for Trades
SXSD-5380 Update conventions within Xplain
SXSD-5347 Rename Valuations menu item and aggregate TRS and XVA menu items
SXSD-5323 Add missing import locks
SXSD-5287 Implement PV Valuations timestamp resolution logic with locking
SXSD-5281 Support trusted client credential tokens with no explicit roles or teams
SXSD-5276 Add toggle to include lag period in seasonality adjustment calculation
SXSD-5206 Add toggle for Unresolved Only for all XM clearing phases
SXSD-5130 Remove requirement for MDG to be linked to a company to run a valuation dashboard (BE + Investigation)
SXSD-5125 Implement Curve config settings to be managed dynamically allowing to hide funding spreads, funding nodes and inflation when XVA module is disabled
SXSD-5013 Implement locking solution for fixings import
SXSD-4988 Implement TRS Valuations timestamp resolution logic with locking
SXSD-4986 Implement Curve Calibration timestamp resolution logic with locking
SXSD-4878 Implement locking solution for VD import
SXSD-4877 Implement locking solution for MD / TRS MD import
SXSD-4644 Implement timestamp logic for PV Valuations (with all dependent entities)
SXSD-3830 Implement “In progress” dashboard deletion
SXSD-5363 Resources menu item should be renamed to “DOCUMENTATION” and should point to new xplain docs site
SXSD-5318 Solum Xplain Dependencies Updates - 2022 Q3 - FE dependencies upgrade
SXSD-5222 Solum Xplain Dependencies Updates - 2022 Q3 - AgGrid upgrade
SXSD-5418 Sentry: IllegalStateException: Unexpected value: ERROR
SXSD-5408 Optimistic locking for TRS trades should not allow to import data if any state changes found
SXSD-5397 Remove “Strike” field from Fxoption ref security
SXSD-5394 Dashboard Cancel button(s) should be active
SXSD-5392 Dashboard tasks under clearing steps should be always displayed
SXSD-5388 After signing out user should not be redirected to login automatically
SXSD-5387 Optimistic locking should not allow import if state changed between validation and actual import
SXSD-5375 Only flat extrapolators should be allowed for log linear discount factor curve interpolator
SXSD-5368 SENTRY: TypeError: Cannot read properties of undefined (reading ‘h2’)
SXSD-5360 Trade ccy PV should be adjusted by trade ccy T0 Net CFS
SXSD-5344 Export Trades config should work
SXSD-5322 IborFuture dates for NZD 3M should roll on first wednesday after 9th of settlement month
SXSD-5300 Archived credit curve should be visible in versions window
SXSD-5275 Dates in Xplain should be shown in ISO format
SXSD-5256 Nodes with tenor = ON should be allowed for FX_SWAP and Onshore Ccy OIS curves
SXSD-5101 There should be no console errors when viewing pages in Xplain
SXSD-5016 Tenor period should not be 1 day
SXSD-4906 SENTRY: Incorrect AuthenticationContext in parallel processes
SXSD-4900 User should not see tasks for other teams
SXSD-4782 SENTRY: TypeErrorArray.filter error Cannot read properties of undefined (reading ‘status’)
Introduction to Xplain
Curves
Portfolios
Data
Valuations
Data Cleansing
Preferences
Admin
Importing and Versioning
XVA Module
TRS Module