The models needed to be updated to incorporate all the rates stuff. That takes time. So the focus wasn't so much on innovation on the product front, but on getting all existing models and products to play along with the new reality. (That's a huge undertaking, btw... you need the market data, someone responsible for marking it, put it in the databases, have it flow through the infrastructure, take it into account in the models, etc.)
Second, previously there were many fancy products that allowed you to trade, say, vol, mean reversion, correlation, etc.
However, trading this rates stuff is fairly straightforward (in particular, you don't need optionality/convexity; linear products (such as forwards or swaps) are enough).
Maybe I shouldn't say "recede" - but in the earlier decade the focus was more on fancy exotic products (with huge margins), while in the more recent decade the focus was on simpler products, but modelling them really precisely.
(There was also some focus on systems and ops and front-to-back processing.)
I should say that it's always amazing to me how good traders are often quite ahead of the models: they use them and have an intuitive feel for them, but are also aware of their limitations, idiosyncrasies, and where the real world diverges from them.
(On the flip side, btw, that means that you can't blame the financial crisis on "oh, the models were bad". They were (some of them), but everyone knew. That things went on as they did was more due to systemic/political factors, incentives, etc.)
I ask, of course, because there are better ways to treat Fourier-type integrals than trapezoidal rule (I even wrote a numerical analysis paper on such a method).
The method in the paper exactly represents the solution as a Fourier-type integral which must be computed numerically. The error in the quadrature rule is the sole source of pricing error.
I guess whether the extra computational cost in computing those integrals exactly with the method the author used would carry a corresponding financial cost.
1. Mostly, the goal is not to "price options". There's a liquid market for basic calls/puts, and those prices are used to calibrate a model and then interpolate/extrapolate as well as price more exotic things. So the goal is to "fit the market".
2. Black Scholes is a well defined bijection between a Call price C(K,T) and a BS vol sigma: C(K,T) = BS(K,T,F,df,sigma). However, prices are such that calls at different strike K have different BS vol, thus the vol can't be a description of the underlying stock price. BS is just "the wrong formula to plug in the wrong number (BS vol) to get the right price". In particular, you can't evolve a stock (in Monte Carlo, going forward, or in a PDE, going backward) using BS vol and reprice all options correctly.
2b. But already, BS gives you a means to interpolate and hedge.
3. The next huge step forward was local vol (Dupire), LV. Instead of assuming fixed vol, it assume that the vol is a deterministic function of stock price S and time t. Now you can evolve a stock (in MC or PDE) and reprice vanilla options correctly, by and large. However, two problems remained:
4a. Forward smile. Take prices as they look today, fit a local vol model, and evolve it forward 2 years. You've hit all the 2yr option prices correctly, and you'll hit all the 3yr option prices. However, the 1yr options IN 2 YEARS will look all wrong (in particular, the smile will have decayed unrealistically).
4b. Very short term smile. A gaussian will basically never go more than 3 std devs from its mean, right. So, short term out of the money options should be really worthless. But they aren't, because stock prices in the real world do jump (or move 10 std devs). So, we require enormously high "lognormal" BS or local vols to reproduce observed option prices correctly.
4a. is solved with stochastic vol models, SV. Mix SV and LV and you reprice options perfectly, and go a few years forward, and your forward smile still looks reasonable.
4b. is solved incorporating jumps, JD (jump diffusion).
Mix SV, JD, LV and you get a nice model that fits the market, and evolves reasonably.
5. Most exotic products you price have additional features that preclude closed form pricing. If there's path dependency, you often just use Monte Carlo. If there's calculability, you try and use PDEs. If there's both, you have to use advanced methods: either carry state variables with you in the PDE, or use Longstaff-Schwartz like Monte Carlo methods.
6. However, in the last decade or so, after the financial crisis, all the fancy stuff receded in the background, and there was more focus on the basics: rates. Different counter parties have different credit risk, different currencies have different credit, giving rise to cross-currency basis, different LIBOR maturities are at different levels, giving rise to intra-currency basis, etc. All that stuff needs to be captured properly.