Si estamos calculando volatilidades locales, generalmente es porque queremos calcular precios ya sea resolviendo numéricamente una EDP, o mediante simulación en Monte Carlo. Dependiendo de cuál de estos dos enfoques estemos utilizando, el enfoque práctico difiere ligeramente.
Para empezar, asumimos que tenemos una superficie de volatilidad suave y agradable $\sigma_\text{imp}(K, T)$ donde $T$ es el tiempo hasta el vencimiento y $K$ es el precio de ejercicio, interpolado a partir de alguna fuente de volatilidades (o deducido a partir de precios).
El enfoque estándar es utilizar la primera fórmula (ecuación 1.10 de Gatheral). Independientemente de si estamos utilizando EDP o Monte Carlo, siempre tenemos una rejilla de tiempo. Podría ser, por ejemplo, 100 puntos de rejilla entre el tiempo de valoración y el vencimiento de la opción. O podría ser un calendario de tiempo diario o semanal. La derivada de vencimiento (el numerador en la fórmula de volatilidad local) siempre debe calcularse por diferencia finita en esta rejilla de tiempo (con un precio de ejercicio a una moneyness fija).
Tradicionalmente, las derivadas del precio de ejercicio (en realidad moneyness) se calculan analíticamente a partir de la suave superficie de volatilidad implícita. En el enfoque de EDP, hacemos esto en cada punto de rejilla de Spot de EDP (y en cada punto de rejilla de tiempo). En el enfoque de Monte Carlo, no hay una rejilla de Spot, pero introducimos una puramente para las volatilidades locales. Luego creamos un interpolador, uno para cada punto de rejilla de tiempo, que interpola las volatilidades locales de la rejilla de Spot. Al simular una ruta de Spot, simulamos las tasas de Spot hacia adelante en el tiempo, y utilizamos el interpolador en el paso de tiempo actual para obtener la volatilidad local.
Para entender por qué usamos diferencia finita para el numerador, notamos que en el caso de que no haya sonrisa/asimetría, da las volatilidades forward-forward exactas de Black-Scholes (por lo que un Monte Carlo no tendría error de discretización, solo error de simulación).
No hay nada que nos impida usar tu segunda fórmula, diferenciando directamente los precios de la opción de compra/venta. Sin embargo, la fórmula de Gatheral es mucho más directa y elegante y no tiene preocupaciones sobre problemas numéricos de precios de opciones de compra/venta lejanos dentro o fuera del dinero.
Dicho esto, recientemente se ha vuelto posible utilizar una variante de tu segunda fórmula de tal manera que cuando resuelvas numéricamente una EDP, recuperes exactamente los precios de compra y venta cuando tienen precio de ejercicio y vencimiento en la rejilla. En este caso, las derivadas en el denominador se calculan utilizando diferencia finita en la rejilla de precio de ejercicio, y se utiliza una fórmula ligeramente más compleja para la diferencia finita para calcular el numerador. Los detalles están aquí: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3530561