When and at-the-money regular call or put approaches expiration, gamma tends to infinity. However, for practical purposes, there is only a finite change in delta. The problem is that if any of the options in your portfolio gets a crazy high number, this ruins the usefulness of the gamma of the whole portfolio.

I guess that that for practical applications you can choose a fixed change dx in the value of the underlying and compute gamma numerically using the pricing function f(x):

3 Answers
3

Many traders build a spreadsheet of how their delta changes across a range of market moves (-10%, -8%, ,....+8%, +10%) for example. That is a lot more useful than a single gamma number. It also means that the answers are finite and useful.

In addition to computing Gamma for the overall portfolio, I also compute Gammas for each separate expiration date. When I look at it I see immediately that the "funny" gamma is in the subportfolio that is very close to expiration. I can then identify the option that is near ATM and treat it differently than others if I want (such as taking it out of the portfolio and managing it separately from the others, for the short time until expiration).

There is a greek for $\frac{\partial \Gamma}{\partial S}$, it's called speed.

How do traders and financial engineers tackle this problem in practice?

As a third order greek, speed is not easy to manage mentally. Traders usually do a full repricing of their whole portfolio and scenario analysis where they see their delta/gamma at different levels of spot, rather than using speed.