Formules de calcul Transaction
| Nom de la méthode | Paramètres principaux | Résumé / Fonction | Formule / Calcul |
|---|---|---|---|
| CalculerDateDernierCouponTransaction | dateTransaction, valMobId | Détermine la dernière date de coupon avant la transaction en fonction de valMob.DateJouissance, des échéances valMob.ValMobEcheances.DateEcheanceModifiee et de valMob.DateEcheanceRadiation. Si la date de transaction dépasse la radiation ou qu’aucune échéance valide n’existe, retourne null ou la date de jouissance selon le cas. | N/A |
| CalculerDateEcheanceTransaction | valMobId | Retourne la date d’échéance de radiation (valMob.DateEcheanceRadiation) d’un instrument financier. Null si l’instrument n’existe pas. | N/A |
| CalculerMntCouponcouruAchatTransaction | qte, nbreJourTotalAnne, nominal, formuleCalcul, formIntDenom0, tauxInteret, dateDenouementTheorique, dateDernierCoupon, nbDecimales | Calcule le montant des intérêts courus pour un achat (coupon couru). Retourne null si la date de dénouement est avant le dernier coupon. | mntCouponcouruAchat = qte × InteretsCourusTotal(...) |
| CalculermntInteretsIntercalairesBrutTransaction | qte, nbreJourTotalAnne, nominal, formuleCalcul, formIntDenom0, tauxInteret, dateDenouementTheorique, dateDernierCoupon, nbDecimales | Calcule le montant brut des intérêts intercalaires. Retourne null si la date de dénouement est après le dernier coupon. | mntInteretsIntercalairesBrut = qte × InteretsCourusTotal(...) |
| CalculermntInteretsIntercalairesTransaction | qte, nbreJourTotalAnne, nominal, formuleCalcul, formIntDenom0, tauxInteret, dateDenouementTheorique, dateDernierCoupon, nbDecimales, retenueALaSource | Calcule le montant net des intérêts intercalaires après retenue à la source. |
|
| CalculerMntPiedCouponTransaction | txPiedCoupon, nominal, qte | Calcule le montant du pied de coupon. | mntPiedCoupon = (txPiedCoupon / 100) × nominal × qte |
| CalculerTauxCouponcouruAchatTransaction | nbreTotalJourAnne, nominal, formuleCalcul, formIntDenom0, tauxInteret, dateDenouementTheorique, dateDernierCoupon, nbDecimales | Calcule le taux du coupon couru pour un achat. Retourne le montant des intérêts divisé par le nominal. | tauxCoupon = Interets(...) / nominal |
| CalculerMntCouponCouruTransaction | nbreJourTotalAnne, formuleCalcul, formIntDenom0, txPiedCoupon, nbDecimales, tauxInteretTransaction, dateDernierCoupon, dateDenouementTheorique, nominal, nbre | Calcule le montant total du coupon couru pour la transaction : somme du coupon couru et du pied de coupon. | mntTotalCoupon = mntCouponcouruAchat + mntPiedCoupon |
| CalculerTauxInteretTransaction | dateTransaction, valMobId | Retourne le taux d’intérêt applicable à la transaction en fonction de valMob.TauxInteret ou de l’indice (valMob.Indice) si défini. | N/A |
| CalculerDateDénouementThéorique | dateTransaction, typeOpeId | Détermine la date théorique de dénouement en fonction du typeOpe.DelaiDenouement, en excluant les jours non ouvrés et jours fériés. | dateDénouement = dateTransaction + delaiValide |
| CalculerNbreJourCouruTransaction | dateDernierCoupon, dateDenouementTheorique | Calcule le nombre de jours courus entre le dernier coupon et la date de dénouement théorique. |
`nbreJourCouru =dateDenouementTheorique-dateDernierCoupon
|
| GetNominalTransaction | valMob | Retourne le nominal (valMob.Nominal) d’un instrument financier. Null si l’instrument n’existe pas. | N/A |
| GetNbDecimalesTransaction | clientCompte | Retourne le nombre de décimales associé à la devise du compte (Devise.NbDecimales). | N/A |
| GetDateTransaction | clientCompte | Retourne la date de transaction (ClientCompte.JourneeEnCours) pour un compte donné. | N/A |
| GetDeviseTransaction | clientCompte | Retourne l’ID de la devise associée au compte (ClientCompte.Devise). | N/A |
| GetContrepartieTransaction | clientCompte | Retourne l’ID de la contrepartie associée au compte (ClientCompte.Contrepartie). | N/A |
| GetCurrencyDeviseTransaction | clientCompte | Retourne le symbole de la devise du compte (Devise.Symbole). | N/A |
| GetDepositaireTransaction | clientCompte | Retourne l’ID du dépositaire par défaut pour le compte (ClientCompte.DepositaireParDefaut). | N/A |
| GetRetenueALaSourceTransaction | valMob | Retourne le taux de retenue à la source d’un instrument financier (valMob.RetenueALaSource). | N/A |
| GetNbreTotalJourAnneTransaction | valMobId, dateDenouementTheorique | Retourne le nombre de jours par an utilisé pour le calcul des intérêts (valMob.BaseCalculNavigation.NbreJourAn ou par défaut via les échéances). | N/A |
| GetFormuleCalculTransaction | valMob | Retourne la formule de calcul des intérêts pour l’instrument financier (valMob.FormuleCalcul). | N/A |
| GetFormIntDenom0Transaction | valMob | Retourne la valeur du dénominateur utilisé dans la formule d’intérêts (valMob.FormIntDenom0). | N/A |
| GetPrixUnitaire | valMob, compte | Retourne le prix unitaire applicable : soit le nominal, soit selon la méthode de valorisation du compte (Cours.CMP ou Cours.Cloture). | N/A |
| CalculMntBrutTransaction | prixUnitaire, nbre | Calcule le montant brut d’une transaction : prix unitaire × quantité. | mntBrut = prixUnitaire × nbre |
| GetSensTransaction | typeOpe | Retourne le sens de la transaction associé au type d’opération (TypeOpe.SensTransaction). | N/A |
| CalculerMntPrixRevientTransaction | transactionsDossiers, clientCompte, valmob, dateTransaction, deviseId, prixUnitaire, qte, sensTransaction | Calcule le prix de revient d’une transaction. Si des transactions précédentes existent, fait la moyenne pondérée. |
prixRevient = qte * (Σ(transactionsDossiers.TransctAchat.PrixUnitaire * transactionsDossiers.Nbre) / Σ(transactionsDossiers.Nbre)) ou prixRevient = prixUnitaire * qte |
| CalculerListFraisTransaction | typeOpe, contrepartie, clientCompte, dateTransaction | Retourne la liste des frais applicables à une transaction selon le type d’opération, le type de client et la date. | N/A |
| CalculMontantFraisTransaction | typeOpeContrepartie, transactions | Calcule le montant des frais pour une transaction selon le type de frais, l’assiette et les tranches éventuelles. | mntFrais calculé à partir de transactions.Nbre * transactions.PrixUnitaire et coefficients |
| CalculerListTransactionEcheance | qte, typeOpe, valmob, dateTransaction | Génère la liste des échéances (intérêts et capital) pour une transaction, selon les échéances modifiées de Valeur Mobilière. | mntEcheance = qte * MntInteretsNet_Modifie ou mntBrut = qte * MntInteretsBruts |
| CalculerListTransactionsDossiers | clientCompte, valMob, dateTransaction, sensTransaction | Retourne la liste des transactions dossiers disponibles pour un achat ou une vente selon le sens de la transaction. | N/A |
| GetListTransactionsDossiersByTransactionsAchat | clientCompte, valmob, dateTransaction | Appel SQL pour récupérer les transactions dossiers disponibles pour un achat selon le compte, instrument et date. | N/A |
| CalculerMntIntEchusTransaction | transactionsDossiers, nbDecimales | Calcule le montant total des intérêts échus pour une collection de dossiers de transactions. | mntIntEchus = Σ(transactionsDossiers.MntInteretsCourusDetention) |
| CalculerMntPMVPostTransaction | transactionsDossiers, nbDecimales | Calcule le montant total des plus ou moins-values après transaction. | mntplusOuMoinsVal = Σ(transactionsDossiers.MntplusOuMoinsVal) |
| CalculMntFraisTransaction | transactionFrais, nbDecimales | Calcule le montant total des frais associés aux transactions. | mntFrais = Σ(transactionFrais.Montant) |
| CalculerMntInteretsCourusDetentionTransaction | transactionsDossiers, nbDecimales | Calcule le montant total des intérêts courus en détention pour une collection de dossiers de transactions. | mntIntEchus = Σ(transactionsDossiers.MntInteretCouruNet) |
| CalculerMontantRSTransaction | transactionsDossiers, nbDecimales | Calcule le montant total de la retenue à la source (RS) sur les intérêts en détention. | mntIntEchus = Σ(transactionsDossiers.MntRSIntDetention) |
| CalculerSurcoteDecoteVenteTransaction | transactionsDossiers, dateVente, capitalRes, nbDecimales | Calcule le montant de surcote ou décote à la vente pour une collection de dossiers de transactions. | mntSurcoteDecote = Σ [ ((capital - capital*TxPiedCoupon) * NbreAchat / NbreJourTotal) * JoursDetention * (NbreVente/NbreAchat) ] |
Calcul de Dossier de Vente:
| Nom de la méthode | Paramètres principaux | Résumé / Fonction | Formule / Calcul |
|---|---|---|---|
| CalculTransactionsDossiersMntCouponCouruAchat | transactionAchat, qte, dateDernierCoupon, nbDecimales | Calcule le montant du coupon couru à l’achat pour une transaction spécifique. | MntCouponCouru = MntCouponCouruAchat * qte / Nbre |
| CalculTransactionsDossiersMntRSIntAchete | transactionAchat, qte, dateDernierCoupon, nbDecimales, retenueALaSource | Calcule la retenue à la source sur les intérêts achetés. | MntRSIntAchete = MntCouponCouruAchat * qte * retenueALaSource / Nbre |
| CalculTransactionsDossiersMntIntAcheteNet | transactionAchat, qte, dateDernierCoupon, nbDecimales, retenueALaSource | Calcule le montant net des intérêts achetés après retenue à la source. | MntIntAcheteNet = MntCouponCouruAchat * qte * (1 - retenueALaSource) / Nbre |
| CalculTransactionsDossiersNbreJoursCourus | transactionAchat, qte, dateDernierCoupon, dateVente | Calcule le nombre de jours de détention entre la date d’achat et la date de vente ou le dernier coupon. | NbreJoursCourus = (dateVente - max(dateDernierCoupon, DateDenouement)) |
| CalculTransactionsDossiersMntInteretsCourusDetention | nbreJourTotalAnne, formuleCalcul, formIntDenom0, transactionAchat, qte, capitalRes, tauxInteret, dateDernierCoupon, dateVente, nbDecimales | Calcule les intérêts courus en détention pour une transaction. | MntInteretsCourusDetention = InteretsCourusTotal(...) (via GeneralCalculator) |
| CalculTransactionsDossiersMntRSIntDetention | nbreJourTotalAnne, formuleCalcul, formIntDenom0, transactionAchat, qte, capitalRes, tauxInteret, dateDernierCoupon, dateVente, nbDecimales, retenueALaSource | Calcule la retenue à la source sur les intérêts courus en détention. | MntRSIntDetention = MntInteretsCourusDetention * retenueALaSource |
| CalculTransactionsDossiersMntInteretCouruNet | nbreJourTotalAnne, formuleCalcul, formIntDenom0, transactionAchat, qte, capitalRes, tauxInteret, dateDernierCoupon, dateVente, nbDecimales, retenueALaSource | Calcule le montant net des intérêts courus en détention après retenue à la source. | MntInteretCouruNet = MntInteretsCourusDetention * (1 - retenueALaSource) |
| CalculTransactionsDossiersMntCouponCouruVendu | nbreJourTotalAnne, formuleCalcul, formIntDenom0, transactionAchat, qte, capitalRes, tauxInteret, dateDernierCoupon, dateVente, nbDecimales, retenueALaSource | Calcule le montant total du coupon couru lors de la vente, incluant le net d’intérêts. | MntCouponCouruVendu = MntCouponCouruAchat + MntInteretCouruNet |
| CalculTransactionsDossiersMntPlusOuMoinsVal | transactionAchat, qte, capitalRes, tauxVente, nbDecimales | Calcule la plus ou moins-value réalisée pour la transaction. | MntPlusOuMoinsVal = qte * (tauxVente - TxPiedCoupon) * capitalRes |
Calcul de plus ou moins value et stock:
| Nom de la méthode | Paramètres principaux | Résumé / Fonction | Formule / Calcul / Remarques |
|---|---|---|---|
| CalculerCmpApresTransaction | clientCompte, valmob, dateTransaction, devise, qte, prix, typeOpe, nbDecimales | Calcule le coût moyen pondéré (CMP) et le stock après une transaction, pour un client ou un compte spécifique. Le calcul se fait à l’aide des procédures stockées GenerateCmpByClientCompteAndValmob_PS (pour le compte) et GenerateCmpByClientAndValmob_PS (pour le client). |
Le calcul du CMP se fait à partir des dernières valeurs de stock et CMP récupérées via les procédures stockées : Achat (SensTransaction=1) :
Vente (SensTransaction=-1) :
|
No comments to display
No comments to display