Rules
This commit is contained in:
@@ -110,3 +110,34 @@ elle existe, par exemple:
|
||||
`priced` / `efp`, sans fees relies a des lots, ou sans derivatives.
|
||||
- En mode `basis`, sans composant, le fallback metier continue de passer par la
|
||||
ligne summary quand elle existe.
|
||||
|
||||
## Session 2026-04-29 - Purchase trade: rate fee et PnL lots ouverts
|
||||
|
||||
### `fee.fee` / mode `% rate`
|
||||
|
||||
- Le calcul du montant d'un fee en mode `rate` est aligne entre purchase et
|
||||
sale.
|
||||
- Il ne depend pas du `payment_term`.
|
||||
- La date de fin vient de l'onglet `Estimated date` de la ligne metier:
|
||||
chercher `trigger = bldate`, prendre `estimated_date`, puis ajouter
|
||||
`fin_int_delta`.
|
||||
- La formule reste en interet simple ACT/360:
|
||||
`amount = rate_factor * unit_price * quantity`, avec
|
||||
`rate_factor = (price / 100) * jours / 360`.
|
||||
- Si aucune Estimated Date `bldate` n'est renseignee, le fee `% rate` ne
|
||||
calcule pas de montant.
|
||||
|
||||
### Valuation / PnL avec lots ouverts matches
|
||||
|
||||
- Tant que les lots physiques ne sont pas crees, une purchase et une sale
|
||||
peuvent etre matchees uniquement via `lot.qt`:
|
||||
`lot_p` purchase ouvert -> `lot_s` sale ouvert.
|
||||
- Dans ce cas, les lignes PnL purchase-side (`Pur. price`, `Pur. fee`) doivent
|
||||
aussi renseigner `sale` et `sale_line` pour apparaitre dans l'onglet PnL de
|
||||
la sale matchee.
|
||||
- Quand le lot physique existe, `lot.sale_line` reste le chemin prioritaire.
|
||||
- Si un lot purchase ouvert est matche a plusieurs sales differentes, ne pas
|
||||
attacher arbitrairement une seule sale aux lignes purchase-side.
|
||||
- `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.
|
||||
|
||||
Reference in New Issue
Block a user