Case Studies Blog Careers Technologies
Reducing Operational Risks and Trading Frauds with Generative AI
Capital Markets
Python, AWS Sagemaker, AWS
About Client

The Client is a part of one of the top 5 Financial Services conglomerate in India, offering retail broking and investment services. The client is a full-service broker offering execution along with research, advice, financial planning, etc. 

Problem Statement

Call & Trade is a facility that allows customers to trade in the stock markets placing either buy or sell orders using registered mobile phone or registered landline to automatically authenticate themselves. Normally, the call and trade facility are made available to online trading customers to handle downtime.

The typical downtime is faced in a situation where customers bought shares and the price is falling but the system is creating problems, sometimes orders may be going through but you are not getting confirmations or unable to place orders because internet connection is facing downtime or facing a power outage or trader is not too computer savvy. Here, a Call and Trade facility comes handy for such contingencies.

Client is facing huge challenges in reconciling the actual Trades happening via their Call and Trade feature resulting in compliance issues and loss of reputation and fraud of millions of rupees

Wherever the order instructions are received from customers through the telephone, the client shall mandatorily use telephone recording system to record the instructions and maintain telephone recordings as part of its records. When a dispute arises, the burden of proof is on the client to produce the above records for the disputed trades.

Few examples of disputes are: placing order(s) without customer clear consent, placing order with wrong order quantity or price, sometimes mistake happens in placing order on the wrong stock, misuse of funds, short term buying and selling without customer’s consent


The client was looking to proactively track and address such issues on a T+1 basis to minimise operational risks and frauds and in turn improving compliance with regulatory guidelines

On an average there are 10000 to 15000 Call and Trades per day, since we had to deal with thousands of audio recordings and compare them in a Trade database, we quickly identified that this was a task to be automated

To top it all, customers talk to call centre representative in not just one but multiple languages and most of the time these were lengthy conversations and are filled with very interactive dialogues with lots of back and forth on which stock to trade, at what price and what quantity

Here is one such example, our task was to find exact order, per order stock, quantity and price, whether he/she is buying or selling and if the order was actually confirmed or not:


Hello, Manjeet Yes, Manjeet sir, Kundan speaking. Good morning. How are you? I am good. I have heard that Nifty is above 25 points, Bank Nifty is above 220 points, and Bialayat is above 950. Do you want to buy anything? I didn't understand. Repeat it. Manjeet speaking. Sir, I spoke to you last night. Yes. I am talking to you directly. I am talking to the taxi. Do you remember? Does this share apply on Netflix? No, sir. It doesn't apply on Netflix. It is not available on Netflix? Sir, it is available on Indian market. You can do that too, but for that there is another app, through our service. Is it a third party app? Yes. It is not trustable. See, there are many ads to cut, but it is not trustable. This happens. Now, consider it as Indian market. See, in foreign market, it is the same. If it is up, then what is the use of investing money? If it is down, then what is the use of investing money? What? Market. Market is continuosuly going down. Now, see, it means that the budget is coming. ICICI Bank is running at Rs. 774. You can buy it. It has results too. On 20th, right? This is the result of ICICI Bank. It has fallen now. Sir, it has come from Rs. 900 continuously for 3-4 days. Now, it is Rs. 873. From Rs. 925. How much is it today? Today, it is Rs. 874. See this. See this. A few days ago, it made a high of Rs. 958 in its lifetime. After that, it came down a little. It came down f the time when the market came down. Will you tell in the long term? I am telling for the long term, sir. Mid cap is not going to work now. All blue chip companies will work. Okay. You can ask anyone. When the market falls, then everyone falls. When the market runs, then blue chip companies run first. Okay. So, ICICI bank is very good. Keep it. It has come down from the top. And the result of this is going to be very bad. ICICI bank? Yes. Sir, invest 5 shares in it. Should I take 5? Yes. Okay. Make a portfolio, sir. Look, of good companies. Don't take shares of 2-4 rupees. Whenever you want to make, make a portfolio of good companies. When your portfolio is very good, you will feel that you are getting a return. Are you getting it? This is the thing. Okay. Okay. Sir, I dont have much knowledge in this. You have to invest in 5-5 small ones. You are making small ones. There are many small ones. Sir, I am holding it for 4,000 rupees. Okay. Okay. Sir, take 5 shares. Okay. Okay, sir. Thank you.

The proposed solution is to find stock, quantity and price per trader, per order and match it back to end of the trade and reconcile – gaps if any notify Client’s designated office with relevant details

While there are various Speech to Text, translation, RPA or Hyper Automation tools and Cloud options available, by itself they can’t analyse audio files and build meaningful relationships. This was a perfect use case for Large Language Models which can recognize speech, process it and identify keywords, relationship with good accuracy and have potential to train and improve accuracy

The final outputs depended on two key parameters – LLM’s ability to recognize speech and LLM’s ability to identify the specific keywords. For the former problem, Whisper AI came in handy which is an offline LLM (the one which ChatGPT uses under the hood) available in python which can transcribe as well as translate text. To solve the latter, we had to train the LLM on our custom data so it could not only recognize keywords but easily create relationships between them which NLP models take 10X more data to train on to get to a decent accuracy

  • Development : Python
  • Transcribing & Translating : LLMs – Whisper AI, Bloom
  • Named Entity Extraction and Relationship Extraction : Approach 1 (NLP) – Labelstudio, BERT | Approach 2 (LLM) – Falcon, Red Pajama, SalesForce X Gen
  • AWS Services : EC2, Sagemaker
Value Delivered

Project is still work in progress, we are able to achieve the required with decent accuracy in simple to medium - complex conversations between caller and call centre representative. We are working towards make it work when the conversations are lengthy and disjointed with lots of back and forth.