This commit is contained in:
2026-04-30 15:38:27 +02:00
parent 75bd34b673
commit 83aa474073
2 changed files with 43 additions and 0 deletions

View File

@@ -631,3 +631,22 @@ Pour cette regle, couvrir au minimum:
- premium en `basis`
- premium en `linked currency`
- synchro `basis` -> `linked_price` -> `unit_price`
## 7) Notes de fin de session
### Session 2026-04-30 - PnL fees ouverts et `% rate`
- Les fees PnL ne doivent pas etre generes pour un lot ouvert / virtuel dont
la quantite courante est a zero.
- Cette regle evite les lignes PnL residuelles avec `quantity = 0` mais
`amount != 0`, notamment pour les fees `rate`, `ppack` et `lumpsum`.
- La logique est volontairement proche de `Mark as finished`: quand le reliquat
ouvert/virtuel n'est plus valorisable, ses fees ne le sont pas non plus.
- Les lots physiques restent hors de ce filtre.
- Pour les fees `% rate`, `fin_int_delta` est la periode absolue de calcul.
- Le calcul `% rate` ne depend plus de la date du jour, de `fee_date`, ni de
`BL date + delta` comme date de fin.
- Formule commune purchase/sale:
`amount = unit_price * quantity * (price / 100) * fin_int_delta / 360`.
- La ligne `Estimated date` avec `trigger = bldate` sert a porter
`fin_int_delta`; la date estimee n'entre pas dans le calcul du montant.

View File

@@ -141,3 +141,27 @@ elle existe, par exemple:
- `Mark as finished` ne veut pas dire "ne plus calculer le PnL": il ignore
seulement le reliquat ouvert/virtuel; les lots physiques, fees physiques et
derivatives continuent d'etre valorises.
## Session 2026-04-30 - PnL fees ouverts et `% rate`
### PnL fees sur lots ouverts
- Un lot ouvert / virtuel avec quantite courante a zero ne doit plus generer
de lignes de fees PnL.
- Cette regle suit la meme intention que `Mark as finished`: le reliquat
ouvert/virtuel ignore ne doit pas porter de PnL, y compris pour les fees.
- Les lots physiques restent valorisables; le filtre vise seulement les lots
non physiques vides.
- Le cas important est celui des fees `rate`, `ppack` ou `lumpsum`, dont le
montant peut rester non nul meme quand la quantite affichee du lot est zero.
### Fee `% rate`
- `fin_int_delta` est la periode absolue de calcul du financement.
- Le montant ne depend pas de `Date.today()`, de `fee_date`, ni d'un intervalle
entre la date du jour et `BL date + delta`.
- Purchase et sale appliquent la meme formule ACT/360:
`amount = unit_price * quantity * (price / 100) * fin_int_delta / 360`.
- La ligne `Estimated date` avec `trigger = bldate` reste le support metier
pour porter `fin_int_delta`; la date estimee elle-meme ne sert pas au calcul
du montant `% rate`.