Aller au contenu

Valuation, PnL, MTM

Statut: migration partielle

Langue: fr
Page miroir: valuation-pnl-mtm.en.md

BR-PT-VAL-001 - La valuation couvre achat, vente et sale-first

Source: BR-PT-004, BR-PT-006, BR-PT-011

Règle consultant

Le PnL doit exister pour les achats et pour les ventes, même quand une vente n'est pas encore matchée à un achat.

Notes développeur

  • Une sale.line non matchée doit générer au minimum sale priced, sale fee et derivative si applicable.
  • Une sale basis sans détail de prix doit quand même produire une ligne à zéro ou au prix économique fallback selon la règle applicable.
  • Ne pas attacher arbitrairement une sale unique si plusieurs sales sont matchées au même ouvert.

BR-PT-VAL-002 - Références de valuation

Source: BR-PT-005

Règle consultant

La référence de PnL doit décrire la nature de la ligne valorisée: achat ou vente, ouverte ou physique.

Notes développeur

  • Références autorisées: Purchase/Open, Purchase/Physic, Sale/Open, Sale/Physic.
  • Un lot virtuel ne doit pas sortir avec une reference physique.

BR-PT-VAL-003 - MTM hors fees

Source: BR-PT-007

Règle consultant

Le mark-to-market s'applique aux prix et aux dérivés, pas aux frais.

Notes développeur

  • MTM autorisé pour pur. priced, sale priced, derivative.
  • Fees hors MTM: pur. fee, sale fee, shipment fee, line fee.
  • Pour les fees: mtm_price, mtm, strategy doivent rester vides.

BR-PT-VAL-004 - Snapshot courant et identité économique

Source: session 2026-05-14

Règle consultant

valuation_valuation_line représente la dernière image connue du PnL. Elle n'est pas un historique.

  • Une nouvelle génération remplace la génération précédente pour la même réalité économique.
  • Une vente non matchée porte son propre PnL.
  • Une vente matchée est portée par la ligne d'achat liée.
  • Le PnL d'une vente matchée ne doit pas être généré deux fois: une fois côté vente et une fois côté achat.

Notes développeur

  • Avant création dans valuation.valuation.line, supprimer le snapshot courant ayant la même identité économique.
  • Identité économique:
    • sale_line si elle existe, sinon line;
    • lot;
    • type;
    • reference;
    • counterparty;
    • product;
    • state;
    • strategy.
  • Ne pas inclure dans l'identité:
    • date;
    • price;
    • quantity;
    • amount;
    • mtm_price;
    • mtm.
  • Ces champs sont des résultats recalculés et doivent être remplacés par la dernière génération.
  • generate_from_sale_line() ne crée pas de snapshot vente si la sale.line est déjà matchée à une purchase.line; il redirige vers la génération de la ligne d'achat propriétaire.