9.0 KiB
Pricing, basis et fixing
Langue : fr
Statut : migration partielle
Derniere verification code : 2026-05-25
Cette page consolide les regles de pricing trade autour des composants, des periodes de prix, des periodes d'application, du fixing manuel et du prix final des lignes achat / vente.
A retenir
Resume operationnel Une ligne trade peut etre en prix fixe, basis ou EFP. En basis, le prix de base vient d'un ou plusieurs composants de fixing. Chaque composant lit une courbe de prix, construit des dates de prix, applique ces prix sur des dates d'application, puis alimente le prix de la ligne via un summary.
| Sujet | Regle courte |
|---|---|
| Composant | Un pricing.component appartient a une ligne achat ou vente. |
| Courbe | La courbe principale est price_index. |
| Matrix | Une matrix peut alimenter un composant de fixing, avec ligne generique ou conditions. |
| Pricing period | Definit les dates ou lire les prix sur la courbe. |
| Application period | Definit les dates ou appliquer les tranches de fixing. |
| AVG | Utilise la moyenne progressive des prix lus. |
| LAST | Autorise la courbe a reprendre le dernier prix connu si la date n'a pas de prix. |
| Pricing rows | Les lignes pricing.pricing portent quantite fixee, non fixee et prix EOD. |
| Summary | Le summary remonte la derniere ligne de pricing du groupe. |
| Prix ligne | En basis, unit_price est le prix base hors premium. |
pricing.component
|
v
pricing.trigger
|
+--> pricing period --> dates de lecture curve
|
+--> application period --> dates de fixing
|
v
pricing.pricing
|
v
purchase/sale pricing summary
|
v
line.unit_price
Regles consultant
BR-PT-PRI-001 - Le premium fait partie du prix economique
Source: BR-PT-008
| Point | Regle |
|---|---|
| Prix visible | unit_price reste le prix de base hors premium. |
| Prix economique | Le montant utilise unit_price + premium. |
| Basis | Le premium s'ajoute aussi quand le prix base vient du fixing. |
| Documents commerciaux | Une ligne basis peut afficher le premium comme prix visible selon le contexte document. |
| Valuation | Le premium doit etre pris en compte dans les lignes valorisees. |
Point cle Le premium n'est pas un composant de fixing. Il reste porte par la ligne commerciale, mais il fait partie du prix economique utilise pour les montants.
BR-PT-PRI-002 - Linked currency
Source: BR-PT-009 et BR-PT-010
| Point | Regle |
|---|---|
| Activation | linked_price, linked_currency et linked_unit deviennent obligatoires. |
| Saisie | Le prix et le premium peuvent etre saisis dans le repere lie. |
| Conversion | Les calculs internes convertissent vers la devise / unite de la ligne. |
| Basis | En basis + linked currency, linked_price represente le basis brut hors premium. |
| Amount | Le montant ajoute le premium converti. |
BR-PT-PRI-003 - Pricing manuel
Source: BR-PT-016 et doublon historique BR-PT-015
| Colonne | Role |
|---|---|
pricing_date |
Date de saisie du fixing. |
quantity |
Quantite fixee ce jour. |
settl_price |
Prix de marche saisi. |
fixed_qt |
Cumul des quantites fixees. |
fixed_qt_price |
Prix moyen pondere du cumul fixe. |
unfixed_qt |
Solde restant a fixer. |
unfixed_qt_price |
Dernier prix disponible de la courbe du composant pour le solde non fixe, avec fallback sur settl_price si aucune courbe exploitable n'est disponible. |
eod_price |
Prix economique courant de la ligne de fixing. |
last |
Derniere ligne du groupe, utilisee par le summary. |
Saisie utilisateur En manuel, l'utilisateur renseigne seulement
quantityetsettl_price. Les cumuls, le prix moyen, le solde non fixe etlastsont recalcules par le systeme.
BR-PT-PRI-004 - Pricing automatique par composant
| Etape | Effet metier |
|---|---|
| Composant | L'utilisateur choisit une courbe, un calendrier et active Auto. |
| Source curve | Le systeme lit les prix depuis price_index. |
| Source matrix | Le systeme lit les prix depuis price_matrix.line. |
| Trigger | L'utilisateur definit une periode de prix et une periode d'application. |
| Lecture prix | Le systeme lit les prix de la courbe sur les dates de pricing. |
| Application | Le systeme cree une ligne de pricing par date d'application. |
| Quota | La quantite fixee par date correspond a la quantite de ligne divisee par le nombre de dates d'application. |
| Moyenne | Si AVG est coche, le prix fixe utilise la moyenne progressive. |
| Fallback prix | Si LAST est coche, la courbe peut reprendre le dernier prix disponible. |
| Cut-off | Pricing date max arrete la generation apres cette date. |
| Ratio negatif | Un ratio -100% soustrait le composant du prix basis. |
Prix lus: P1 P2 P3 P4
Application: A1 A2 A3 A4
Quantite fixee: Q/4 Q/4 Q/4 Q/4
Summary: derniere ligne marquee last
BR-PT-PRI-005 - Mode From / To manuel
| Cas | Regle |
|---|---|
Pas de pricing_period |
L'utilisateur peut saisir From / To cote pricing. |
Pas de application_period |
L'utilisateur peut saisir From / To cote application. |
| Application vide | Par defaut, l'application reprend la meme fourchette que le pricing manuel. |
| Calendrier present | Les jours fermes du calendrier sont exclus. |
| Calendrier absent | Tous les jours calendaires de la fourchette sont utilises. |
| Lecture curve | Les prix sont lus sur les dates de la fourchette pricing. |
| Application fixing | Les lignes de fixing sont creees sur les dates de la fourchette application. |
Exemple simple Pricing
01/04 -> 05/04, Application vide. Le systeme lit les prix du 1 au 5 avril et cree les applications sur ces memes dates, sauf jours exclus par le calendrier si un calendrier est renseigne.
BR-PT-PRI-006 - Matrix de premium ou spread
| Cas | Regle |
|---|---|
| Matrix generique | Une ligne matrix sans origin, destination, product ni quality s'applique comme fallback global. |
| Matrix conditionnelle | Une ligne avec origin, destination, product ou quality est prioritaire si elle correspond a la ligne trade. |
| Prix | price_value est converti vers l'unite / devise de la ligne si la matrix les renseigne. |
| Validite | valid_from et valid_to limitent la periode d'utilisation de la matrix. |
| Calendrier | Si le composant n'a pas de calendrier, le calendrier de la matrix est utilise. |
| Soustraction | Pour soustraire un premium, mettre le ratio du composant a -100%. |
Usage premium simple Creer une matrix avec une ligne sans condition et
price_value = 45, puis ajouter un composant de typeMatrixsur la ligne trade. Avec un ratio-100%, ce composant diminue le prix basis de 45 dans le repere de la ligne.
Section developpeur
Modeles pivots
- Composant :
pricing.component - Trigger :
pricing.trigger - Periode relative :
pricing.period - Ligne de fixing :
pricing.pricing - Summary achat :
purchase.pricing.summary - Summary vente :
sale.pricing.summary - Ligne achat :
purchase.line - Ligne vente :
sale.line - Courbe :
price.price - Valeur de courbe :
price.price_value - Calendrier :
price.calendar
Methodes principales
pricing.trigger.getPricingListDates()pricing.trigger.getApplicationListDates()pricing.trigger.getListDates()pricing.trigger.getprice()purchase.line.check_pricing()sale.line.check_pricing()purchase.line.generate_pricing()sale.line.generate_pricing()pricing.pricing._sync_manual_values()pricing.pricing._sync_manual_last()purchase.pricing.summary.table_query()sale.pricing.summary.table_query()
Points d'attention actuels
| Sujet | Etat |
|---|---|
fallback composant |
Champ present, logique metier encore portee par trigger.last. |
last trigger |
Signifie dernier prix disponible sur la curve. |
last pricing |
Signifie derniere ligne du groupe pour le summary. |
| Matrix | Disponible dans le fixing auto, avec fallback generique et priorite aux lignes conditionnelles. |
prDate / apPrice |
Variables intermediaires historiques peu exploitees. |
| AVG | Moyenne progressive calculee sur la liste des prix lus. |
Tests proches
modules/purchase_trade/tests/test_module.py- Couverture existante :
- champs manuels readonly / editable ;
- recalcul du pricing manuel ;
- unicite logique du
lastpar groupe ; - fallback
quantitysiquantity_theoricalest vide ; - controle que le composant appartient a la ligne courante.
- Tests a maintenir :
- From / To manuel sans calendrier ;
- From / To manuel avec calendrier ;
- application vide qui reprend la fourchette pricing ;
- comportement AVG / LAST.