Automated rule libraries have become essential to the trading process, and can have a significant impact on the front office. Rules that are accurate and precise facilitate a smooth pre-trade and post-trade check, while vague and inaccurate rules can create noise, slow down the trading process, and leave the door open for expensive trading errors. In recent years, best practices have evolved to improve the quality of the compliance rules library by restricting the ability to write a rule to a few, anointed individuals in an organization. As regulations have grown more complex, the automated rules have followed suit, and some compliance managers have delegated the task to Technology, leaving it to them to “code” the rules.
Compliance Rule “Coding:” What does it really mean to “code” a compliance rule? If you have a home-grown system, it may mean that it is written in a SQL-like fashion, and some programming skills are necessary. If you have a commercial system, however, “coding” the rules is a bit of a misnomer. It is shorthand for the tasks involved in turning the “plain English” legal definitions in a prospectus, SAI, client agreement, indenture, or regulation, into a logical statement that can be processed by your compliance system. Most of the market-leading systems have a “plain English” interface that facilitates rule coding by non-programmers. Why, then, is rule coding so challenging, and why do so many automated rule libraries end up rife with errors spewing “false positives” that slow down the trading process? The issue is that the commercial interfaces, while helpful, do not alleviate the necessity of crafting precise, logical statements. In fact, most of the logical thinking about how to translate a compliance mandate should take place before the rules are written. Below is an example of an institutional client mandate:
The fund shall invest a maximum of 5% in the holdings of any single, non-domestic issuer.
- Shall Invest– Does this rule apply to current holdings or new purchases (or both)? For example, if an equity holding increases in value, and thus grows to more than 5%, must the fund sell a portion of the holding to bring it back to 5%, or does this rule simply restrict additional investment?
- A Maximum of 5%— A percentage calculation requires a numerator and a denominator. Does the rule specify the denominator we should use? For example, the denominator may be simply the total of all investments or it may also include cash. For a bond fund, the denominator could be the total net asset value. For balanced funds, the denominator may be segregated by investment class–i.e. equity only or debt only. Does the rule specify the numerator—are any securities, asset classes, or issuers excluded from the calculation, such as Treasuries and/or agencies? For structured products and indices, do you look-through to the underlying exposure?
- In the holdings of any single non-domestic issuer– What counts as a single issuer? If the security is an equity, do we have the proper parent/child relationships constructed for issuers? If this is a wholly-owned subsidiary, should we roll the holdings up and count it against the 5% limit on the parent? How does the rule apply to municipals, i.e. do we have obligors/guarantors identified?
- Non-domestic issuer:How does the fund define “non-domestic?” Is it primarily concerned with the country of incorporation, the country in which the firm primarily does business, or perhaps the country of the primary exchange on which the instrument is traded? Some funds will also exempt certain countries, such as Canada, from the “non-domestic” label. Some funds or accounts may also be referring to a non-domestic country according to the client, not the investment manager.
Generally, there are specific categories of compliance rules. Some are easier to code than others. Exclusion rules simply prohibit something from being traded. Limit rules, like the example given above, can also be straightforward; but keep in mind that there are several ways the source document may read. Do you want to include or exclude a position that is exactly at 5%? Do you only want to flag if it is greater than 5% or do you want a warning when it gets close to 5%? If you are coding compliance rules, you will likely also come across trade rules like no cross trading or restricted brokers. Finally, you will want to consider what time of day your rule will run. Is it meant to run in pre-trade, post-trade, in batch compliance at the end of the day?
Clearly defining your compliance rules will help ensure consistency across the organization. It will also ensure that you will know what to expect as the rules are automated, and that the rule “coding” can be done efficiently and consistently. Lastly, it will ensure that your automated compliance engine will do the job it was intended to do, lowering the risk and improving the efficiency of your trading process.