High rise buildings

Keep up to date with our latest blog posts, webinars and whitepapers.

  • There are no suggestions because the search field is empty.

Automating our rule testing

Posted by James Crowley on Aug 6, 2012

At FundApps we believe clients shouldn't have to learn yet another rule language or bring in expensive consultants to update or write new rules. That's why we don't just write software at FundApps, we provide the rule content too. Our rule team are constantly updating the rules in our Rapptr compliance engine to reflect the latest legislative changes, along with any bespoke rules our clients need. 

When our rule team write a new rule, we also write specifications of how we expect the rule to behave on a set of sample portfolios. If we receive updates from our legal partner or regulators, we can update our rules - and then verify our expectations on what assets cause breaches or warnings.

Here's an example of some of our tests for the 5/40 UCITS rule in Ireland, on two test portfolios we have defined.

Feature: Max. 40% NAV in issuers which exceed 5% NAV In order to comply with UCITS IE rule 09.x.04ii As any UCITS fund I should own a maximum of 40% from issuers that exceed 5% of the NAV.
Background: Given the rule 'Max. 40% NAV in issuers which exceed 5% NAV'
Scenario: 4 Issuers combined approaching limit When processing input file SingleFund.xml Then the rule value should be 36.4000 And the alert level should be Warning And should have aggregated these results
Key Value Assets | | LUFTH | 5.1600 | Lufthansa, Call Option on Lufthansa | | RYAN | 7.2400 | Ryanair, Put Option on Ryanair | | AIRF | 8.0000 | Air France | | USAIR | 16.0000 | US Airways |
Scenario: Some Issuers over 5% When processing input file Ucits_Ireland_Day1.xlsx Then the rule value should be 49.5510 And the alert level should be Breach And should have aggregated these results
Key Value Assets | | Ryanair | 6.0000 | Ryanair | | Singapore Airlines | 10.5510 | Singapore Airlines, Call on Singa (Bad CP) | | RIS | 11.0000 | Recently Issued | | RIS1 | 11.0000 | Recently Issued 144A | | Unlisted | 11.0000 | Unlisted |

Our suite of tests is growing all the time. These are run automatically against our test portfolios with every change to our system - so that we know not only that it works perfectly now, but will continue to work as expected for every future release.

UCITS Specflow snapshot

UCITS automated test results

How confident are you that your rules still run correctly after a software update from your vendor?