Auto Limit Approval & Portfolio Margining

The auto validation and limit approval at point of trade execution

About

One of the most challenging products I worked on was the digitization of price sourcing and trade execution. This involved the integration of a new enterprise SaaS platform that involved mapping and re-engineering existing processes and designing new system features to replace tasks that would have been done manually.

However, along the way there were opportunities for new features that were not in the original design. This is one of them.

The Platform

A SaaS enterprise platform that is intended to automate the price sourcing and trade placement. The intention is to shift the responsibility of sourcing of market prices from trading to sales, providing trading more capacity to manage complex structured trades. The responsibility would be distributed across many users instead of just a few.

My Role

As Product Manager and Owner for the entire multi year initiative, I was responsible for the entire roadmap and timelines.

 

Specific Challenges

Due to the long timeline, changes in the organisation constantly introduced new priorities that had to be managed and juggled to avoid any adverse impact on the whole initiative.


The vendor selected had minimal experience in dealing with a smaller firm (est. 250 people) and previous platform was based on old architecture.

It was the first time where the firm was integrating this type of platform solution, and the first time for the vendor developing a product based on cloud architecture.

The Journey

Discovery

Being an entirely new platform, the roadmap was never static and many features were requested and prioritized. One common complaint but strangely never scoped as platform feature was the number of loss or failed trades due to insufficient cash in the client account at point of trade execution. This was a common occurrence under the original workflow.

Hypothesis

I posed this question to multiple users across the department

If there was a way to easily check the amount of cash in the client’s account, there would be less instances of missed trades or error trades.

Original Workflow

To understand the workflow better, I organized a mock scenario with participants from Sales, Sales Support, and Risk. I will call them SA, SS and RI respectively.

My point of entry here is where the client has agreed to all trade terms and consented to place the trade

WorkshopActors.JPG

I asked everyone to walk me through the scenarios and the workflow was discovered 

OriginalWorkFlow.JPG

Seeing Through The Ambiguity

It was now clear to me that the 2 pain points to solve for were;

  1. 2 different applications are required. 1 for trade placement, the other to check the amount of free cash. The application to check for client’s free cash is slow to load and the information was not easily observable.

  2. The time taken the request a limit increase and for the approval to be reflected in the application.


I worked with the team to design a process that will work for us and the unique needs of the organization which essentially removed the lag times and would provide better information on the client’s available free cash.

 The Product (Solution)

For the Product Solution, Risk and IT developers were my key partners.

We implemented a data feed between the existing client account application and the platform. However, due to system constraints, this datafeed could only happen 4 times a day.

We then had to design an automated approval workflow where parameters could be set up so that request for margin increases would be automatically approved and the trade can be completed.

DesiredWorkflow.JPG

To do this, we set up a “Virtual Liability”.

Virtual Liability

This Virtual Liability would be assessed against the client profile and documentation with approval conditions defined.

Virtual Liability =

Max [ (Weighted Average Haircut x Uncollateralized Portfolio value), (Free Cash x Leverage) ]

 

The system logic when performing trade checks.

 
TradeCheckLogic.jpg
 

Auto Approval

AutoApproval.JPG

The solution allowed a lot of flexibility according to the specific client profile through the use of the following fields

  • Leverage Factor: Can be set according to client’s total assets, wealth and payment and trading history

  • Payment and trading history: Obtained from trading data the new platform captures

  • Total Assets and Wealth: These are refreshed every 6 months

  • Weighted Average Haircut value: This is auto calculated by Risk and set weekly.

Effectively, the virtual liability represents in 1 figure what the client’s maximum loanable value when trading on the platform. Additionally, we built in the function to cap the virtual liability according to the client’s preference

Metrics For Success

 

Error Trades

Number of error trades due to limit breach eliminated

Client Complaints

Client complaints and lost trades decreased

Speed of execution

Time taken to complete trade decreased

Feature Extension

Traditionally, for a given position in stocks and/or options, the margin limit granted to a retail investor is lower than that for a professional trader. The general rational being the retail investor is less capable at managing the risk of the portfolio. With the increasing sophistication level of retail investors and tools available, this gap is rapidly closing.

Portfolio margining is typically based upon overall position risk of the account. It factors in suitable risk hedges in the portfolio thereby allowing for higher margin limits or lowering the required margin.

However, portfolio margining is not permitted for all markets and not all firms have the necessary infrastructure to implement the dynamic stress testing and netting rules.

When faced with these constraints, extending this feature allows for margining on part of the portfolio thereby enabling collateralization on some of the assets owned in a managed account.

The Product (Solution)

We separate a portfolio into 2 sub portfolios

PFMargining.JPG

Within Portfolio M, margin is granted based on the issuer of the securities, not the individual securities itself. This maintains consistency with the portfolio risk approach.

*Refer to my other post here on simplifying the issuer concentration


The portfolio margin limit would therefore be

Sub Portfolio M limit = Max [ 0, sum (Weighted Average Haircut per Single Issuer in portfolio) ]

Key Benefits

 

Flexibility

The margining rules only have to be set up at the issuer level without having to adjust the rules of the portfolio itself

Easier Implementation

Only the sub portfolios and issuer margining rules are needed. There is no need for dynamic stress testing and complex netting rules

Compliance

Margining is on part of a portfolio, there is no breach of regulatory rules

Future Features

With the integration of the monitoring and the platform’s improved data capture, there were so many possibilities, a couple of future ideas that I brainstormed along the way

 

Systemic look back

We look at client frequency and regularity of trading vs cash flows. Based on defined parameters the platform will automatically increase the lending limits.

 

Trade lifecycle and cash flow management.

The platform will perform trade lifecycle management and check past cashflows to predict future cashflows.

The platform will then auto raise a limit increase request, roll the loan on same terms, or notify the client.

 

Client Onboarding

With standardized client documentation, the onboarding can be streamlined and systematically matched against suitable products. Monitoring client activity will also facilitate the recommendation of suitable products in the future.

Previous
Previous

Simplifying & Unifying Concentration Risk