The 'Ugly' Language That Still Runs Wall Street: A Defense of VBA

The 'Ugly' Language That Still Runs Wall Street: A Defense of VBA


Picture the modern software developer. They work in a sophisticated IDE like VS Code, write elegant code in Python or Rust, use powerful version control systems like Git, and follow rigorous testing and deployment protocols. Their world is one of structured, scalable, and maintainable software.

Now, picture the typical financial analyst on Wall Street. Their world is a spreadsheet. Specifically, Microsoft Excel. And to the modern developer, the code that often runs inside these spreadsheets—Visual Basic for Applications, or VBA—is a relic, a joke, an ugly, outdated language that should have died a decade ago.

But here’s the dirty little secret of the financial world: this “ugly” language is the mission-critical engine behind countless multi-billion dollar decisions. While Silicon Valley builds the future on sleek tech stacks, a shocking amount of high-stakes finance, from complex valuation models in investment banking to risk management on trading desks, is still run on Excel spreadsheets supercharged with VBA.

The Unbeatable Advantages of ‘Good Enough’

This isn’t just a legacy system waiting to be replaced; new VBA-powered models are created every single day. Why has this seemingly primitive tool survived and thrived in one of the most demanding technological environments on Earth? Because it has three unbeatable advantages that purist software engineers often fail to appreciate.

  1. Speed of Iteration: A financial analyst has an idea for a new model. If they were to submit a request to a dedicated software development team, it would involve meetings, specs, development sprints, and testing cycles. It might be ready in a month. With VBA, the analyst—the person who actually understands the complex financial logic—can build a working model themselves in a matter of hours. They can go from idea to execution before the dev team has even finished the first planning meeting.

  2. Accessibility: The people who live and breathe financial models are not trained software engineers. They are domain experts. VBA is accessible to them because it lives inside the tool they already use for 12 hours a day: Excel. They don’t need to learn a new IDE, a new language, and a new set of libraries. They can simply hit Alt+F11 and start automating the logic they already understand.

  3. The Ultimate Sandbox: Excel is more than a grid of cells; it’s a powerful, visual, and interactive environment for financial modeling. An analyst can change a single input—say, an interest rate assumption—and instantly see the impact ripple through an entire model and update a dozen charts. VBA allows them to extend this sandbox, to automate complex calculations, and to build custom functions that are tailored to their specific needs.

The Risks and the Horror Stories

Of course, this pragmatism comes with very real risks. The world of finance is littered with horror stories of spreadsheet errors causing massive losses. The infamous “London Whale” incident at JPMorgan, which led to a $6 billion trading loss, was partly attributed to a copy-paste error in an Excel-based risk model. The very nature of VBA and Excel makes it a minefield for errors:

  • There is no robust version control.
  • Code is often mixed with data, making it hard to validate.
  • Debugging is primitive compared to modern tools.

It’s a recipe for disaster if not managed with extreme care and discipline. And yet, the risks are consistently deemed acceptable.

A Victory for Pragmatism Over Purism

The persistence of VBA is the ultimate victory for pragmatism over purism. While a “properly” engineered Python application with a web front-end would undoubtedly be more robust, secure, and scalable, it is also slower to build and more rigid to adapt. In the fast-paced world of finance, a working model that is 95% correct today is often infinitely more valuable than a 100% correct model that arrives next month.

VBA is “good enough,” and it empowers the domain experts to solve their own problems without waiting for permission from the IT department.

Conclusion: A Lesson in Respecting the Domain

By the standards of modern software engineering, VBA is not a “good” language. But it is an incredibly effective tool for its specific domain. Its success is a powerful lesson for software developers who are quick to dismiss older or less elegant technologies.

It highlights the immense value of empowering experts to build their own solutions. The most successful technology isn’t always the most beautiful or the most technically pure; it’s the one that gets the job done. And for decades, in the high-stakes world of finance, VBA has been getting the job done.