# Stack to Street — Episode 4 Title: Your AI Shouldn't Guess the Formula Guest: Jeroen Bouma (Creator of Finance Toolkit) Project: Finance Toolkit Date: 2026-11-09 Episode page: https://www.stacktostreet.com/episodes/financetoolkit/ GitHub: https://github.com/JerBouma/FinanceToolkit Guest site: https://www.jeroenbouma.com/ Show: https://www.stacktostreet.com/ This is a lightly cleaned transcript of the published cut. Speaker labels and timestamps are preserved. Wording stays close to what was said. --- Jeroen Bouma (00:00) I think it's going to change a whole lot in the coming years where you just offload a lot of the analysis to an agent. But you do see that you need to steer quite well to get a proper answer on it. MCP servers help a lot because it adds logic to the agent so it doesn't hallucinate too much. Michael McLaughlin (00:35) Hello and welcome to the Stack to Street Podcast. I'm Michael McLaughlin. Stack to Street brings finance and technology into the same room to understand the problems being solved and what they mean for the people working across finance and banking. My guest today is Jeroen Bouma. He worked inside PGGM, one of the biggest pension managers in the Netherlands. He also led product at OpenBB. He's now a quantitative investment strategist at a.s.r. asset management. He has spent his career deep inside financial data and he noticed something most people just accept. So he built Finance Toolkit. It's a free open source Python library with over 500 financial metrics. Every formula is written out in the open. No black box. And he just added an MCP server, so when you ask an AI tool to run a calculation, it uses his formula, not a guess. Here's my conversation with Jeroen Bouma. Michael McLaughlin (01:23) Welcome, Jeroen. It's great to see you. Jeroen Bouma (01:26) Thank you. Michael McLaughlin (01:27) How's everything been going today? Jeroen Bouma (01:28) Pretty good, just a regular day, well not at the office, but working from home, but it's great to tune in here. Michael McLaughlin (01:35) Having gotten to know you a little bit over the last couple of weeks, you seem to be a very busy builder. Finance Toolkit, financial database. You've got really a lot of great projects on your resume. Jeroen Bouma (01:45) Yeah, it's just something that keeps me busy even outside of my work itself. Yeah, it's just very interesting right now in the space to see how quickly you can develop with the AI technology. Michael McLaughlin (01:59) I wanted to start off by bringing up this analysis that you did recently on I think it was Microsoft where you talked about PE ratios. in my career in Finance, I always found that it was calculated in very different ways. I would be looking at Bloomberg and I'd see the PE ratio, you know, some cases using trailing earnings, some cases using forward earnings, you know, some cases using GAAP or adjusted earnings, and so on and so on. And I was struck by looking at your Microsoft analysis and how you found eight different PE ratios. Talk to me about that experience. Jeroen Bouma (02:30) Yeah, that's the whole premise basically of how I started the Finance Toolkit. If you just look up on the internet for basically any metric, let it be PE or let it be return on equity or price to book, it doesn't really matter. You will notice that all the different websites report a different number. And while most of them can still be very much correct, it just depends on what's what you do with the price, are you gonna use the price of yesterday or from today or from last week? What are you gonna do with the earnings? Is that what you mentioned also? Is it gonna be a forward estimate or is it gonna be something like an average of the last couple of quarters? That already matters a lot in how you define the PE ratio. And I basically saw that it's pretty difficult to get the exact metric. that you are actually looking for. You see it as well in Bloomberg as well. It can just differ a lot. And the whole premise was, okay, I might as well just write down the whole formula in all the ways it can be created. So forward trailing, growth and whatnot, and put it in an open source project. And that's basically the whole premise of the Finance Toolkit, to just have all of those different ways of... to how you can calculate something like a PE right there in the open. So that's for anyone, you can just pick the one that you want and you can just see how I formulated it, whatever it's aligned with your own perspective on how it should be calculated. Michael McLaughlin (04:16) What was the moment in your career where you had the idea to create Finance Toolkit? What did you see or what did you experience that sparked your motivation to do the project? Jeroen Bouma (04:26) Yeah, so it started like in 2019. So that's before the whole AI took over where you can now build basically anything. And I started, well, basically what I just said, seeing how the PE ratios differ so much. But I took the step further because I also wanted to understand the theory, the details of how each metric came to be. I just... looked it up and then I wrote it down in the Toolkit. That's the whole idea how it started as both a learning process for myself, both in the technical side and the Python side, but also in the financial side, really understanding how each metric is calculated. Michael McLaughlin (05:14) And then did you build it metric by metric by metric? day one was let's say I'm gonna code PE ratio and then day two I'm gonna code price to book. Tell me about how that evolution to where we are today. Jeroen Bouma (05:25) Yeah, so I basically started with simply financial ratios, looked up all of them. So indeed price, price to earnings, price to book, return on equity, return on assets, you name it. I just looked up how do you calculate those and what are the different variations of them. At some point I was pretty much finished with most of them. I think there are like nearly a hundred different ones in there right now with all of their variations. And that's when I continued with other types of metrics. For example, you can also do a DuPont analysis, which is in essence, just financial metrics. Well, basically the return on equity split out in different metrics. Well, I looked into that and then to understand how do you calculate that and what does it say exactly? that's, yeah, it kept... basically snowballing to the point that there are now over 500 metrics in there because I looked at also things like GARCH models or what about Fama and French Factor models, value at risk, Sharpe ratio, but also the technical metrics. It just kept going, but now I do have a good understanding of each metric, Michael McLaughlin (06:43) Now were you always interested in Finance or did you come at this problem from a developer's perspective? Jeroen Bouma (06:50) So because of my background in Finance, the main premise was always to learn more about the financial world. While at the same time, I saw that being somewhat good at a skill like Python... can really help you grow as well because you can't always rely on Excel to do all the work for you. You can't always rely on an external party to do it for you. So basically combining those two just made a lot of sense for me. So to become a better developer, I also became better at the financial theory itself. Michael McLaughlin (07:25) You said you can't always rely on external parties to, do the work for you or verify your work. and I think you're on to something with your new MCP server because there are so many users of ChatGPT and Claude Code who are just relying on the LLMs to produce financial analysis and to produce ratios and metrics. based on their own interpretation of what the ratios and metrics should be, So talk to me about MCP and how that strengthens the use case for Finance Toolkit Jeroen Bouma (08:00) Yeah, basically MCP for those that don't know, it's a model context protocol. And basically what it is, it is the API equivalent for an AI. So what it really helps to do is that it steers the AI into the right direction. If it needs to calculate a specific formula, you can write it down inside an MCP. And the AI will then look it up and use that exact piece of code that you've written down. That's the whole idea. Also why I built an MCP for the Finance Toolkit because you have all of those metrics. You can really ask, Hey, I want the trailing PE ratio for Microsoft. And instead of it looking it up somewhere on the internet, where you run into the exact same problem again, that it depends strongly on what website is looking at. Instead it will just use the MCP and do the actual calculation. And then if you question it, you can just look it up because it's all written down as an open source project to begin with. And that's the whole value I see right now is that you can, I can really trust when I chat with Claude or chat with ChatGPT that it's gonna give me the correct answer because I wrote it down myself. So I know my own... I verified my own calculations and the AI simply just uses my own methods. Michael McLaughlin (09:32) I would imagine that would help people save on tokens when they're using their LLMs, because if you could just have a direct connect to your MCP server to get the precise formula, it saves on Claude Code, you know, scraping the internet looking for the formula Jeroen Bouma (09:54) Yeah, exactly. That's also how I wrote down a lot of the MCP server. I wanted it to be entirely clear what the formula is for the AI so it doesn't have to look through my code too much to find how I do those calculations. That was also the whole point. So if you ask the MCP server, for example, hey, Can you calculate this specific metric and also give me the formula? It's just very easy for it to do both in one go. Michael McLaughlin (10:29) When you were researching implementing your own MCP, did you encounter others that were useful and others that would be helpful Jeroen Bouma (10:38) Yeah. Michael McLaughlin (10:39) To the Toolkit? Jeroen Bouma (10:39) Yeah, so when you look at the world of MCP servers, there is like so many right now. Like a typical free platform is Yahoo Finance. A lot of MCPs focus on the platform. It has quite a limited amount of data and it can get you some statistics, but you notice that a lot of, well, it's easy to build an MCP because it's entirely free. Well, you clearly see the bottlenecks. there that they just service what Yahoo Finance offers and not much else. And it's the same with a lot of the data providers that also offer MCP. Yes, you do get your financial statement information, you do get those items. So to some extent it's very useful, but it's not enough to just have the financial statement. You actually want to do your calculations on them or you want to see trends or you want to see something. with those numbers and that's why they usually fall short. So I do see that a lot of those can go hand in hand. So it's not that you just use one MCP for everything. You can just combine them. But it makes sense to really look into whatever you're not stuck again with the same unknown definition of specific metrics because it just doesn't specify how it does those calculations. a different fields that's also very interesting to discover is of course, what kind of metric, what kind of instruments exist in the fields. That's the whole premise of my other project, the Finance Database. I won't go too much in depth doing that, but in essence, you want to of course connect, if you want to do a sector analysis, you want to know what's. companies exist in that specific sector in that specific country before you run it through the Finance Toolkit. And here again, you will see that if you leave that too much to an AI to figure it out on its own, it's going to miss companies, it's going to include companies that are already delisted and whatnot. And there you just see the power of using MCP servers because you have, well, for example, direct connection with the NASDAQ index. which offers all of their products that are on there. And if you have that list available to you, you will always be completely up to date and don't have to rely on an AI to search that for you. Michael McLaughlin (13:12) I wouldn't mind talking a bit more about Finance Database Jeroen Bouma (13:14) Yeah. Yeah. Michael McLaughlin (13:17) Is that also exposed as an MCP or API? Jeroen Bouma (13:23) Yeah, it is. Well, only recently, actually. Yeah, this basically also an open source project that I worked on to try to categorize a lot of the financial instruments that exist. It's actually really quite challenging because there's a lot of moving parts. Companies become delisted, companies merge. To keep track of that is pretty difficult, but nowadays you have so many... available data that the exchanges offer themselves that makes it pretty easy to keep that database actually quite up to date. And with that categorization in hand, I've also built an MCP around that project so that it can look up if I'm looking for something like the semiconductors in the United States, it's going to just look up that inside the MCP server, get me the tickers that can then flow to Finance Toolkit. That's the whole idea of it so that you can combine both the lookup and the analysis with just two MCP servers. Michael McLaughlin (14:32) You're in a sense building adjacencies to the financial infrastructure that professional analysts would use in analyzing companies. And I wanted to know if you have seen anyone commercially using your tools. Jeroen Bouma (14:48) So it's a bit difficult to track. I've seen teachers use it and universities because they reach out because of very specific questions. I've seen some analysts trying it out, but I don't really know how many people are actually using it within the financial industry themselves because it's just very difficult to track. because the whole project is entirely open source. I see that it is downloaded over half a million times. So it is being used quite a lot, but by whom? That's very challenging to discover. Michael McLaughlin (15:28) Right, I understand and I think I saw on your website it was over six hundred thousand downloads. Jeroen Bouma (15:33) Yes, exactly it was even more than that right now. Michael McLaughlin (15:37) Now tell me why you built your tools in an open source manner. Jeroen Bouma (15:43) So the reason both projects are entirely open source is the transparency. The whole idea is if you write down all of those formulas and I would not make it open source, then you are basically the same as all of the other websites that do that as well. That they calculate a metric, they don't expose how they calculated it. Yeah, then we're just stuck in the same. Then I'm just one of the many. And that was the whole point of the open source project. Michael McLaughlin (16:14) I understand obviously your choice to develop it in an open source way is to enhance transparency, but I'd like to know about collaboration as well. Did you have many or even a few collaborators? Did you have to approve pull requests Jeroen Bouma (16:31) Yeah, so it comes and goes. There are people that are adding new features in. I had someone that developed an entire GARCH model, for example, which I then reviewed. And people come with a lot of suggestions of new insights that they would want to see. And then I'll work on it and build it out. That's actually quite interesting, especially if people tell me, hey, I've been using it on a certain way. For example, there were two guys from Italy that tried to develop, well, basically their own trading model with the Finance Toolkit. Well, it's very interesting to then learn from them, hey, how have you been using the Toolkit and what kind of metrics do you need or are you missing? And they actually gave a lot of pointers as well For example, financial statements come of course in different currencies and you can't just directly compare those statements with each other if you don't convert it to the correct currencies to make them all the same. And that's the kind of insights they gave me that just really helped develop the Finance Toolkit further Michael McLaughlin (17:42) I think that collaboration is very powerful Jeroen Bouma (17:43) Yeah, definitely. Especially before we had the entire AI boom come in, it was pretty challenging if I got a lot of requests for new features to answer all of them and to start working on them. Of course, I have a full-time job and to do that besides that was pretty tricky. Nowadays, it helps a lot that AI can give you the start and then you can verify it by yourself and then expand quicker. Michael McLaughlin (18:12) Do you have any agentic processes that you've employed either as the owner of the Finance Toolkit repo or in other parts of your profession? Jeroen Bouma (18:23) So for the repos themselves, I have a personal website as well, where I host the documentation. These kind of things, I always let the agents talk to each other. So I have a framework behind both the Finance Toolkit and the website, but also the Finance database. So that if the website wants to make a specific point, but it doesn't have the data because the Finance Toolkit doesn't offer that yet, then it proposes basically a new feature of what to extend it with. That's also when I come up with a new project and I want to use the Finance Toolkit, I will have an agent somewhat work on that project and then the agent will notify the Finance Toolkit. agent, whatever, for example, there's data missing or there's features that could be improved or that's, if you use a specific function in a different way, it's going to give you a different value or an incorrect value. That's the kind of things where I see that, that agents are really coming together where there's one agent using the Finance Toolkit and the other one can then improve it at the same time. Michael McLaughlin (19:39) Would you mind if I then pivoted to talking about what risks maybe the agents bring to your projects? Jeroen Bouma (19:46) Yeah, so agents bring so much in the financial world. it's going to change a whole lot in the coming years where you just offload a lot of the analysis to an agent. But you do see that you need to steer it quite well to get a proper answer on it. MCP servers help a lot because it adds logic to the agent so it doesn't hallucinate too much. But in the same time, I noticed it in a lot of different projects that I do that it can quite easily go off topic and build features that are not needed whatsoever. And it can quite easily get it wrong entirely, that it doesn't understand what kind of feature I'm asking for, or that it tries to... basically over-engineer it because I'm looking for a specific answer. And there is still a lot of work to do, think, to get that right. But once all of those guardrails are in place, for the financial industry, can really explode how much analysis you can do in such a short amount of time that I think the bottleneck at some point is just going to be us as analysts that we just can't keep up with how much analysis work. is being done at the same time. Michael McLaughlin (21:08) I agree. But we still have to make sure we know who the master is for each agent. because if you don't have accountability and ownership for the agent, to your point, the agent will begin to do things that were not intended. Jeroen Bouma (21:21) Yeah, that's the big thing. You can't say to a regulator that it was an agent that made the call. You need to own up on that. I think that's something that's going to be tricky for the next couple of years. How you own up to an agent that has been working for 24 hours, seven days a week to come with a really in-depth analysis and then still say, I approve this analysis because it read so much information. That's something I don't have the answer for either. Michael McLaughlin (21:55) I want to pivot to what the next moves are for you and for your project. You've created some really good infrastructure for financial analysis, particularly as it relates to, publicly traded stocks. have you thought about how your infrastructure might be expanded into adjacent markets or adjacent use cases? I'm thinking maybe credit or commodities Jeroen Bouma (22:15) Yeah, so for assets like Forex, commodities, crypto, that's entirely fine because it's pretty easy to obtain data for it. But the fixed income markets, the private equity markets and whatnot is just a whole other playing field. Especially because things go over the counter. You can't just use public data or It's harder to get the data to do a proper analysis on that. And that's something I'm still struggling with, how to capture those asset classes, I do have a small module in the Finance Toolkit that can calculate or evaluate things like a swap or a swaption. It's just that you need to provide the data yourself and it doesn't flow to with like in the other modules. There's still something I need to figure out. Michael McLaughlin (23:14) It sounds to me like there are opportunities for partnerships with individuals or firms or organizations that have the data in more I'll just say exotic asset classes. I'm thinking about, for example, a partnership with a mortgage organization, let's say, who would help you build a a database that would be valuable to mortgage professionals, calculating loan to value, calculating the debt service coverage ratio, calculating the cap rates on commercial mortgages. So there seems to me that there's a massive amount of market that's being unsatisfied the way you've You and others have satisfied the need for analysis in public equity. Jeroen Bouma (24:08) Yeah, that's I think the biggest issue right now that I'd happily expand in those areas, but I'm looking for partnerships in that area to be able to do something like that. I have a feeling there is a lot of room for expanding the Finance Toolkit to maybe at some point even a thousand metrics. But to get to that, it's important that the data is there because if I, of course I can just write down all of the formulas and have users provide the data, but that's not really the main value of the Toolkit. The whole idea is that you can calculate any metric with actual financial statements or actual financial data. And if I don't have that, I find it tricky to develop in that area. Michael McLaughlin (24:59) My background is in structured credit and private credit. it's really a tower of babel how investors in private credit describe the financial health of a debtor. So we have you know EBITDA coverage ratios and we've got margin calculations, but there's always addbacks and adjustments and the vernacular shape shifts a little bit. if an industry group of private credit investors got together and came up with the approved definitions, that makes sense to the majority of the participants, it could then be encoded in your MCP and then utilized by those same investors who are using Claude for Finance. They wouldn't have to recreate the wheel every time they see a new loan or a new credit agreement. Jeroen Bouma (25:48) Yeah, absolutely. That's the whole premise as well. It's mostly now focused on the public equities. I mean, for me, the project can be much wider and much bigger than it is right now. Michael McLaughlin (26:05) Well, what would you hope for people that are listening to this podcast for them to be able to contribute to what you've already established? Jeroen Bouma (26:13) Yes, so in an ideal scenario, I'd love to collaborate with people that do have this more exotic data to get a sense of, hey, can we feed to those exotic data points through the Finance Toolkit and have it calculate the metrics that you're looking for. And as soon as it's inside the Toolkit, it can also become available inside the MCP. So you don't have to have any programming experience, you can just chat with it and you get the metrics. That's my ideal scenario that at some point we have all of that information flowing through it. So you have one open source, source of truth for all of those financial metrics. Michael McLaughlin (27:02) And where would you direct, let's say, an analyst team at a hedge fund who's interested in what you've built? Jeroen Bouma (27:10) I think for a hedge fund in particular, being able to feed in your own data and use the data that is available in the Toolkit, you can really use Claude or ChatGPT to do the analysis of other companies you're looking into. Because especially for public equities, I think I'm pretty confident to say that almost all metrics that you need are going to be inside the Toolkit already. Michael McLaughlin (27:41) And so moving from hedge funds to regulated entities, I mean, I know you work in a regulated environment. How Jeroen Bouma (27:49) Mm-hmm. Michael McLaughlin (27:49) Would banks, insurance companies, pension funds, think about onboarding Finance Toolkit? Jeroen Bouma (27:57) So in essence, what you see in a lot of the institutional firms, everyone right now is using either Bloomberg, Refinitiv, FactSet as the primary source of the financial data and the calculations. I think to some extent, that's fine. But there are of course many different data providers that can do essentially the same analysis that Bloomberg offers as maybe a fraction of the costs. So basically for the Finance Toolkit, the only thing you really need is to set up a data provider that you trust and then let the data automatically flow through the Toolkit to do the calculations. And I think the power with that is that You're not stuck inside one application and you can build on top of it with your own applications, whatever you need. And either it is via the MCP, via AI or it is for creating dashboards directly with your own data together with the metrics from the Finance Toolkit. That's also the thing because it's an open source project. You can see every line of code that I wrote. It's not that this needs to be approved by all kinds of security protocols because you can just see how it is developed and whatever it makes connections that you don't want. And you can tailor it exactly how you want because it's not a product that is for sale. It's not something that you need to have a subscription for. You can just basically clone the project for yourself and get all of the code and then just continue working on it Michael McLaughlin (29:47) Yeah, I would imagine that banks and other regulated entities that have you know privacy and security concerns would find it very attractive to have the analysis all on-prem. You know, no cloud provider, no subscription, no sending data outside the firm to some calculation engine. Jeroen Bouma (30:09) Exactly. That's my thinking as well. If you have all of the formulas and all of the codes on prem, that's the best option Michael McLaughlin (30:19) Yeah, as opposed to analysts sending the firm's investment documents to Claude to say, Claude, please Jeroen Bouma (30:27) Absolutely. Michael McLaughlin (30:28) Perform these calculations. That seems that Jeroen Bouma (30:30) Yes, Michael McLaughlin (30:30) Seems not smart. Jeroen Bouma (30:32) No that seems not smart at all. That's very tricky. Chances of it making minor mistakes that can be pretty critical is pretty high. Even if the models keep getting better and better, you just blindly trust the AI to provide you with the correct metrics. And even because there's so many variations of those metrics, that's quite a stretch. Michael McLaughlin (30:57) So I think we can start to wrap up here. I want to give you a chance to tell users of the Toolkit, And I think interestingly the partners that might be identified through this podcast, where can they reach you Jeroen Bouma (31:11) Yeah, so if you want to reach out, I think it starts with either visiting the GitHub page of the project. think nowadays if you just Google Finance Toolkit you're going to one of the top results is going to be the project. That's a great start. But otherwise you can always reach out via LinkedIn. That's my go-to platform where I talk with professionals as well. Yeah, that's the main areas and basically on my own personal website, I have all of the more details on how I've developed everything. I go in depth on the whole structure of the MCP server. that's the whole idea. It's entirely transparent. So I explain how I deal with security and whatnot. That's really the three platforms you can reach out to. Michael McLaughlin (32:07) And that website is jeroenbouma.com. Jeroen Bouma (32:16) Exactly. All of the information is on that website. Michael McLaughlin (32:21) Jeroen, I've really enjoyed this conversation. You've got a lot going on. Jeroen Bouma (32:24) Thank you, yeah. I keep myself entertained. Michael McLaughlin (32:28) I think you're doing very good work. I appreciate all your time and I think the podcast audience will enjoy this episode. Jeroen Bouma (32:35) Awesome. Thanks. Yeah, was fun to do this. Nice. Michael McLaughlin (32:39) Thanks, Jeroen. Bye bye. Jeroen Bouma (32:41) Yes, thank you so much. All right, see ya.