Pine Script y contadores públicos en Uruguay
Pine Script, el lenguaje de TradingView, no es solo para traders. Es una herramienta concreta para contadores públicos uruguayos que asesoran en inversiones.
Mathías
Autor
Qué es Pine Script
Pine Script es el lenguaje propio de TradingView. Sirve para escribir indicadores, estrategias y alertas directamente sobre los gráficos de la plataforma. Es liviano, corre en el navegador y no requiere instalar nada.
No es Python ni Rust: es un DSL (lenguaje de dominio específico) diseñado para una sola cosa, analizar series de precios.
Por qué le importa a un contador público
En Uruguay, cada vez más contadores asesoran clientes con carteras en el exterior: ETFs, acciones, bonos, cripto. El CPA ya no solo cierra balances, también interpreta riesgo y rendimiento.
Pine Script permite:
- Calcular rendimientos reales sobre una cartera simulada sin planillas frágiles.
- Probar estrategias antes de recomendar una asignación.
- Generar alertas de volatilidad o drawdown para avisar a un cliente.
- Documentar criterios de inversión con código versionado, no con un Excel que nadie entiende.
Un ejemplo concreto: monitor de riesgo para el cliente
Imaginá que asesorás a una persona física con inversiones en el exterior y el cliente te pregunta dos cosas en la misma reunión: ¿cuánto gané en el año? y ¿cuánto llegué a perder en el peor momento?. Este indicador responde ambas preguntas en pantalla, sobre cualquier activo de TradingView (ETF, acción, bono, cripto):
//@version=6
indicator("Monitor de riesgo – CPA Uruguay", overlay=false)
// --- Rendimiento anual ---
// Precio de hace 252 ruedas (≈ 1 año bursátil) en timeframe diario
precio_hace_un_anio = request.security(syminfo.tickerid, "D", close[252])
rendimiento_anual = (close - precio_hace_un_anio) / precio_hace_un_anio * 100
// --- Drawdown desde máximo histórico ---
// var persiste el valor entre barras; lo usamos para rastrear el pico
var float maximo_historico = na
maximo_historico := na(maximo_historico) ? high : math.max(maximo_historico, high)
drawdown = (close - maximo_historico) / maximo_historico * 100
// --- Visualización ---
color_rendimiento = rendimiento_anual >= 0 ? color.teal : color.red
color_drawdown = drawdown < -10 ? color.red : color.orange
plot(rendimiento_anual, title="Rendimiento 12M %", color=color_rendimiento, linewidth=2)
plot(drawdown, title="Drawdown desde máximo %", color=color_drawdown, linewidth=1)
hline(0, "Cero", color.gray)
hline(-10, "DD -10 %", color.orange, linestyle=hline.style_dashed)
hline(-20, "DD -20 %", color.red, linestyle=hline.style_dashed)
Lo que muestra:
- Línea teal/roja: rendimiento del último año en porcentaje. Verde si ganó, rojo si perdió.
- Línea naranja/roja: cuánto cayó el precio desde su pico histórico (drawdown). Dos líneas de referencia marcan los umbrales de −10 % y −20 %, que son puntos habituales de revisión de cartera.
Por qué le sirve al contador: con este indicador abierto en TradingView durante una reunión, podés mostrarle al cliente de forma visual y objetiva el perfil de riesgo del activo. No hay que exportar datos ni armar un Excel: la conversación sucede sobre el gráfico con números reales.
Dónde encaja en la práctica uruguaya
- Asesoramiento a personas físicas con inversiones en el exterior (cada vez más común post apertura cambiaria).
- Control de gestión para empresas con excedentes invertidos en instrumentos líquidos.
- Due diligence rápida sobre un activo antes de incluirlo en una recomendación.
- Educación al cliente: mostrar en pantalla, con datos reales, qué significa volatilidad o correlación.
Límites honestos
Pine Script no reemplaza a Python o Rust para backtesting serio, ni sirve para contabilidad propiamente dicha. No vas a liquidar IRPF con esto. Su valor está en el análisis visual rápido y en comunicar ideas de inversión con precisión.
Conclusión
Para el contador uruguayo que ya entra al terreno del asesoramiento financiero, Pine Script es la herramienta de entrada más barata y directa. Una tarde de práctica alcanza para dejar de depender de capturas de pantalla y empezar a hablar el mismo idioma que el mercado.