Having source code for TCA is useful

I’d love to be able to cook. I’m slowly learning, but cooking anything more complicated than a pasta essentially flummoxes me. When it comes to eating, well, the inability to cook is of no hindrance for me to consume food of bewildering complexity. I have no idea how to make a duck confit (and even less of an idea what precisely it is) but I’m quite sure I’ll be able to consume it with gusto. Even if I knew how to make it, it would be of no use to me, at this stage.

When it comes to eats desserts and baked food, by contrast, I always want to know the tips and tricks of how it was made. Why? Because I’ve done a bit of baking myself, and want to always improve. Usually the first time I bake something it’s never quite right, but with practice and researching a few different recipes, there’s an improvement.

So why I am talking about cooking and baking in an article about finance? Partially, because I’m hungry and it’s quite long time till lunch. But, I’m also doing so, because there’s a parallel with markets. When it comes to markets, we all do a large amount of analysis of price action. Some of this can involve “eating” and the other parts can be “cooking” and “baking”. The “eating” involves taking analysis from others, and including it in our decision making process.

In the context of doing transaction cost analysis, this might involve using an external TCA provider to analyse your trades and send you back their findings. The set menu of choices is limited and you don’t usually have access to the recipe/algorithm/source code or the raw ingredients/data, but if you don’t have the resources to “cook” then this is definitely the a reasonable option.

However, let’s say you want to go a bit further and you want to try something slightly different, to do your own customised transaction cost analysis. In practice, in my discussions with market participants, there isn’t a “single” way of doing transaction cost analysis, and each participant has a very different view of what’s important. A large asset manager will for example have a different perspective on execution than a small hedge fund. In essence, this customisation process is basically the “cooking” and “baking” part. It’s obviously more time consuming, and requires very specific knowledge to create the recipe/algorithm/source code and raw ingredients/data.

But, is there another way? So we don’t have to create everything from scratch? What about a mix between the two, where you get some ready made source code and you have the option of changing the raw data? In practice, this means you can modify the source code so it exactly fits your requirements, without having to spend years reinventing the wheel and rebuilding the foundations of the software. Furthermore, you get to choose whatever raw data you want to feed into your transaction cost analysis application, from the market or indeed your own trading data. If you have the source code, you can run it locally and hence keep any proprietary data private (eg. your own trade data) as well.

Indeed, if you are interested in having a ready-made but also very customisable and transparent TCA solution for FX, let me know! I’ve been working a FX TCA libary (link here) for nearly 2 years, written in Python and it’s now available for clients. Clients get all the source code for the softaware and can modify it. On another note, I think it might be time for lunch (no, really!)