Calculadora BPA
Un resultado neto de 1.000.000 menos 50.000 de dividendos preferentes, repartido entre 500.000 acciones medias ponderadas, da un BPA básico de 1,9, con 950.000 disponibles para los accionistas ordinarios. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Ingreso neto
- 1 000 000
- Dividendos preferentes
- 50 000
- Acciones promedio ponderado
- 500 000
- Ingreso disponible para accionistas comunes
- 950 000
- Eps
- 1,9
El beneficio por acción, o BPA (EPS), es el beneficio o la pérdida que corresponde a cada acción ordinaria una vez apartados los dividendos preferentes. Los analistas de renta variable, los prestamistas y los equipos de relación con inversores usan esa sola cifra para comparar emisores de distinto tamaño en base por acción, para alimentar múltiplos precio-beneficio y para comprobar si el resultado neto del periodo llegó de verdad a los accionistas ordinarios. Esta calculadora de BPA toma tres números finitos —resultado neto, dividendos preferentes y media ponderada de acciones en circulación—, resta los dividendos preferentes del resultado neto, divide por el número de acciones y devuelve el EPS junto con el resultado atribuible a ordinarias como numerador. Un recuento de acciones igual a cero se rechaza porque la división por cero no está definida.
Cómo el BPA básico convierte resultado neto, dividendos preferentes y acciones en una cifra por título
El beneficio por acción básico formula una pregunta estrecha: después de que los preferentistas cobren sus dividendos contractuales, cuánto del resultado neto del periodo queda para cada acción ordinaria que estuvo en circulación, en media, durante el periodo. Un resultado neto de un millón, cincuenta mil de dividendo preferente y quinientas mil acciones de media ponderada imprimen un resultado atribuible a ordinarias de novecientos cincuenta mil y un EPS de 1.9.
Un resultado neto nulo es un desenlace legítimo y no un error: un periodo de equilibrio sigue teniendo un EPS de cero una vez que el recuento de acciones es positivo. El resultado neto negativo se acepta porque una pérdida sigue teniendo una cifra (negativa) de beneficio por acción que los analistas cotizan junto a un múltiplo precio-beneficio que pueden optar por no calcular.
Los dividendos preferentes pueden ser cero; también pueden imprimir un abono en una reversión rara, y el numerador sigue ese signo en lugar de ocultarlo detrás de un valor absoluto. Los recuentos negativos se rechazan por la misma razón. Esta calculadora no computa el BPA diluido, no añade convertibles, opciones ni warrants al denominador, no aplica una asignación de dos clases con títulos participantes, no anualiza un periodo residual y no convierte divisas.
Usted aporta tres números finitos que ya comparten un periodo y una moneda; la calculadora resta, divide, redondea el resultado atribuible a ordinarias half-up a dos decimales y redondea el EPS half-up a seis decimales para que las pruebas coincidan byte a byte entre entornos. Es el BPA básico de la identidad de tres líneas, no un recorrido de acciones diluidas, no una reconstrucción de los últimos doce meses y no una cotización en vivo.
Dónde aporta valor una calculadora de BPA
Los operadores que criban un cierre mensual usan una calculadora de BPA para convertir el resultado neto del último periodo, los dividendos preferentes y la media ponderada de acciones en una sola línea comparable por título antes de abrir un modelo completo de resultados.
Los analistas de renta variable vuelven a ejecutar los mismos tres campos cuando cierra el ejercicio o un paquete de consenso pide el beneficio por acción básico, y fijan eps junto a un múltiplo precio-beneficio para que cada memorando arranque desde una sola cifra por acción y no desde un resultado neto que aún no se ha escalado por acciones.
Los packs de relación con inversores y de consejo toman el resultado neto de la cuenta, los dividendos preferentes de las notas y el WASO de la tabla de acciones, y comparan ese BPA básico con un caso diluido y con una reconstrucción de los últimos doce meses en vez de tratar cualquiera de ellos como sustituto.
Es una búsqueda y un trabajo distintos del BPA diluido, de un múltiplo precio-beneficio, de una identidad de dividendo por acción y de un ratio de rentabilidad sobre fondos propios: esas herramientas parten de otras líneas y responden a otras preguntas. Los equipos de producto integran el contrato en listas de cierre, teasers de resultados y pruebas CI que deben fijar eps sin llamar a un motor contable. La validación fallida no consume saldo.
Mantenga los tres campos finitos, conserve el recuento de acciones estrictamente positivo, fije en las pruebas el EPS redondeado y obtendrá una cifra de beneficio por acción básico reproducible para teasers, plugins LMS y workers de borde sin montar un libro mayor propio.
Qué puede hacer con ella
Cierre mensual antes del modelo de resultados
Convierta el resultado neto del último periodo, los dividendos preferentes y la media ponderada de acciones en una sola línea de BPA básico antes de abrir un modelo completo de resultados.
Memorandos de analista y múltiplos PER
Fije el beneficio por acción básico junto al precio para que un pack precio-beneficio comparta una sola cifra por título y no un resultado neto sin escalar.
Packs de IR frente a un caso diluido
Pase el resultado neto del depósito, los dividendos preferentes de las notas y el WASO a un BPA básico de partida junto a un recorrido diluido y una vista de los últimos doce meses.
Preguntas frecuentes
¿Cómo se calcula el BPA?
Los importes se redondean half-up a dos decimales; el EPS, half-up a seis.
¿Qué ocurre si las acciones en circulación son cero?
El EPS no está definido cuando la media ponderada de acciones es cero, así que la calculadora no devuelve Infinity. Un recuento negativo también se rechaza. Esos fallos no se facturan.
¿Es este el BPA básico o el diluido?
BPA básico. El denominador es la media ponderada de acciones ordinarias que usted envía. La calculadora no añade convertibles, opciones ni warrants, y no aplica una asignación de dos clases con títulos participantes.
¿Puede el resultado neto ser negativo y los dividendos preferentes ser cero?
Sí. Una pérdida sigue teniendo un EPS (negativo).
¿Qué son las acciones medias ponderadas en circulación?
Es el número de acciones ordinarias promediado según el tiempo que cada una estuvo en circulación durante el periodo, de modo que emisiones, recompras y desdoblamientos ya cuentan en proporción. Use el mismo periodo que el resultado neto.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/fin/eps \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"net_income":1000000,"preferred_dividends":50000,"weighted_average_shares":500000}'const res = await fetch("https://api.kit.forhosting.com/fin/eps", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"net_income": 1000000,
"preferred_dividends": 50000,
"weighted_average_shares": 500000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/eps",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"net_income": 1000000,
"preferred_dividends": 50000,
"weighted_average_shares": 500000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/eps", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"net_income":1000000,"preferred_dividends":50000,"weighted_average_shares":500000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"net_income":1000000,"preferred_dividends":50000,"weighted_average_shares":500000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/eps", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"net_income": 1000000,
"preferred_dividends": 50000,
"weighted_average_shares": 500000
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.eps",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Cualquier entrada ausente, vacía o que no sea un número finito falla con invalid_input y no se factura.
Cómo el BPA básico convierte resultado neto, dividendos preferentes y acciones en una cifra por título
La identidad que usa esta calculadora es eps igual a net_income menos preferred_dividends, todo dividido por weighted_average_shares. net_income es el beneficio o la pérdida de última línea del periodo en una sola moneda, ya después de intereses e impuesto. preferred_dividends es el importe que no pertenece a los ordinarios y debe salir del numerador primero; envíe cero cuando el emisor no tiene acciones preferentes. weighted_average_shares es el denominador: el recuento ordinario ponderado en el tiempo para el mismo periodo, que ya refleja emisiones, recompras y splits que el declarante ha aplicado. Restar los dividendos preferentes del resultado neto produce income_available_to_common, que este endpoint también devuelve para que una hoja pueda fijar el numerador junto al resultado por acción. Un recuento de acciones igual a cero no es un EPS legítimo: la división por cero no está definida, así que la tarea falla con invalid_input en vez de devolver Infinity o un cuerpo hueco.
Contrato de entrada, forma de la respuesta y comportamiento ante errores
Esos fallos no se facturan. El resultado neto nulo y el negativo están permitidos: un equilibrio o una pérdida siguen produciendo un EPS finito en vez de un error. Ejemplo: un millón de resultado neto, cincuenta mil de dividendos preferentes y quinientas mil acciones de media ponderada producen un resultado atribuible a ordinarias de novecientos cincuenta mil y un EPS de 1.9. Envíe por POST un cuerpo JSON con tres números finitos obligatorios. net_income es la última línea del periodo en una sola moneda; los alias net_profit, earnings y profit apuntan al mismo campo para que la hoja conserve el nombre de sus columnas. preferred_dividends es el importe restado antes de que el resultado pertenezca a los ordinarios; se aceptan los alias preferred_div, pref_dividends y preferred. weighted_average_shares es el recuento ordinario ponderado en el tiempo para el mismo periodo; se aceptan shares_outstanding, shares y weighted_shares. Cada campo numérico puede llegar como número JSON o como cadena numérica. Los campos ausentes, las cadenas vacías y los valores no finitos —NaN, Infinity o texto que no se interpreta como número— fallan con invalid_input nombrando el campo. Los dividendos preferentes nulos se permiten cuando no hay acciones preferentes. weighted_average_shares debe ser estrictamente mayor que cero; un recuento nulo falla porque el EPS no está definido cuando las acciones en circulación son cero, y un recuento negativo falla porque no es una media ponderada. Si la validación pasa, el cuerpo repite net_income, preferred_dividends y weighted_average_shares, informa income_available_to_common como resultado neto menos dividendos preferentes (redondeado half-up a dos decimales) y eps como ese numerador dividido por el recuento de acciones (redondeado half-up a seis decimales), más una cadena de fórmula que reafirma la identidad. Combine el JSON con su propia regla sobre qué recuento de acciones encaja con el periodo del resultado neto que envía —el WASO básico de las notas no es el WASO diluido, y un recuento puntual de cierre no es una media ponderada—, porque este endpoint divide los tres números que usted manda; no reconstruye el movimiento de patrimonio, no elige un criterio de presentación y no consulta un depósito.
Dónde aporta valor una calculadora de BPA
Como la implementación es parse pura de nivel A, cada llamada correcta cuesta el precio base publicado $0.002 sin tokens de modelo ni red saliente.
Preguntas técnicas
¿Cuánto cuesta la calculadora de BPA?
La herramienta del navegador es gratuita. Las peticiones API usan saldo prepago del KIT a $0.002 por llamada correcta; la entrada inválida no se factura.