Precisión de los cálculos
La API de AstroWay utiliza Swiss Ephemeris (código C oficial de Astrodienst, creadores de astro.com), el mismo motor con el que astrólogos profesionales han trabajado durante más de 30 años en Solar Fire ($495), Kepler ($995), Astro Gold ($29.99/mes) y Janus. Lo hemos compilado en WebAssembly y lo hemos expuesto como una capa de API REST, sin recargos de intermediarios. Cada uno de los endpoints de cálculo básicos está cubierto por pruebas de regresión de instantáneas; la precisión del motor se verifica mediante triangulación con tres fuentes independientes + contra el Catálogo de Eclipses de 5 Milenios de la NASA::
- Posiciones planetarias: mediana
0.0013", máximo0.561"vs swetest CGI oficial de Astrodienst (medido el 29-07-2026 en 130 mediciones). Desglose por cuerpos a continuación - Cúspides de casas Placidus:
0.000"coincidencia exacta - Eclipses:
< 1 minutovs Catálogo de Eclipses de la NASA - Líneas ACG:
< 1.5 kmen el ecuador vs swetest - Salida/puesta del sol:
< 10 segundosvs timeanddate.com - VOC lunar, ingresos, conjunciones planetarias: precisión a una fracción de segundo
Metodología: cómo se midió
Sección titulada «Metodología: cómo se midió»Estos números no son una estimación, sino el resultado de una ejecución. El script toma 10 cartas, distribuidas entre 1900 y 2050, consulta los mismos momentos en el swetest CGI de Astrodienst en vivo y compara los 13 cuerpos que proporcionamos. En total, 130 mediciones.
| Cuerpo | Desviación máxima |
|---|---|
| Sol, Venus, Saturno | 0.001" |
| Mercurio | 0.002" |
| Nodo verdadero | 0.004" |
| Marte | 0.007" |
| Júpiter | 0.009" |
| Luna | 0.022" |
| Urano | 0.083" |
| Plutón | 0.097" |
| Neptuno | 0.223" |
| Quirón | 0.561" |
| Apogeo medio (Lilith) | 0.000" |
Mediana de las 130 mediciones: 0.0013".
Anteriormente, esta página contenía una promesa general de ”< 0.1 arcsec”. Las mediciones del 29-07-2026 mostraron que Neptuno, Plutón y Quirón no la cumplen, por lo que la promesa ha sido reemplazada por los números reales. Quirón y los planetas exteriores tienen una mayor desviación debido a que sus posiciones se toman de un conjunto comprimido de efemérides en el ensamblado WASM.
Puedes reproducirlo tú mismo: api-calc/scripts/accuracy-vs-swetest.mjs realiza
exactamente estas consultas e imprime la misma tabla.
Compruébalo tú mismo. El script con el que se midieron los números anteriores se encuentra en un repositorio público bajo licencia MIT: astroway/astrology-accuracy-benchmark. No solo funciona con nosotros: un adaptador a cualquier otra API son treinta líneas, por lo que las mismas 130 mediciones se pueden ejecutar contra un competidor y comparar. Una clave de sandbox es suficiente.
| Componente | Valor |
|---|---|
| Biblioteca | Código C de Swiss Ephemeris (aloistr/swisseph) |
| Versión | Código C upstream de Astrodienst |
| Bindings | swisseph-wasm (WebAssembly en Node.js) |
| Efemérides | Efemérides JPL DE431 (a través de archivos .se1) |
| Fallback | Analítico de Moshier (para fechas fuera de 1800-2399) |
| Compartición de código | Compartido @/core con app.astroway.info - un motor, dos transportes |
Metodología
Sección titulada «Metodología»La precisión se verifica mediante triangulación, una comparación con tres fuentes independientes:
1. swetest CGI (referencia)
Sección titulada «1. swetest CGI (referencia)»La implementación de referencia oficial de Swiss Ephemeris de Astrodienst, el equipo que creó Astro.com y atiende a millones de astrólogos en todo el mundo. La fuente pública más autorizada. Nuestro motor es idéntico (0.00–0.07 segundos de arco de desviación).
2. Kerykeion (Python)
Sección titulada «2. Kerykeion (Python)»Una biblioteca Python independiente que utiliza bindings de pyswisseph en lugar de nuestro
WASM. Confirma que nuestra capa WASM no distorsiona los datos.
3. API de Prokerala
Sección titulada «3. API de Prokerala»API remoto de Swiss Ephemeris (Lahiri sidéreo). La desviación sistémica de 8 a 17 segundos de arco está relacionada con diferentes versiones de la fórmula Lahiri ayanamsa, y no con la precisión del motor.
Resultados de la triangulación
Sección titulada «Resultados de la triangulación»| Carta | vs swetest (Astrodienst) | vs Kerykeion (Python) | vs API de Prokerala |
|---|---|---|---|
| Monroe 1926 | 0.00” | 0.19” | 16.95” (sistémico) |
| Diana 1961 | 0.00” | 0.69” | 8.18” (sistémico) |
| Einstein 1879 | 0.07” | Artefacto LMT de Kerykeion | 14.96” (sistémico) |
Conjunto de regresión a nivel de endpoints
Sección titulada «Conjunto de regresión a nivel de endpoints»Cada uno de los endpoints de cálculo básicos está cubierto por pruebas de instantáneas congeladas en 3 cartas de referencia (Monroe / Diana / Einstein) = 873 instantáneas.
El conjunto de instantáneas detecta:
- Errores de mapeo de datos de entrada - ID de planeta incorrecto, UT, sistema de casas
- Post-procesamiento - redondeo, conversión de unidades, pérdida de signo
- Divergencia de valores predeterminados - nodo medio vs verdadero, geocéntrico vs topocéntrico
- Desviación de esquema - la validación omitió un formato incorrecto
- Despliegue obsoleto - la distribución de producción no coincide con el código
Tolerancia: 5e-5° (≈0.18 segundos de arco) por defecto para todos los campos numéricos.
Benchmarks detallados
Sección titulada «Benchmarks detallados»Posiciones planetarias (trópico, vs swetest)
Sección titulada «Posiciones planetarias (trópico, vs swetest)»| Carta | Fecha | Desviación máxima |
|---|---|---|
| Marilyn Monroe | 1926-06-01 | 0.00” |
| Princess Diana | 1961-07-01 | 0.00” |
| Albert Einstein | 1879-03-14 | 0.07” |
Cúspides de casas Placidus (vs swetest)
Sección titulada «Cúspides de casas Placidus (vs swetest)»| Carta | Desviación ASC | Desviación MC | Desviación máxima de cúspide |
|---|---|---|---|
| Monroe | 0.000” | 0.000” | 0.000” |
| Diana | 0.000” | 0.000” | 0.000” |
Eclipses (vs Catálogo de 5 Milenios de la NASA)
Sección titulada «Eclipses (vs Catálogo de 5 Milenios de la NASA)»| Evento | Máximo NASA | Nuestro máximo | Desviación |
|---|---|---|---|
| 2025-03-14 Lunar Total | 06:58 UT | 06:58 UT | 0.8 min |
| 2025-03-29 Solar Partial | 10:47 UT | 10:47 UT | 0.5 min |
| 2025-09-07 Lunar Total | 18:11 UT | 18:11 UT | 0.8 min |
| 2025-09-21 Solar Partial | 19:41 UT | 19:42 UT | 1.0 min |
Astrocartografía (vs fórmula RA de swetest)
Sección titulada «Astrocartografía (vs fórmula RA de swetest)»Todas las líneas MC/IC/ASC/DSC utilizan la fórmula correcta longitude = RA − GMST
(estándar de Kenneth Bowser). Desviación del estándar: < 1.5 km en el ecuador para
todos los planetas.
Salida / Puesta del Sol (vs timeanddate.com)
Sección titulada «Salida / Puesta del Sol (vs timeanddate.com)»| Ubicación | Fecha | Parámetro | Desviación |
|---|---|---|---|
| Londres | 2026-04-15 | Salida del sol | 0.6 s |
| Londres | 2026-04-15 | Puesta del sol | 9 s |
Las ubicaciones polares (|lat| > 66.5°) devuelven automáticamente polarState +
una advertencia de que las horas planetarias normales no están definidas.
Orbes de aspectos
Sección titulada «Orbes de aspectos»AstroWay utiliza orbes variables por planeta (regla MIN de dos planetas), como en ZET9 y astro.com. Orbes predeterminados (para la carta natal):
| Aspecto | Sol | Luna | Interior | Júpiter | Exterior |
|---|---|---|---|---|---|
| Conjunción | 12° | 10° | 5° | 8° | 5° |
| Sextil | 6.5° | 6° | 5° | 5° | 5° |
| Cuadratura | 10° | 8° | 5° | 7° | 5° |
| Trino | 12° | 8° | 5° | 5° | 5° |
| Oposición | 12° | 10° | 5° | 8° | 5° |
Los aspectos menores (36°, 40°, 45°, 72°, 108°, 135°, 144°) están desactivados
por defecto. Se activan explícitamente a través de ALL_ASPECTS.
Latitudes polares
Sección titulada «Latitudes polares»Para |lat| > 66.5°, los sistemas Placidus / Koch / Regiomontanus no están matemáticamente definidos. En tales casos, Swiss Ephemeris devuelve automáticamente Porphyry, y nuestra API añade una advertencia:
{ "system": "P", "warning": "Система Placidus не визначена для lat=68.96° (> 66.5°). Swiss Ephemeris підставив Porphyry..."}Verificación continua
Sección titulada «Verificación continua»La regresión se verifica en cada PR a través de CI:
api-calc/tests/endpoints/- 873 instantáneas contra cartas de referencia (Monroe / Diana / Einstein) + sinastría / compuesto / davison.github/workflows/api-accuracy.yml- ejecución automática en PR- Triangulación contra swetest CGI + Kerykeion - semanalmente
- Monitoreo de Swiss Ephemeris upstream a través de Dependabot
Fiabilidad de MCP - salida tipada
Sección titulada «Fiabilidad de MCP - salida tipada»La precisión del motor es la mitad de la confianza. La otra mitad es el contrato de salida, que un agente (Claude, ChatGPT, Cursor) puede validar. Nuestro servidor MCP no devuelve “texto sin procesar, arréglatelas tú mismo”:
structuredContenttipado. Más de 600 herramientas MCP, y la gran mayoría de ellas publican unoutputSchemaestricto - el cliente MCP recibe una estructura validada, no una cadena que debe analizarse al azar.- Protección contra la desviación del esquema. La prueba CI
openapi-example-driftvalida cada instantánea de regresión contra el esquema derivado de su propio ejemplo: si la salida real del endpoint difiere del esquema publicado, la compilación falla. Esta clase de discrepancias es la que causa el error MCP-32602 Output validation error. - Los errores son errores. Un fallo de la herramienta siempre se devuelve con el indicador
isErrory un código tipado (UPPER_SNAKE). Nunca entregamos a un modelo un rastreo de pila sin procesar o rutas internas del servidor como “datos”.
Es decir, la integración a través de MCP es tan predecible como una llamada REST directa:
lo que se describe en /openapi.json es lo que devuelve la herramienta.
Limitaciones conocidas
Sección titulada «Limitaciones conocidas»- Fechas fuera de rango (antes de 1800 y después de 2399): se utiliza el analítico de Moshier, precisión ~0.1” (frente a < 0.01” para SWIEPH con archivos DE431)
- Lilith Verdadera (id=13) vs Lilith Media (id=12): diferencia de hasta 12° - por defecto
Lilith Media (comportamiento estable), Lilith Verdadera disponible a través de
planetIds: [13] - Topocéntrico vs geocéntrico: por defecto geocéntrico
Enlaces
Sección titulada «Enlaces»- Swiss Ephemeris: https://www.astro.com/swisseph/
- swetest CGI: https://www.astro.com/swisseph/swetest.htm
- Catálogo de Eclipses de la NASA: https://eclipse.gsfc.nasa.gov/
- Kerykeion: https://github.com/g-battaglia/kerykeion
- Astrodienst: https://www.astro.com/
Contacto
Sección titulada «Contacto»Para preguntas sobre precisión: escribe a support@astroway.info con los datos de la carta y el estándar esperado (astro.com u otra fuente autorizada).