22.1 El derecho de ejercer en cualquier momento
Hasta ahora todas las opciones del curso fueron europeas: el derecho a comprar o vender a K sólo podía usarse en el vencimiento. En el mercado, muchas opciones son americanas: pueden ejercerse en cualquier momento hasta T, incluido hoy. Esa flexibilidad adicional tiene un precio, y el árbol binomial es la herramienta natural para medirlo: «cualquier momento» significa, en el modelo, cada nodo.
Idea central: más derechos nunca pueden valer menos. La opción americana vale al menos lo que la europea, y la diferencia se llama prima de ejercicio anticipado.
22.2 Valor intrínseco vs valor de continuación
En cada nodo hay dos números que describen la disyuntiva del titular:
- Valor intrínseco: lo que se obtiene ejerciendo ahora,
max(S − K, 0)para la call ymax(K − S, 0)para la put. Es el concepto del tema 15 evaluado en cada nodo del árbol. - Valor de continuación: lo que vale mantener viva la opción, es decir, la esperanza neutral descontada de los dos nodos hijos, como en el tema 21.
continuación(i, j) = [p × V(i + 1, j + 1) + (1 − p) × V(i + 1, j)] / (1 + r)
V americana = max(intrínseco, continuación) V europea = continuación
Las opciones americanas agregan un único cambio al algoritmo del tema 21: reemplazar el valor de cada nodo interior por el máximo entre ejercer y esperar. Fuera del dinero el intrínseco es cero, por lo que ejercer sólo puede ser óptimo en nodos con valor intrínseco positivo.
22.3 El algoritmo con la decisión en cada nodo
- En los nodos terminales, el valor es el pago de la opción, igual que antes: allí ejercer y esperar coinciden.
- Se recorre el árbol hacia atrás. En cada nodo interior se calcula primero la continuación usando los valores ya ajustados de los hijos.
- Si la opción es americana, el valor del nodo es
max(continuación, intrínseco); si es europea, es la continuación sin comparación. - En el nodo inicial también se compara ejercer hoy contra esperar, aunque con parámetros habituales la continuación gana salvo en opciones muy dentro del dinero.
El ejercicio ajusta la valoración de todos los nodos superiores: apenas un nodo se ejerce, la continuación de sus padres ya incorpora ese cobro. Por eso no alcanza con «chequear» el ejercicio al final: hay que permitirlo en cada paso del recorrido.
22.4 La call americana sin dividendos nunca se ejerce antes
Existe un resultado clásico que el árbol confirma: si el activo no paga dividendos, conviene nunca ejercer una call americana antes del vencimiento. La demostración se arma con piezas ya conocidas:
La primera desigualdad dice que la americana vale al menos lo que la europea (tiene más derechos). La segunda es la cota inferior de la call europea del tema 16. Y la tercera vale porque 1 / (1 + r) < 1. Conclusión: mantener la opción viva vale estrictamente más que ejercerla, así que el derecho de ejercicio anticipado no se usa y la call americana vale igual que la europea.
El argumento tiene una excepción importante: si el activo paga dividendos, ejercer justo antes de que el precio caiga por el pago puede ser óptimo, sobre todo si el dividendo supera el valor de tiempo restante. Por eso las calls americanas sobre acciones que pagan dividendos sí suelen ejercerse antes del vencimiento.
22.5 Por qué la put americana sí puede ejercerse antes
En la put el motor del ejercicio anticipado es la tasa de interés. Ejerciendo hoy, el titular recibe K de inmediato y puede reinvertirlo; esperando, cobraría ese mismo K recién en T. Cuanto más alta la tasa r y cuanto más profunda la caída del activo, más pesa el cobro inmediato frente al valor de seguir esperando.
Aun así, ejercer una put que no está muy dentro del dinero destruye valor: el intrínseco todavía es pequeño y el seguro restante (el valor de continuación) es grande. En el ejemplo de este tema, con S = 80 y K = 100 —bien dentro del dinero—, el intrínseco de $20 ya supera al valor de continuación de $15,2381: conviene ejercer. En cambio, en el nodo de S = 96 de un árbol de tres períodos, el intrínseco es $4 y la continuación $8,2857: conviene esperar.
22.6 Ejemplo completo: la put americana en el árbol de dos períodos
Retomamos el árbol del tema 21 —S0 = $100, u = 1,2, d = 0,8, r = 5 %— y valoramos una put americana con K = $100 a dos períodos. Los pagos terminales son 0, 4 y 36 (en 144, 96 y 64).
V(1,0) = max( [0,625 × 4 + 0,375 × 36] / 1,05 ; 100 − 80 ) = max(15,2381 ; 20) = 20 → ejercer
V(0,0) = [0,625 × 1,4286 + 0,375 × 20] / 1,05 = 7,9932
| Nodo | Precio S | Intrínseco | Continuación | Valor americano | Decisión |
|---|---|---|---|---|---|
| t = 1, subida | 120,00 | 0,0000 | 1,4286 | 1,4286 | Continuar |
| t = 1, bajada | 80,00 | 20,0000 | 15,2381 | 20,0000 | Ejercer |
| t = 0 | 100,00 | 0,0000 | 7,9932 | 7,9932 | Continuar |
La put europea del mismo árbol valía $6,2925; la americana vale $7,9932. El derecho a ejercer en el nodo de bajada agrega $1,7007 de valor: si el precio cae a $80, conviene cobrar los $20 de inmediato en lugar de esperar un pago descontado de $15,2381.
22.7 El mismo árbol para la call americana
Con idénticos datos, la call americana de K = $100 recorre el árbol así:
V(1,0) = max( 0 ; 0 ) = 0
V(0,0) = max( [0,625 × 26,1905] / 1,05 ; 0 ) = 15,5896
En ningún nodo el intrínseco supera a la continuación: la call americana vale $15,5896, exactamente lo mismo que la call europea del tema 21. El resultado confirma el teorema del apartado 22.4: sin dividendos, el derecho de ejercicio anticipado no agrega valor a una call.
22.8 La prima de ejercicio anticipado
Se llama prima de ejercicio anticipado a la diferencia entre el valor americano y el europeo, y nunca puede ser negativa:
| Opción | Valor europeo | Valor americano | Prima de ejercicio anticipado |
|---|---|---|---|
| Call | 15,5896 | 15,5896 | 0,0000 |
| Put | 6,2925 | 7,9932 | 1,7007 |
La prima de la put crece con la tasa de interés (cobrar K antes vale más) y con la profundidad de la caída del activo (el ejercicio se vuelve más atractivo). La de la call es cero sin dividendos; con dividendos, en cambio, pasa a ser positiva. Estos patrones son la razón por la que las opciones americanas se valúan con métodos numéricos: el momento óptimo de ejercicio depende de todos los parámetros del modelo.
22.9 Implementación en JavaScript
Una sola función valora opciones europeas y americanas: el parámetro americana activa la comparación con el intrínseco en cada nodo, incluido el inicial.
function valorBinomioOpcion(spot, u, d, tasa, strike, pasos, tipo = 'call', americana = false) {
const p = ((1 + tasa) - d) / (u - d);
const intrinseco = precio => tipo === 'call' ? Math.max(precio - strike, 0) : Math.max(strike - precio, 0);
const precios = [];
for (let i = 0; i <= pasos; i++) {
precios[i] = [];
for (let j = 0; j <= i; j++) {
precios[i][j] = spot * Math.pow(u, j) * Math.pow(d, i - j);
}
}
let valores = precios[pasos].map(intrinseco);
for (let i = pasos - 1; i >= 0; i--) {
for (let j = 0; j <= i; j++) {
const continuacion = (p * valores[j + 1] + (1 - p) * valores[j]) / (1 + tasa);
valores[j] = americana ? Math.max(continuacion, intrinseco(precios[i][j])) : continuacion;
}
}
return valores[0];
}
console.log(valorBinomioOpcion(100, 1.2, 0.8, 0.05, 100, 2, 'put', false).toFixed(4)); // "6.2925"
console.log(valorBinomioOpcion(100, 1.2, 0.8, 0.05, 100, 2, 'put', true).toFixed(4)); // "7.9932"
console.log(valorBinomioOpcion(100, 1.2, 0.8, 0.05, 100, 2, 'call', true).toFixed(4)); // "15.5896"Extendiendo el mismo árbol a tres períodos, la prima de la put se mantiene positiva: la de la call, en cambio, sigue siendo nula como predice la teoría.
function valorBinomioOpcion(spot, u, d, tasa, strike, pasos, tipo = 'call', americana = false) {
const p = ((1 + tasa) - d) / (u - d);
const intrinseco = precio => tipo === 'call' ? Math.max(precio - strike, 0) : Math.max(strike - precio, 0);
const precios = [];
for (let i = 0; i <= pasos; i++) {
precios[i] = [];
for (let j = 0; j <= i; j++) {
precios[i][j] = spot * Math.pow(u, j) * Math.pow(d, i - j);
}
}
let valores = precios[pasos].map(intrinseco);
for (let i = pasos - 1; i >= 0; i--) {
for (let j = 0; j <= i; j++) {
const continuacion = (p * valores[j + 1] + (1 - p) * valores[j]) / (1 + tasa);
valores[j] = americana ? Math.max(continuacion, intrinseco(precios[i][j])) : continuacion;
}
}
return valores[0];
}
const euro = valorBinomioOpcion(100, 1.2, 0.8, 0.05, 100, 3, 'put', false);
const amer = valorBinomioOpcion(100, 1.2, 0.8, 0.05, 100, 3, 'put', true);
console.log(euro.toFixed(4)); // "7.5073"
console.log(amer.toFixed(4)); // "8.9043"
console.log((amer - euro).toFixed(4)); // "1.3970" (prima)22.10 Laboratorio: europea vs americana
Modificá los parámetros y el número de períodos (entre 1 y 4), y elegí entre call y put. El laboratorio corre las dos valoraciones en paralelo y muestra, en cada nodo, el intrínseco, la continuación y la decisión correspondiente. Por defecto, la put con dos períodos: el ejercicio aparece cuando el precio cae a $80 en t = 1. Probá subir la tasa para ver cómo se agranda la prima.
Decisión de ejercicio en el árbol
Europea y americana sobre el mismo árbol, sin dividendos.
| Paso | Subidas (j) | Precio S | Intrínseco | Continuación | V europea | V americana | Decisión |
|---|
22.11 Supuestos, límites y controles
Advertencias propias de la valoración con ejercicio anticipado:
- Americana ≥ europea, siempre: si un resultado viola esta relación, hay un error de cálculo.
- La frontera de ejercicio es discreta: el árbol decide nodo a nodo; con más períodos la región de ejercicio se aproxima mejor, como en el modelo continuo.
- Sin dividendos, la call no ejerce antes: cualquier ejercicio anticipado de una call en el laboratorio (sin dividendos) señalaría un error de parámetros, como una tasa negativa muy grande.
- La prima depende de todos los parámetros: tasa, volatilidad implícita en u y d, moneyness y tiempo restante. No es una constante de la opción.
- Rebalanceos sin costo: como en todo el módulo, no hay comisiones ni spreads.
Lista de control de la valoración americana:
- ¿Se comparó intrínseco contra continuación en todos los nodos interiores, incluido t = 0?
- ¿El valor americano es mayor o igual que el europeo en todos los nodos?
- ¿La call sin dividendos dio exactamente igual que la europea?
- ¿La prima de la put crece al subir la tasa? (probalo en el laboratorio)
- ¿Los nodos marcados «Ejercer» tienen intrínseco positivo y estrictamente mayor que la continuación?
- ¿Se usó la tasa del mismo período que cada paso del árbol?
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.
22.12 Próximo paso: Black-Scholes y sus supuestos
El árbol binomial responde a la pregunta «¿cuánto vale una opción?» con un procedimiento numérico. A partir del tema 23 aparece la otra gran respuesta del curso: una fórmula cerrada, el modelo de Black-Scholes, que valora opciones europeas con un movimiento continuo del activo. Sus supuestos —volatilidad constante, lognormalidad, mercados sin fricciones— se estudiarán uno por uno, y se verá cómo se conectan con el árbol: con muchísimos pasos y factores bien calibrados, la valoración binomial converge a la de Black-Scholes.
La contraparte es que Black-Scholes no valora directamente opciones americanas: la decisión de ejercicio óptimo que practicamos en este tema requiere árboles u otros métodos numéricos. Esa es la razón por la que el módulo continúa con implementaciones y validaciones antes de volver a los modelos analíticos.
22.13 Ejercicio propuesto
Con los datos de siempre —S0 = $100, u = 1,2, d = 0,8, r = 5 % por período, K = $100— se valora una put a tres períodos, europea y americana.
- Escribí los cuatro precios terminales y los pagos de la put.
- Valorá la put europea (usá la esperanza descontada del tema 20).
- Valorá la put americana recorriendo los nodos hacia atrás e indicá en qué nodos conviene ejercer.
- Calculá la prima de ejercicio anticipado.
- En el nodo de
S = 96del paso t = 2 la put está dentro del dinero, ¿por qué no conviene ejercer ahí?
Ver orientación de resolución
Precios terminales: 172,8; 115,2; 76,8 y 51,2; pagos de la put: 0; 0; 23,2 y 48,8. Europea: [3 × 0,625 × 0,3752 × 23,2 + 0,3753 × 48,8] / 1,053 = [6,1172 + 2,5734] / 1,157625 = $7,5073. Americana — en t = 2: nodo 144 → 0; nodo 96 → max(4 ; [0,625 × 0 + 0,375 × 23,2] / 1,05) = max(4 ; 8,2857) = 8,2857 (continuar: el intrínseco de $4 es menor que el seguro restante); nodo 64 → max(36 ; [0,625 × 23,2 + 0,375 × 48,8] / 1,05) = max(36 ; 31,2381) = 36 (ejercer). En t = 1: nodo 120 → 2,9592; nodo 80 → max(20 ; [0,625 × 8,2857 + 0,375 × 36] / 1,05) = max(20 ; 17,7891) = 20 (ejercer). En t = 0: [0,625 × 2,9592 + 0,375 × 20] / 1,05 = $8,9043. Prima: 8,9043 − 7,5073 = $1,3970. En S = 96 el intrínseco ($4) es menor que el valor de continuación ($8,2857): ejercer sacrificaría el seguro restante, que aún protege caídas adicionales hasta $51,2.
function valorBinomioOpcion(spot, u, d, tasa, strike, pasos, tipo = 'call', americana = false) {
const p = ((1 + tasa) - d) / (u - d);
const intrinseco = precio => tipo === 'call' ? Math.max(precio - strike, 0) : Math.max(strike - precio, 0);
const precios = [];
for (let i = 0; i <= pasos; i++) {
precios[i] = [];
for (let j = 0; j <= i; j++) {
precios[i][j] = spot * Math.pow(u, j) * Math.pow(d, i - j);
}
}
let valores = precios[pasos].map(intrinseco);
for (let i = pasos - 1; i >= 0; i--) {
for (let j = 0; j <= i; j++) {
const continuacion = (p * valores[j + 1] + (1 - p) * valores[j]) / (1 + tasa);
valores[j] = americana ? Math.max(continuacion, intrinseco(precios[i][j])) : continuacion;
}
}
return valores[0];
}
console.log(valorBinomioOpcion(100, 1.2, 0.8, 0.05, 100, 3, 'put', false).toFixed(4)); // "7.5073"
console.log(valorBinomioOpcion(100, 1.2, 0.8, 0.05, 100, 3, 'put', true).toFixed(4)); // "8.9043"22.14 Ejercicio adicional: el motor de la tasa
La intuición del apartado 22.5 dice que el ejercicio anticipado de la put se alimenta de la tasa de interés. Comprobémoslo con el mismo árbol de dos períodos (S0 = $100, u = 1,2, d = 0,8, K = $100).
- Con
r = 0: calculápy valorá la put europea de dos períodos. - Valorá la put americana con
r = 0. ¿Dónde queda la decisión de ejercicio y cuánto vale la prima? - ¿Por qué sin tasa de interés el ejercicio anticipado pierde su atractivo?
- Con
r = 15 %la put americana vale ≈ $2,50 y la europea ≈ $1,09. ¿Por qué la prima sube a ≈ $1,42?
Ver orientación de resolución
Con r = 0: p = (1 − 0,8) / (1,2 − 0,8) = 0,5. Europea: [2 × 0,5 × 0,5 × 4 + 0,52 × 36] / 1 = $11,0000. Americana: en t = 1, la bajada arroja una continuación de 0,5 × 4 + 0,5 × 36 = 20 que iguala al intrínseco de $20: ejercer o esperar da lo mismo; en la subida, la continuación de $2 supera al intrínseco de $0. En t = 0: 0,5 × 2 + 0,5 × 20 = $11,0000, igual que la europea: prima cero. Sin tasa, cobrar K hoy no rinde nada extra y el valor de continuación siempre alcanza o supera al intrínseco. Con r = 15 %, en cambio, cobrar los $100 de inmediato en el nodo de bajada permite reinvertirlos al 15 %, el ejercicio vuelve a ser estrictamente óptimo y la prima reaparece (≈ $1,42). En el laboratorio se puede reproducir todo esto cambiando solo la tasa.
function valorBinomioOpcion(spot, u, d, tasa, strike, pasos, tipo = 'call', americana = false) {
const p = ((1 + tasa) - d) / (u - d);
const intrinseco = precio => tipo === 'call' ? Math.max(precio - strike, 0) : Math.max(strike - precio, 0);
const precios = [];
for (let i = 0; i <= pasos; i++) {
precios[i] = [];
for (let j = 0; j <= i; j++) {
precios[i][j] = spot * Math.pow(u, j) * Math.pow(d, i - j);
}
}
let valores = precios[pasos].map(intrinseco);
for (let i = pasos - 1; i >= 0; i--) {
for (let j = 0; j <= i; j++) {
const continuacion = (p * valores[j + 1] + (1 - p) * valores[j]) / (1 + tasa);
valores[j] = americana ? Math.max(continuacion, intrinseco(precios[i][j])) : continuacion;
}
}
return valores[0];
}
console.log(valorBinomioOpcion(100, 1.2, 0.8, 0, 100, 2, 'put', false).toFixed(4)); // "11.0000"
console.log(valorBinomioOpcion(100, 1.2, 0.8, 0, 100, 2, 'put', true).toFixed(4)); // "11.0000"
console.log(valorBinomioOpcion(100, 1.2, 0.8, 0.15, 100, 2, 'put', false).toFixed(2)); // "1.09"
console.log(valorBinomioOpcion(100, 1.2, 0.8, 0.15, 100, 2, 'put', true).toFixed(2)); // "2.50"