
En Paraguay, cada casa de cambio publica sus cotizaciones a su manera: algunas en una tabla de su sitio, otras dentro de una aplicación, otras en una imagen. Casi ninguna dice con claridad a qué hora actualizó el precio. Si querías saber dónde te convenía cambiar dólares, tenías que abrir las páginas una por una y confiar en que el número que veías no fuera de la semana pasada.
Catador Financiero resuelve eso. Es una plataforma que diseñamos y desarrollamos en CDEOnline: junta las cotizaciones de 9 casas de cambio del país en una sola pantalla, las actualiza cada 5 minutos y analiza hacia dónde se mueve el mercado. En este artículo te contamos cómo funciona por dentro: de dónde saca los datos, cómo decide qué precio es confiable y qué cálculos hace con ellos.
Qué hace Catador Financiero
- Compara: muestra la mejor compra y la mejor venta de dólares, reales, pesos argentinos y euros, por ciudad.
- Vigila: marca las cotizaciones que dejaron de actualizarse, para que nadie decida con un precio viejo.
- Cruza: muestra el arbitraje entre divisas con los precios que publica cada casa.
- Analiza: estudia los últimos 7 días de cada moneda y explica en palabras simples si el mercado viene en suba, en baja o lateral.
- Informa: envía un resumen diario o semanal por correo y publica artículos desde su propio blog.
Paso 1: capturar los precios cada 5 minutos
El primer desafío es técnico: no hay una fuente única. Por eso la captura está hecha en Python, con un módulo para cada casa de cambio. Según cómo publica cada una, su módulo lee la API de la casa, el dato que viene embebido en la página o directamente el HTML.
Cada lectura se valida antes de enviarse y otra vez al llegar al servidor, una por una: si la de una casa viene mal, se rechaza esa sola y las demás entran igual. Y como cada casa tiene su propio módulo, si una cambia el diseño de su sitio, el problema queda acotado a esa fuente.
Son 288 capturas por día. El 12 de noviembre de 2026, 19 sucursales de las 9 casas publicaban su cotización.
Paso 2: guardar todo, sin borrar nada
Las lecturas llegan a una API interna hecha en Laravel y protegida con token. Cada una queda guardada en PostgreSQL, en un historial que solo crece: nunca se pisa ni se borra una cotización anterior. Al mismo tiempo se actualiza la cotización vigente de cada casa, con su variación.
Ese historial es la materia prima del análisis. En los últimos 7 días había 24.926 lecturas solo del dólar.
Paso 3: decidir si un precio sigue siendo confiable
Un comparador con datos viejos es peor que no tener comparador. Por eso cada cotización se clasifica según el tiempo que pasó desde su última actualización:
- Al día: menos de 5 minutos.
- Normal: entre 5 y 15 minutos.
- Desactualizada: más de 15 minutos. Queda marcada en la tabla.
No es un detalle menor: el 12 de noviembre, de 76 cotizaciones vivas, 21 llevaban más de 15 minutos sin actualizarse. Sin esa marca, cualquiera podría haber elegido una casa por un precio que ya no existía.
Paso 4: encontrar el mejor precio
Con esos datos, la plataforma arma la tabla de mejor compra y mejor venta por moneda y por ciudad. Cada casa aparece con su diferencia contra el mejor precio («Δ vs mejor»): de un vistazo ves cuánto perdés cambiando en un lugar o en otro. La tabla se ordena por compra o por venta.
También mide la brecha entre compra y venta, un buen indicador de lo que cobra el mercado por cambiar. En el último día medido, la brecha promedio del dólar fue de 213 guaraníes.
Paso 5: arbitraje entre divisas
En la frontera no solo se cambian guaraníes: también se cruzan monedas. Catador muestra cinco pares cruzados —USD/BRL, USD/ARS, EUR/BRL, ARS/BRL y EUR/USD— tal como los publica cada casa, sin recalcularlos. Así se compara lo que realmente ofrece cada una, no un valor teórico.
Paso 6: leer el mercado
La parte más interesante es el análisis de mercado. Sobre los 7 días de historial real, un modelo determinista calcula para cada moneda:
- la variación diaria y semanal;
- la volatilidad;
- el soporte y la resistencia, los niveles donde el precio suele frenar su baja o su suba;
- la probabilidad de que el mercado suba, se quede lateral o baje;
- y un sesgo explicado en texto, para que se entienda sin saber de análisis técnico.
Que sea determinista quiere decir que con los mismos datos da siempre el mismo resultado: se puede revisar y explicar, algo clave cuando se habla de plata. Además, una serie de 15 minutos de hasta 7 días por moneda, con compra, venta y precio medio, muestra cómo se movió el mercado dentro del día.
Lo que mostraron los datos
Una muestra de lo que decía la plataforma el 12 de noviembre de 2026, sobre las últimas 24 horas:
- El dólar se movió entre 6.065 y 6.081 guaraníes (precio medio entre compra y venta): un día tranquilo.
- En la semana, el dólar acumulaba una baja de 4,28 % con una volatilidad de 0,74 %. El modelo marcaba un sesgo bajista moderado, con 48 % de probabilidad de baja.
- El real pasó de 1.109 a 1.102 guaraníes y el euro de 6.639 a 6.611 en el mismo período.
- De 76 cotizaciones, 21 llevaban más de 15 minutos sin actualizarse y quedaron marcadas.
Cómo está construido
Detrás de una pantalla simple trabajan ocho servicios, cada uno en su contenedor Docker:
- Captura: Python 3.11, con un módulo por casa de cambio.
- API y cálculo: Laravel 12 con PHP. Servicios separados calculan el resumen de mercado, el arbitraje, la serie intradía y la proyección, y los exponen en una API pública con límite de consultas.
- Datos: PostgreSQL 16 para el historial y Redis 7 para caché, colas y sesiones. Los cálculos pesados quedan en caché 60 segundos.
- Sitio: Next.js 16 con React 19, TypeScript y Tailwind CSS 4. Las páginas se arman en el servidor: cargan rápido y Google lee todas las cotizaciones.
- Administración: un panel Filament para manejar las fuentes, el blog y el newsletter.
- Operación: servidor web, colas y tareas programadas, cada uno en su contenedor.
Por qué lo diseñamos así
- Una casa que falla no tira abajo al resto. Cada fuente es independiente y cada lectura se valida por separado.
- El historial no se toca. Guardar todo permite rehacer cualquier cálculo y mejorar el modelo con datos reales.
- Rápido aunque consulten muchos a la vez. La caché evita repetir los cálculos pesados en cada visita.
- Pensado para Google. Al armar las páginas en el servidor, cada cotización es contenido que el buscador puede leer.
A quién más le sirve este motor
La misma base —captura automática, historial y análisis— se adapta a cualquier negocio que dependa de precios que cambian todo el día:
- Casas de cambio: un tablero propio con su posición frente a la competencia, aviso cuando dejan de tener el mejor precio y publicación automática de sus cotizaciones en la web y en WhatsApp.
- Bancos, financieras y cooperativas: monitoreo del mercado minorista para fijar los precios de su mesa de cambios y reportes diarios para la gerencia.
- Importadoras y comercios de frontera: alertas por umbral para comprar divisas en el mejor momento, historial para presupuestar y reportes en Excel o PDF.
- Fintechs y medios: los mismos datos servidos por API, para integrarlos en otras aplicaciones, calculadoras o notas de prensa.
- Otros precios que cambian todo el día: combustibles, materiales de construcción, insumos o productos de tiendas online.
Lo desarrollamos en CDEOnline
Catador Financiero es un desarrollo de CDEOnline de punta a punta: la captura, la API, el análisis, el sitio y la operación. Podés ver el caso completo en nuestro portafolio o entrar a catadorfinanciero.com y verlo funcionando.
Si tu negocio necesita algo parecido —un tablero que junte datos dispersos, los analice y te avise cuándo actuar—, mirá nuestro servicio de software para banca y finanzas o el de software a medida, y escribinos.


