Industria and Finteum: intraday liquidity trading on Corda
Great news! Finteum and Industria have built the first version of our intraday liquidity trading system on R3’s Corda. Finteum enables treasurers and funding managers to enter orders to propose that they would like to borrow from or lend to the market for the next few hours. If you’re a bank Treasurer, funding manager or in a financial services organisation and you’d like a demo, or to get involved in a trial, please get in touch at firstname.lastname@example.org.
Why is this great news?
For R3 members, especially banks, it means that financial technology has moved one step closer to the dream of having many efficient capital markets trading systems built on Corda. For Industria, it is proof for current and future clients that their team can quickly build great CorDapps in capital markets and, by extension, in other tricky verticals. For R3, it is evidence that the ecosystem around Corda is advancing (I’m writing a separate post on that). For Finteum it means that we have a first version of our software solution to iterate on. Good news all around!
Interesting! So, what have you actually built?
It’s a trading system. It works and looks like Bloomberg or Eikon or any other trading system. Except it’s specifically for borrowing and lending between financial institutions for hours at a time (intraday borrowing and lending).
Does that mean Finteum is trying to compete with Bloomberg?
No, we would prefer to partner with trading system providers in the medium term. But in the short term, since there was no trading system for intraday liquidity available to us, we built our own.
How was the project?
Working with the Industria team was a real pleasure. I spent a week in Sofia to kick it off. I’ve been in a lot of European capitals, and Sofia is worth seeing. Previously I hadn’t worked very closely with a third party development partner. I think it is worth spending the start of a project like that in the same office. During that first week the Industria team hosted me really well and understood and challenged the problem and the solution. Within days we had a UX design and had created our development plan.
So how does the Finteum solution work?
In the version of the solution we built, traders can enter orders in the front end to propose that they would like to borrow or lend. Those orders are recorded in that participant’s database, or node. In the back end, there is a node that receives all orders from the market and matches them. Because of Corda’s features, the matching node doesn’t even need to know the identity of the participants the orders came from, because anti-money laundering (AML) and know your customer (KYC) can be managed separately. Once two orders are matched, a trade is created automatically. Only the entities that need to know about the trade will see it (Corda’s point-to-point transaction sharing). There is one source of truth for each trade, so there is no need for reconciliation. Orders are validated in advance so failed settlements are a thing of the past.
What is a trading system for intraday liquidity?
The market structure underlying Finteum’s system is similar to that outlined in the paper that Finteum co-authored with R3 and Baringa Partners. It is designed so that banks can create orders, then Finteum can match them and communicate instructions to a central counterparty (CCP) that acts as the legal counterpart for both borrower and lender. This is different to how centrally cleared trades work today because initial margin would be different. This structure provides banks the anonymity needed to continue transacting in the market during a stress event.
How did the project team work together?
Industria and Finteum managed to create a trading platform in 5 weeks with a small team. Together we applied Agile and Scrum development principles, which helped us to make quick progress. We organised our development into “sprints” containing prioritised “user stories” from high level “epics”. We assigned Fibonacci numbers to user stories so that we could follow our speed of progress, track how well we were estimating the difficulty of tasks, see where we were running into problems, etc. We organised ourselves through weekly sprint planning and daily standups. Finteum’s tech co-founder Zbi and I were on hand for occasional questions. Zbi reviewed daily pull requests. This meant that we moved extremely quickly and built a great solution in a short time.
What have you learned through the process?
Flexibility is very important in software development, but especially when using Agile principles. I had some experience with this already (Zbi had a lot), but now I appreciate it even more. As Zbi likes to remind me, many things can affect development progress. An engineer’s experience is important, but many other factors can lead to her or him solving a problem quickly. The Agile process requires the team to roughly estimate how difficult each problem will be and which problems they will solve in a 1–3 week period, but the truth is nobody really knows. Everyone needs to adjust along the way. As a result, the team spends more time developing than planning, which is great. But clients absolutely must not have a “why isn’t this done yet” mentality. Importantly, we found that because we at Finteum remained flexible throughout, it helped to maintain a good relationship and atmosphere with the Industria team. I plan to carry this flexibility into Finteum’s next phases of development.
We are hoping to take this version of the Finteum solution into a trial with potential clients so we can get more feedback and improve it. If you’d like a demo please get in touch at email@example.com. We are also hoping to do more work with Industria, who truly know the meaning of the word partnership.