19.1 La pregunta central del módulo
Hasta aquí valoramos opciones de manera relativa: las cotas y la paridad put-call dicen qué precios son incompatibles entre sí, pero no cuánto vale una opción en términos absolutos. El módulo 4 responde esa pregunta con modelos de valoración, y el primero es la replicación.
La idea es la misma que sostiene todo el curso: si dos carteras pagan exactamente lo mismo en todos los escenarios, deben costar lo mismo hoy. Para valorar una opción alcanza con encontrar una cartera compuesta por el activo subyacente y un bono que produzca sus mismos pagos. Esa cartera se llama cartera replicante y su costo de armado es la prima del derivado.
Idea central: la opción no se valora «adivinando» el precio futuro del activo, sino replicando sus pagos con instrumentos cotizados. El precio surge de la replicación, no de una expectativa.
19.2 El modelo de un período: dos estados y dos instrumentos
Para poder replicar necesitamos un mundo simple. En el modelo de un período el horizonte tiene una sola fecha T y el activo sólo puede tomar dos valores: sube con factor u o baja con factor d.
El bono crece a la tasa r sin importar el escenario. El activo es riesgoso: su valor final es Su o Sd. Con dos estados y dos instrumentos (activo y bono) será posible copiar cualquier pago contingente, como los de una call o una put.
Diremos que el modelo tiene un período y dos estados: up y down. Es la simplificación máxima del problema, y la base del árbol binomial que se desarrollará en el tema 21.
19.3 La condición de no arbitraje: d < 1 + r < u
Para que el modelo tenga sentido, el retorno del bono debe quedar estrictamente entre los dos retornos posibles del activo:
Si 1 + r ≤ d, el activo rinde en el peor escenario al menos lo que el bono: pedir prestado al bono y comprar el activo dejaría una ganancia sin riesgo. Si u ≤ 1 + r, el bono domina al activo en el mejor escenario: vender el activo en corto e invertir en el bono también dejaría una ganancia sin riesgo. En ambos casos habría arbitraje.
La condición también garantiza que los pesos que aparecerán en la fórmula de valoración queden entre 0 y 1. En el ejemplo: 0,8 < 1,05 < 1,2 ✓.
19.4 La cartera replicante
Buscamos una cartera formada hoy por una cantidad Δ (delta) de unidades del activo y una posición B en el bono. La convención: B positiva es dinero invertido en el bono; B negativa, un préstamo que se devuelve con intereses. En T, la cartera vale:
Δ × Sd + B × (1 + r) = pago en la bajada
Estas dos ecuaciones exigen que la cartera copie exactamente el pago de la opción en cada escenario. Hay dos incógnitas —Δ y B— y dos ecuaciones: el sistema tiene solución única (salvo casos degenerados). La cartera así construida se comporta como la opción: misma exposición, mismos pagos, mismo valor.
Nada de esto usa probabilidades. El argumento es de no arbitraje: si la opción costara más que la cartera que la replica, convendría vender la opción y comprar la cartera; si costara menos, lo contrario. En ambos casos quedaría una ganancia sin riesgo.
19.5 Resolver el sistema: delta y financiamiento
Restando las dos ecuaciones se elimina B(1 + r) y se despeja delta:
B = (pagodown − Δ × Sd) / (1 + r)
precio de la opción = Δ × S0 + B
El precio es simplemente el costo de armar la cartera hoy: comprar Δ unidades del activo por Δ × S0 y tomar la posición B en el bono. Si B es negativa, parte del activo se financia con deuda.
Consecuencia notable: en ninguna de las tres fórmulas aparece la probabilidad real de que el precio suba. Sólo intervienen los precios, los pagos y la tasa. La réplica no necesita pronósticos; necesita que los pagos coincidan en todos los escenarios.
19.6 Ejemplo completo con números
Datos: S0 = $100, u = 1,2 (entonces Su = $120), d = 0,8 (Sd = $80), tasa r = 5 % y una call con K = $100. Sus pagos en T son max(120 − 100, 0) = $20 y max(80 − 100, 0) = $0.
B = (0 − 0,5 × 80) / 1,05 = −38,0952
precio = 0,5 × 100 − 38,0952 = $11,9048
La cartera replicante compra 0,5 unidades del activo por $50 y pide prestados $38,0952. En T la deuda se devuelve con intereses y queda exactamente el pago de la call:
| Escenario en T | Valor de 0,5 activos | Deuda a devolver | Resultado neto | Payoff de la call |
|---|---|---|---|---|
| Subida (Su = 120) | 60 | −40 | 20 | 20 |
| Bajada (Sd = 80) | 40 | −40 | 0 | 0 |
La prima de $11,9048 es el único precio que no deja ganancia sin riesgo. Si la call cotizara a $12, vender la opción y armar la cartera replicante dejaría $0,0952 hoy y pagos que se compensan en T; si cotizara a $11,80, convendría la operación inversa.
19.7 Delta como ratio de cobertura
Δ no es sólo un número del sistema: mide cuántas unidades del activo equivalen, localmente, a una opción. En el ejemplo, Δ = 0,5 significa que una call se comporta como media acción financiada con deuda. Para quien vende la call y quiere cubrirse, la receta es comprar 0,5 unidades del activo por cada opción vendida.
Δ de una call
Entre 0 y 1: sube cuando la call está más dentro del dinero. Aproxima el cambio del valor de la opción ante cambios pequeños del subyacente.
Δ de una put
Entre −1 y 0. En el mismo ejemplo, la put de K = 100 tiene Δ = (0 − 20) / (120 − 80) = −0,5.
Cobertura delta
Reproducir el activo con opciones y viceversa es la base de la cobertura con delta, que se retomará con la sensibilidad y la gestión de riesgos en el tema 26.
Sólo un período
Con dos estados, la cobertura es exacta. Con más estados, delta cambia y habrá que recalibrar: de eso se ocupa el árbol binomial.
19.8 La probabilidad neutral al riesgo
El precio obtenido admite otra escritura muy elocuente. Definiendo
la condición de no arbitraje garantiza 0 < p < 1, y el precio de la opción puede escribirse como un valor esperado descontado:
Con los datos del ejemplo: p = (1,05 − 0,8) / (1,2 − 0,8) = 0,625 y precio = (0,625 × 20 + 0,375 × 0) / 1,05 = $11,9048.
p se conoce como probabilidad neutral al riesgo. No es la probabilidad real de subida —que no aparece en ningún cálculo— sino el peso sintético que hace que todos los instrumentos rindan la tasa del bono cuando se valoran como esperanza descontada. El tema 20 profundizará su interpretación y sus propiedades.
Idea central: valorar por replicación y valorar como esperanza descontada con p son dos caminos equivalentes: dan exactamente el mismo precio.
19.9 Validaciones: el activo y la paridad put-call
Antes de confiar en un modelo conviene someterlo a controles. Dos verificaciones rápidas con los mismos datos:
- El activo se valora a sí mismo: aplicando la fórmula con los pagos
120y80se obtiene(0,625 × 120 + 0,375 × 80) / 1,05 = 105 / 1,05 = $100 = S0. Fue construida para que así fuera. - Paridad put-call: la put de K = 100 tiene pagos 0 y 20. Su replicación da
Δ = −0,5,B = (20 + 0,5 × 80) / 1,05 = 57,1429yP = −50 + 57,1429 = $7,1429. EntoncesC − P = 11,9048 − 7,1429 = $4,7619, que coincide conS0 − K / (1 + r) = 100 − 95,2381 = $4,7619✓.
El modelo de un período respeta las relaciones del módulo 3: es una primera señal de que la construcción es coherente. Ambas validaciones se retomarán como controles automáticos en el tema 25.
19.10 Implementación en JavaScript
Una función que reciba los datos del modelo y los pagos de la opción en cada escenario puede devolver la cartera replicante completa. El uso de factores (u, d) en lugar de precios finales mantiene el modelo expresado en retornos.
function valorarUnPeriodo(spot, factorSubida, factorBajada, tasa, pagoSubida, pagoBajada) {
const subida = spot * factorSubida;
const bajada = spot * factorBajada;
const delta = (pagoSubida - pagoBajada) / (subida - bajada);
const bono = (pagoBajada - delta * bajada) / (1 + tasa);
const probabilidad = ((1 + tasa) - factorBajada) / (factorSubida - factorBajada);
return { delta, bono, precio: delta * spot + bono, probabilidad };
}
const call = valorarUnPeriodo(100, 1.2, 0.8, 0.05, 20, 0);
console.log(call.delta); // 0.5
console.log(call.bono.toFixed(4)); // "-38.0952"
console.log(call.precio.toFixed(4)); // "11.9048"Para completar el cuadro, calculamos los pagos de call y put a partir de sus strikes y comparamos el resultado de la replicación con la valoración por esperanza descontada. Este bloque es autosuficiente y puede ejecutarse solo.
function pagoCall(precioFinal, K) {
return Math.max(precioFinal - K, 0);
}
function pagoPut(precioFinal, K) {
return Math.max(K - precioFinal, 0);
}
function esperanzaDescontada(pagoSubida, pagoBajada, probabilidad, tasa) {
return (probabilidad * pagoSubida + (1 - probabilidad) * pagoBajada) / (1 + tasa);
}
const spot = 100, u = 1.2, d = 0.8, tasa = 0.05, K = 100;
const p = ((1 + tasa) - d) / (u - d);
console.log(esperanzaDescontada(pagoCall(spot * u, K), pagoCall(spot * d, K), p, tasa).toFixed(4)); // "11.9048"
console.log(esperanzaDescontada(pagoPut(spot * u, K), pagoPut(spot * d, K), p, tasa).toFixed(4)); // "7.1429"
console.log((esperanzaDescontada(pagoCall(spot * u, K), pagoCall(spot * d, K), p, tasa)
- esperanzaDescontada(pagoPut(spot * u, K), pagoPut(spot * d, K), p, tasa)).toFixed(4)); // "4.7619"La última comparación reproduce la paridad put-call: la diferencia entre call y put valuadas por el modelo coincide con S0 − K / (1 + r).
19.11 Laboratorio: replicador de un período
Modificá el spot, los factores de subida y bajada, la tasa y el strike. El laboratorio resuelve el sistema, muestra la cartera replicante y verifica que su costo coincide con el valor esperado descontado. Se requiere d < 1 + r < u; los resultados ignoran comisiones.
Valoración por replicación
Opciones europeas; un período, dos estados.
| Escenario | Δ × S | Bono × (1 + r) | Total |
|---|
19.12 Supuestos, límites y controles
El modelo de un período es deliberadamente mínimo, y conviene tener presentes sus supuestos:
- Dos estados: el activo sólo puede subir o bajar con factores fijos. El precio obtenido depende de
uydelegidos; el modelo no indica cómo estimarlos. - Un período: no hay decisiones intermedias ni ejercicio anticipado. Las opciones americanas requieren más estructura (tema 22).
- Sin fricciones: una sola tasa para prestar y pedir prestado, sin comisiones, sin impuestos y con activo perfectamente divisible.
- Sin ingresos: el activo no paga dividendos ni cupones entre hoy y T.
Lista de control antes de aceptar un resultado del modelo:
- ¿Los pagos de la opción se calcularon con el tipo correcto (call o put) y el mismo K?
- ¿La tasa corresponde al período del modelo, no a un período distinto?
- ¿Se cumple
d < 1 + r < u? - ¿El signo y la magnitud de Δ y B son razonables? (¿llama la atención un Δ mayor que 1 en una call?)
- ¿El costo de la cartera replicante coincide con el valor esperado descontado con p?
- ¿El resultado respeta las cotas y la paridad del módulo 3?
Alcance educativo: el curso explica modelos y relaciones de valoración. Los precios obtenidos dependen de los supuestos del modelo y no constituyen recomendaciones de inversión.
19.13 Próximo paso: de la réplica a la valoración esperada
Hemos visto que el mismo precio admite dos lecturas: el costo de la cartera replicante y una esperanza descontada con la probabilidad neutral al riesgo p. El tema 20 se ocupa de la segunda, que es la puerta de entrada a los modelos numéricos.
Con ella, agregar períodos será casi automático: cada nodo del árbol repetirá el mismo problema de un período, y el tema 21 construirá el árbol binomial completo. El tema 25 implementará ese árbol y lo validará con los controles que aquí practicamos: activo, paridad y convergencia.
19.14 Ejercicio propuesto
Un activo cotiza a S0 = $50. En un período puede subir con u = 1,3 o bajar con d = 0,7; la tasa del período es del 10 %. Se quiere valorar una call europea con K = $50.
- Calculá
Su,Sdy los pagos de la call en cada escenario. - Planteá el sistema de dos ecuaciones de la cartera replicante.
- Despejá Δ y B e indicá si el bono es inversión o préstamo.
- Obtené la prima por replicación y verificá con la probabilidad neutral
p. - Comprobá que la prima respeta la cota inferior europea del tema 16.
- Si la call cotizara a $9,50, describí la operación de arbitraje.
Ver orientación de resolución
Su = 65 y Sd = 35; los pagos son 15 y 0. El sistema: Δ × 65 + B × 1,1 = 15 y Δ × 35 + B × 1,1 = 0. Restando: Δ = 15 / 30 = 0,5; de la segunda ecuación B = −17,5 / 1,1 = −15,9091: es un préstamo. Prima: 0,5 × 50 − 15,9091 = $9,0909. Con p = (1,1 − 0,7) / (1,3 − 0,7) = 0,6667: (0,6667 × 15 + 0,3333 × 0) / 1,1 = $9,0909 ✓. La cota inferior europea es max(50 − 50 / 1,1, 0) = $4,5455, que se respeta. A $9,50 la call cotiza por encima de su valor replicable: se vende la call, se compran 0,5 activos y se pide prestado el resto, dejando $0,4091 hoy y pagos que se compensan en T.
function valorarUnPeriodo(spot, factorSubida, factorBajada, tasa, pagoSubida, pagoBajada) {
const subida = spot * factorSubida;
const bajada = spot * factorBajada;
const delta = (pagoSubida - pagoBajada) / (subida - bajada);
const bono = (pagoBajada - delta * bajada) / (1 + tasa);
return { delta, bono, precio: delta * spot + bono };
}
const call = valorarUnPeriodo(50, 1.3, 0.7, 0.1, 15, 0);
console.log(call.delta); // 0.5
console.log(call.bono.toFixed(4)); // "-15.9091"
console.log(call.precio.toFixed(4)); // "9.0909"19.15 Ejercicio adicional: la put y la paridad en el modelo
Un activo cotiza a S0 = $80; en un período sube con u = 1,5 o baja con d = 0,75, y la tasa es del 20 %. Se valoran una put y una call europeas con K = $80.
- Verificá la condición de no arbitraje
d < 1 + r < u. - Calculá los pagos de la put y despejá Δ y B de su cartera replicante.
- Obtené la prima de la put por replicación y verificá con
p. - Calculá la prima de la call con el mismo strike y comprobá la paridad put-call.
- Interpretá el Δ negativo de la put: ¿qué papel cumple el activo en su cartera replicante?
Ver orientación de resolución
La condición se cumple: 0,75 < 1,2 < 1,5. La put paga 0 en la subida (120) y 20 en la bajada (60). Δ = (0 − 20) / (120 − 60) = −0,3333 y B = (20 + 0,3333 × 60) / 1,2 = 33,3333: se invierte en el bono. Prima: −0,3333 × 80 + 33,3333 = $6,6667. Con p = (1,2 − 0,75) / (1,5 − 0,75) = 0,6: (0,6 × 0 + 0,4 × 20) / 1,2 = $6,6667 ✓. La call paga 40 y 0: Δ = 0,6667, B = −33,3333 y prima $20,0000. Paridad: C − P = 13,3333 = S0 − K / (1 + r) = 80 − 66,6667 ✓. El Δ negativo indica que la cartera replicante de la put vende un tercio del activo (posición corta) y compensa con una inversión en el bono.
function valorarUnPeriodo(spot, factorSubida, factorBajada, tasa, pagoSubida, pagoBajada) {
const subida = spot * factorSubida;
const bajada = spot * factorBajada;
const delta = (pagoSubida - pagoBajada) / (subida - bajada);
const bono = (pagoBajada - delta * bajada) / (1 + tasa);
return { delta, bono, precio: delta * spot + bono };
}
const put = valorarUnPeriodo(80, 1.5, 0.75, 0.2, 0, 20);
console.log(put.delta.toFixed(4)); // "-0.3333"
console.log(put.precio.toFixed(4)); // "6.6667"
const call = valorarUnPeriodo(80, 1.5, 0.75, 0.2, 40, 0);
console.log(call.precio.toFixed(4)); // "20.0000"
console.log((call.precio - put.precio).toFixed(4)); // "13.3333"