Skip to main content

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.

mntInteretsIntercalaires = mntInteretsIntercalairesBrut

× (1 - retenueALaSource)

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 :transactionPrecCompte = GenerateCmpByClientCompteAndValmob_PS(...)transactionPrecClt = GenerateCmpByClientAndValmob_PS(...)

Achat (SensTransaction=1) :

StockApres += qte, CmpApres += qte*prix

Vente (SensTransaction=-1) :

MntPMV = qte*prix - CMP/qte, StockApres -= qte, CmpApres -= CMP/qteAutre (SensTransaction=0) : CmpApres += qte * SensPrixRevientClient * prix