Documentación y Metodología

Documentación y Metodología de Valuación

Cómo la aplicación valúa la posición abierta de granos, qué criterios usa para el control de posiciones, y cómo operarla. Toda la valuación se expresa en USD, por producto y por nube, a la fecha del día de valuación seleccionado.

1. Objetivo y alcance

La aplicación calcula la posición abierta y su valor a mercado (MTM, mark-to-market) para el portafolio de granos, combinando cuatro fuentes de exposición:

  • Contratos Forward (físicos): Precio Hecho, A Fijar Precio, MatRfx, Fwd y PAF IP.
  • Futuros MATBA-ROFEX (mercado local).
  • Futuros Chicago (CBOT).
  • Mercadería física sin contrato: depósitos, falta de réplica y stock en planta.

Sobre esa base produce tres grandes salidas: la valuación MTM (resultado por producto, nube y tipo de contrato), los controles de posición (descalces direccional/temporal, basis, facturado, depósitos y precios), que permiten contrastar lo que calcula la app contra lo que reporta la mesa, y el Origen y Aplicación de Fondos(hoja de balance de la posición, ver punto 7).

2. Convenciones generales

Moneda

Todo se valúa en USD. Los precios pactados en pesos se dolarizan con el tipo de cambio del día de valuación. Si un contrato está en pesos y no hay tipo de cambio cargado, queda marcado como sin precio y no suma al MTM.

Signo (dirección)

En toda la app: Compra = +1, Venta = −1. Las posiciones se netean con ese signo.

Fecha de referencia

Es la fecha del día de valuación seleccionado (panel izquierdo). Define qué precios se usan y, sobre todo, cuál es la nube activa (ver punto 3).

Productos con y sin nube

Soja, Maíz y Trigo se agrupan en nubes (ventanas de entrega). Girasol, Sorgo y otros (Arroz, Cebada) no tienen nube: usan un único precio de referencia por producto + mercado.

Anulados y exclusiones

Los contratos en estado anulado no se valúan. También se pueden excluir manualmente contratos puntuales (por id externo): no suman al MTM ni aparecen en el árbol por producto/nube.

3. Nubes (ventanas de entrega)

Una nube agrupa posiciones por ventana de entrega. La asignación tiene tres pasos:

3.1 Mes equivalente

Se calcula desde la fecha hasta (forwards) o el mes de la posición (futuros, usando el último día del mes). Regla de corte: día 25 (excepción: Trigo en noviembre = 13). Si el día es ≤ corte, el mes de entrega es ese mes; si es mayor, pasa al mes siguiente. Y el mes equivalente es un mes anterior al mes de entrega.

3.2 Agrupación en nube

Para Maíz / Soja / Trigo, el mes equivalente cae en una de 3 nubes por año(cada producto tiene su tabla de rangos de meses). Girasol / Sorgo se agrupan directamente por mes equivalente, sin nube.

3.3 Redirección de nubes vencidas

Si la nube que le corresponde a un contrato es anterior a la nube activa a la fecha de referencia, la app la reasigna a la nube activa. Es decir, todo lo vencido se acumula en la nube vigente. Este es el motivo más común de diferencias al cruzar a mano: cambiar la fecha de referencia reacomoda dónde cae lo vencido.

4. Precios de referencia y tipo de cambio

Cada precio de referencia se carga por nube + mercado/puerto (Rosario o Chicago). La valuación busca el precio exacto para la nube y el puerto del contrato.

Para productos sin nube (Girasol, Sorgo, etc.) hay un fallback: si no encuentra coincidencia exacta de nube, toma cualquier precio de ese producto + mercado.

El tipo de cambio del día se usa para dolarizar precios y montos en pesos (fijaciones, diferidos, bonificaciones).

5. Valuación MTM por instrumento

5.1 Forward — Precio Hecho (y Mkt Comprador / Mkt Vendedor)

Se dolariza el precio pactado si está en pesos. Las toneladas se descomponen según su estado de entrega y facturación:

B = entregado no facturado = máx(0, entregadas − facturadas)
C = facturado no entregado = máx(0, facturadas − entregadas)
D = pendiente total = pactadas − máx(entregadas, facturadas)
Compra → importeB = −B × precioContrato ; importeC = +C × precioNube ; importeD = D × (precioNube − precioContrato)
Venta → mismos términos con signo invertido
MTM = importeB + importeC + importeD

Sobre eso se suman dos tramos contables, si existen para ese id externo: Diferido (Compra → ganancia, Venta → pérdida) y Bonificación/Descuento (MTM += −montoUSD × dirección).

5.2 Forward — A Fijar (A Fijar Precio / MatRfx / Fwd)

Se valúa en cuatro tramos:

  • Tramo 1 — Fijado pendiente de facturar. Sobre la porción ya fijada se aplica el mismo esquema B/C/D, usando el PPP (precio promedio ponderado fijado), que sale de los montos en USD + pesos pendientes de facturar + las fijaciones importadas, divididos por las tn fijadas.
  • Tramo 2 — Entrega descubierta (pendiente de fijar pero ya entregado). Se valúa a precio de la nube activa (no la nube de entrega futura), × dirección, con signo negativo (mercadería entregada sin fijar es exposición corta de precio).
  • Tramo 3 — Pendiente de fijar sin entrega. Vale 0.
  • Tramo 4 — Ajuste diferencial entrega vs fijación. Si la nube y/o el puerto de fijación difieren de los de entrega, se suma:
    pendienteFijar × (precioNubeEntrega − precioNubeFijación) × dirección

5.3 Forward — PAF IP

El contrato queda contra un producto de relación a un porcentaje. Las toneladas relevantes son mín(pendiente de fijar, pendiente de entrega), y:

diferencial = precioNubeEntrega − (precioNubeRelación × %relación)
MTM = tnPAFIP × diferencial × dirección

5.4 Futuros MATBA-ROFEX

MTM = (precioReferencia − precioEntradaPromedio) × toneladas × dirección

Usa la plaza de referencia del contrato (Rosario por defecto).

5.5 Futuros Chicago

Convierte de centavos de dólar por bushel a USD/tn y netea en toneladas:

precioEntradaUSD/tn = (precioEntrada USc/bu ÷ 100) × bushelsPorTn
toneladas = (contratos × bushelsPorContrato) ÷ bushelsPorTn
MTM = (precioReferencia − precioEntradaUSD/tn) × toneladas × dirección

Factores bushels→tn: Soja 36,744 · Maíz 39,368 · Trigo 36,744.

5.6 Depósitos, falta de réplica y stock en planta

Por producto, se netea la mercadería física sin contrato:

tnNetas = stockPlanta + faltaRéplicaVenta − depósito − faltaRéplicaCompra
MTM = tnNetas × precioNubeActiva

Convención: positivo = a cobrar (venta), negativo = a pagar (compra). Se valúa siempre al precio de la nube activa del producto.

6. Controles de posición

La pantalla Control de Posiciones tiene seis pestañas:

Descalce Direccional

Posición neta por producto (Compra − Venta, en tn), comparando App vs Trading y mostrando la diferencia. Sirve para validar el neto global.

Descalce Temporal por Nube

Posición neta por nube y producto, abierta en columnas: Forwards, MATBA, Chicago, Aj. A Fijar, Aj. PAF IP y Total Neto. Criterios clave: en Forwards los A Fijar suman solo su parte con precio; las pendientes generan ajustes cruzados de nube (Aj. A Fijar) o la pata de relación (Aj. PAF IP, inversa). Aplica la redirección de nubes vencidas.

Control Basis

Exposición a Chicago por nube (App = Directo + Ajuste), contra el valor manual de trading. Directo = forwards con puerto Chicago (parte con precio); Ajuste = pendientes de A Fijar cross-port (a la nube de fijación, con signo según dónde fija) + pata Chicago de los PAF IP.

Control Facturado

Contrasta lo facturado contra lo esperado por producto/nube.

Control Depósitos

Revisa el neto de depósito, falta de réplica y stock en planta por producto.

Control de Precios

Verifica que cada nube/puerto en uso tenga su precio de referencia cargado.

Criterios transversales a todos los controles: signo Compra +/Venta −; en forwards solo cuenta la parte con precio (las pendientes van por los ajustes); cross-nube y cross-puerto generan ajustes específicos; y las nubes vencidas se acumulan en la nube activa según la fecha de referencia.

7. Origen y Aplicación de Fondos

Es una hoja de balance en USD que muestra dónde están comprometidos los fondos. El Activo son los derechos / a cobrar (lado venta) y el Pasivo las obligaciones / a pagar (lado compra). Trabaja solo con forwards y depósitos(MATBA-ROFEX y Chicago quedan afuera) y solo con tipo de fijación Precio Hecho y A Fijar Precio. Los contratos string (marcados en comprador o vendedor) se excluyen. Todo por producto y por nube/mes de entrega, con filtro de producto y vista total + desglose.

Bloques base (por contrato)

pactado = pactadas + ajuste · fijadas = pactado − pendientesAFijar
B = entregado no facturado = máx(0, entregadas − facturadas)
C = facturado no entregado = máx(0, facturadas − entregadas)
D = pendiente = pactado − máx(entregadas, facturadas)

Renglones del Activo (el Pasivo es el espejo, lado compra)

  • 1 y 2 · A precio, entregado pend. de facturar (Precio Hecho, en pesos / usd): tns = B, monto = B × precio del contrato dolarizado.
  • 3 · A fijar, entregado fijado pend. de facturar: tns = fijado y entregado sin facturar, monto = tns × PPP (precio promedio de fijaciones = monto pend. facturar ÷ (fijadas − facturadas)).
  • 4 · A fijar, entregado sin fijar pend. de facturar: tns = entregadas − fijadas, monto = tns × precio de la nube activa.
  • 5 · Depósitos: netos de depósito / falta de réplica / stock, valuados a nube activa. Depósito de compra = a pagar (Pasivo); de venta = a cobrar (Activo).
  • 6 · Cartas de garantía: facturado pendiente de entregar (C) × precio de mercado. Compra → garantía de compra (Activo); Venta → garantía de venta (Pasivo).
  • 7 · Diferencia de precio: mark-to-market de lo que tiene precio y sigue abierto. Subdividido en Físico y OTC (ver abajo).
  • 8 · Otras: provisiones seleccionadas (ver abajo).

Renglón 7 — Diferencia de precio (Físico + OTC)

La parte Físico suma:

  • Precio Hecho: D × (precio mercado − precio contrato) × sentido.
  • A Fijar: tns fijadas sin entregar × (precio mercado − PPP) × sentido.
  • A Fijar: ajuste por diferencial de nube/puerto de entrega vs fijación sobre las pendientes de fijar.
  • PAF IP: MTM contra el producto de relación (mín(pend. fijar, pend. entrega) × (precio entrega − precio relación × %) × sentido).
  • Bonificaciones/descuentos y ajustes diferidos (contabilidad), dolarizados, × sentido.

La parte OTC viene de la tabla de doble entrada (abajo). El total Físico + OTCneteado a nivel global define el lado: si el neto es positivo, todo el renglón 7 va a Activo; si es negativo, todo a Pasivo. Adentro se muestran las dos líneas (Físico y OTC) por separado.

Tabla OTC

Tabla de doble entrada: filas = 16 meses (el actual + 15 hacia adelante), columnas = Maíz / Soja / Trigo. Cada celda es un monto total en USD (positivo o negativo). Se guarda por día y compartida entre usuarios, y netea con el físico por producto + mes de entrega.

Renglón 8 — Otras (provisiones)

Permite elegir cuáles de los ajustes de Valuación ("provisiones") se incorporan al balance. Cada uno se dolariza; positivo → Activo, negativo → Pasivo. La selección se guarda por día y es compartida.

Recupero por mes

Tabla y gráfico del total del renglón 7 (Físico + OTC) por mes de entrega, en versión mensualy acumulada. Sirve para ver cómo se distribuye en el tiempo el resultado de la posición abierta.

Sin doble conteo: cada tonelada cae en un solo renglón — B en 1/2 (a precio) o 3 (a fijar fijado); entregado sin fijar en 4; facturado sin entregar (C) en 6; y lo pendiente con precio en el 7. La tabla OTC solo suma en el renglón 7.

8. Exclusiones, datos manuales y auditoría

Además de los contratos importados, la valuación incorpora datos manuales que cargás por pantalla: precios de referencia, tipo de cambio, depósitos, falta de réplica, stock en planta, fijaciones pendientes de confirmar, ajustes diferidos y bonificaciones/descuentos.

Las exclusiones de valuación permiten sacar contratos puntuales del cálculo (por id externo). La Auditoría registra creaciones, modificaciones, eliminaciones y cargas masivas, con usuario y fecha, para trazabilidad.

9. Días de valuación (crear, copiar, cerrar, borrar)

Cada valuación vive en un día de valuación. Es la unidad de guardado: todo lo que cargás (contratos, precios, ajustes, OTC, provisiones, tipo de cambio) se guarda asociado al día seleccionado. El selector de días está en el panel izquierdo.

Guardado

No hay botón "Guardar": el guardado es automático. Cada cambio se sincroniza a la nube al día seleccionado (vas a ver el indicador "Guardando..." y luego "Conectado"). Importante: para que guarde en la nube tenés que tener un día creado y seleccionado; sin día, los cambios quedan solo en el navegador.

Crear y copiar

Con "Nuevo" creás un día indicando fecha y nombre. Podés copiar desde otro día, y en ese caso se copia:

  • Sí se copia: precios de referencia, ajustes direccionales, ajustes manuales, y toda la carga manual del día (tipo de cambio, exclusiones, provisiones seleccionadas, tabla OTC, depósitos, etc.).
  • No se copia: los contratos (Forward, MATBA, Chicago) —se reimportan del CSV del día—, ni las fijaciones pendientes, los ajustes diferidos ni las bonificaciones/descuentos (arrancan vacíos).

Estados: borrador y cerrado

Un día nace en borrador (editable). Cuando terminás, lo podés cerrar(con confirmación): pasa a solo lectura — se puede consultar pero no se guarda ningún cambio sobre él, así queda como registro inmutable. Para volver a editarlo hay que reabrirlo (también con confirmación), y vuelve a borrador.

Borrar

Un día se puede borrar solo si está en borrador. Si está cerrado, primero hay que reabrirlo. Borrar elimina el día y todos sus datos (contratos, precios, ajustes y cargas manuales) y libera ese espacio en la base. La acción pide confirmación y no se puede deshacer.

Como cada día guarda una copia completa de sus contratos, conviene borrar los días de prueba que no necesites conservar: cada día con el libro completo ocupa espacio en la base.

10. Flujo de trabajo diario

El orden recomendado para una valuación del día:

  1. Crear / seleccionar el día de valuación. Su fecha es la fecha de referencia de todo el cálculo.
  2. Importar los contratos (Forward, MATBA, Chicago) desde el CSV del día, en la pantalla Contratos.
  3. Cargar precios de referencia y tipo de cambio en la pantalla Precios de Referencia.
  4. Cargar datos manuales: depósitos, falta de réplica, stock, fijaciones pendientes, diferidos y bonificaciones.
  5. Revisar Esquemas para confirmar que las nubes quedaron bien armadas.
  6. Control de Posiciones: revisar descalces y cargar los valores de trading para comparar.
  7. Valuación: revisar el MTM por producto, nube y tipo; ajustar exclusiones y cargar provisiones si corresponde.
  8. Origen y Aplicación de Fondos: cargar la tabla OTC del día, elegir las provisiones a incluir y revisar el balance y el recupero por mes.
  9. Auditoría: queda el registro de todo lo cargado/modificado.
  10. Cerrar el día cuando esté conforme, para dejarlo en solo lectura como registro (ver punto 9).
En modo Conectado los datos se guardan en la nube por día (vas a ver el indicador “Guardando…”). No cierres ni recargues mientras guarda. En modo Local todo queda solo en ese navegador.

11. Pantallas, paso a paso

Contratos

Gestión y carga de Forward / MATBA / Chicago. Importás por CSV o cargás a mano. Tenés filtros por estado y producto, y el botón “Descargar contratos” exporta cada contrato con su impacto en toneladas (concepto y nube) — clave para reconciliar.

Precios de Referencia

Carga de precios por nube + puerto (Rosario/Chicago) y del tipo de cambio del día.

Esquemas

Visualización de nubes y posiciones: dónde cae cada cosa según mes equivalente y nube activa.

Control de Posiciones

Las seis pestañas del punto 6. Cargás los valores de trading y la app marca diferencias.

Valuación

Resultado MTM con vistas por producto, nube y tipo; pestañas de Exclusiones y Detalle contrato por contrato con su desglose (B/C/D, tramos, diferido, bonificación). Acá también se cargan las provisiones (ajustes que impactan el total).

Origen y Aplicación de Fondos

Hoja de balance (ver punto 7): Activo / Pasivo por renglón, con desglose, la tabla OTC editable, la selección de provisiones y el recupero por mes con gráfico. Todo lo editable se guarda por día.

Auditoría

Registro filtrable de cambios por fecha, usuario, acción y tipo de contrato; exportable.

12. Reconciliación de diferencias

Cuando un número de la app no coincide con el cálculo manual, revisá en este orden:

  1. Redirección de nubes vencidas. Lo vencido se acumula en la nube activa según la fecha de referencia. Si en tu planilla dejás cada posición en su nube original, vas a diferir.
  2. Tratamiento de A Fijar / PAF IP. En las columnas “directas” solo cuenta la parte con precio; las pendientes aparecen como ajuste (cross-nube, cross-puerto o pata de relación).
  3. Mes equivalente (corte 25, un mes atrás). Posiciones cerca de fin de mes pueden caer en otra nube respecto de un criterio de mes de entrega directo.
  4. Campos del import. Para los ajustes cross-puerto/fijación, los contratos necesitan tener bien cargados puerto, puertoFijación y nubeFijación.

Atajo: usá “Descargar contratos” en la pantalla Contratos para ver, fila por fila, cómo la app descompone cada contrato. Comparando ese detalle contra tu planilla, la diferencia salta enseguida.

Esta documentación describe la lógica vigente de la aplicación. Si cambia un criterio de cálculo, conviene actualizar esta sección para mantenerla como única fuente de verdad metodológica.