Adventures in financial and software engineering
falconair.github.io
falconair.github.io
I see this elsewhere too - solving business problems with software tools not with business tools.
one thing to also keep in mind is no matter the sophistication of models, there is always gonna be some person in front/middle/back office somewhere, running a critical process on excel for 3 years.
While they're stashed relatively deep in my memory banks (mostly for the purpose of forgetting), I do have dozens of experiences 'touching up' PDFs, reverse engineering or cloning things from PDFs of PowerPoint presentations, or otherwise using whatever digital hammer and chisel would get the job done. Screenshot > Paint > Fix > PDF, boom!
The real reason is because Excel is still by far the simplest, quickest way to get something done fast when the deadlines are always "yesterday!".
JPM/BAML/GS have fallen down due in large part to their choice of language in my view. A graph database written in a hurry in C++ then glued together with tens of millions of lines of hacked up python is not the way to build a bank wide platform in my book!
[EDITED to add: This is also the first link in the OP.]
Executable descriptions not so much. The issue really is that it's solving problems we don't have with a solution that gets in the way of solving the problems we do. That's not to say people haven't tried, far from it. But successes tend to be either very rare or very niche.
One of the paper's authors went on to create MLFi, a modelling language for finance[2]
This stuff is a bit esoteric but I think it will attract more attention because of its relevance to smart contracts.
2: https://www.lexifi.com/product/technology/contract-descripti...
https://github.com/boundedvariation/quantfin
Still needs some love, but it was a pretty cool experience.
case class And(contract1: Contract, contract2: Contract) extends Contract
case class When(date: LocalDate, contract: Contract) extends Contract
It's basically a DSL on top of Scala.This is assuming that running a query or search over all the contracts is something that is useful to do, which I have no idea if that is the case (though seems like a common task in applications programming).