Aller au contenu principal

Qu'est-ce que la fonction PRIX.TITRE ?

Définition
La fonction PRIX.TITRE retourne le prix d'une obligation à coupons périodiques pour une valeur nominale de 100, en actualisant tous les flux futurs (coupons + remboursement) au taux de rendement exigé.

PRIX.TITRE (PRICE en anglais) te sert quand tu dois pricer une obligation avant d'exécuter un ordre, valoriser un portefeuille obligataire ou comparer deux titres à coupons différents sans ressortir la calculatrice financière.

C'est l'outil de référence des salles de marchés et des directions financières : pricer une OAT avant d'exécuter un ordre, valoriser un portefeuille obligataire, comparer deux obligations avec des coupons différents, ou simuler l'impact d'une variation des taux sur le prix d'un titre.

Syntaxe

Clique sur un argument pour aller à son explication.

Le résultat est toujours exprimé pour 100 de nominal. Pour une obligation de 10 000 de nominal, multiplie le résultat par (10000/100). La relation prix/rendement est inverse : quand le rendement monte, le prix baisse.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction PRIX.TITRE

Six arguments sont obligatoires et leur ordre est strict : d'abord les deux dates (règlement puis échéance), ensuite le taux du coupon et le rendement exigé, enfin la valeur de remboursement et la fréquence des coupons. Ne les inverse jamais : le taux est le coupon fixé à l'émission, le rendement est ce que le marché exige aujourd'hui, et les confondre fausse tout le prix.

Seul le septième, [base] (la convention de décompte des jours), est facultatif. Si tu l'omets, Excel applique la convention US 30/360 ; pour une OAT française, pense à le forcer à 1 (Réel/Réel).

1

règlement

: la date à laquelle tu achètes l'obligation : la date effective de transaction, quand l'argent et le titre changent de mains

En finance, c'est la « settlement date », souvent T+2 jours ouvrés après la date de négociation.

Cette date doit être au format date Excel (nombre entier de jours depuis le 1er janvier 1900) ou une référence de cellule contenant une date. Si tu saisis la date sous forme de texte, le résultat risque d'être faux selon les paramètres régionaux de ton Excel.

2

échéance

: la date d'échéance (maturity date) : la date à laquelle l'émetteur rembourse le capital aux détenteurs et verse le dernier coupon

Cette date doit impérativement être postérieure à la date de règlement.

La durée entre règlement et échéance détermine le nombre de flux futurs à actualiser et influe directement sur la sensibilité du prix aux variations de taux. Une obligation à 10 ans est bien plus sensible aux mouvements de taux qu'une obligation à 1 an.

Attention : Si la date d'échéance est antérieure ou égale à la date de règlement, Excel retourne #NUM!. Vérifie toujours l'ordre des deux dates.

3

taux

: le taux du coupon annuel : le taux d'intérêt nominal que l'obligation paie chaque année sur sa valeur nominale

Une obligation à 3,5% avec un nominal de 100 verse 3,50 d'intérêts par an (en une ou plusieurs fois selon la fréquence).

Exprime ce taux en décimal (0,035 pour 3,5%) ou directement avec le symbole pourcentage (3,5%). Ce taux est fixé à l'émission et ne change jamais pendant toute la vie de l'obligation.

4

rendement

: le rendement annuel exigé (Yield to Maturity, YTM) : le taux de rendement que le marché ou toi-même exigez pour détenir cette obligation jusqu'à l'échéance

C'est le taux d'actualisation qui égalise la valeur présente de tous les flux futurs au prix de l'obligation.

La relation entre prix et rendement est inverse : si le rendement exigé est supérieur au taux du coupon, l'obligation se négocie en décote (prix < 100). Si le rendement est inférieur au coupon, elle se négocie en prime (prix > 100). Si les deux sont égaux, elle est au pair (prix = 100).

Exprime le rendement en décimal, comme le taux. Il doit être positif ou nul.

5

valeur_échéance

: la valeur de remboursement à l'échéance, exprimée pour 100 de nominal

Dans la grande majorité des cas, cette valeur est 100 : l'obligation est remboursée au pair.

Certaines obligations exotiques ou à haut rendement peuvent prévoir une prime de remboursement (par exemple 105), mais c'est rare sur les marchés standard. Cette valeur doit être strictement positive.

6

fréquence

: le nombre de paiements de coupons par an

Seules trois valeurs sont acceptées : 1 pour un paiement annuel, 2 pour un paiement semestriel (le standard pour les OAT françaises et la plupart des obligations souveraines européennes), et 4 pour un paiement trimestriel.

Ce paramètre influence directement le calcul du prix : une obligation semestrielle paie deux fois par an, donc chaque coupon vaut taux/2. La fréquence modifie aussi le nombre de périodes d'actualisation.

Attention : Toute valeur autre que 1, 2 ou 4 déclenche une erreur #NUM!. Le paramètre 12 (mensuel) n'est pas pris en charge par cette fonction.

7

[base]

: la convention de décompte des jours entre deux dates, optionnelle(facultatif)

Les cinq valeurs possibles sont : 0 ou omis pour la convention US NASD 30/360, 1 pour Réel/Réel (le plus précis, utilisé par les OAT françaises et de nombreuses obligations souveraines), 2 pour Réel/360, 3 pour Réel/365, et 4 pour la convention européenne 30/360.

Pour les obligations françaises et européennes, utilise généralement 1 (Réel/Réel). Pour les obligations américaines, omets ce paramètre ou utilise 0.

Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment calculer le prix d'une obligation avec la fonction PRIX.TITRE

Une OAT à 3,5 % arrive sur ton bureau alors que le marché ne rémunère plus que 2,8 % sur la même maturité, et il faut annoncer à quel prix l'acheter avant la clôture. Le titre paie un coupon semestriel jusqu'en juin 2034 puis rembourse son nominal, et ce coupon plus généreux que le marché ne peut évidemment pas être gratuit. La fonction PRIX.TITRE ramène tous ces flux futurs à leur valeur d'aujourd'hui et sort le prix pour 100 € de nominal.

Les étapes
  1. 1
    Dans une cellule, écris =PRIX.TITRE(.
  2. 2
    En 1er argument : clique sur la date d'achat du titre, B2, soit le 15 juin 2024 sur la première ligne. La fonction PRIX.TITRE part de cette date pour situer chacun des coupons encore à venir.
  3. 3
    En 2ᵉ argument : saisis la date de remboursement, DATE(2034;6;15), dix ans plus tard. Elle doit toujours tomber après la date d'achat, sans quoi la fonction refuse le calcul.
  4. 4
    En 3ᵉ argument : saisis le coupon annuel fixé au contrat d'émission, 0,035. Ce taux est gravé dès le départ et ne bouge plus jusqu'à l'échéance.
  5. 5
    En 4ᵉ argument : saisis le rendement que le marché exige aujourd'hui, 0,028. C'est lui qui fait le prix, et le seul des deux taux à changer au fil des séances.
  6. 6
    En 5ᵉ argument : saisis la valeur remboursée à la fin, 100, exprimée pour 100 de nominal. Le prix rendu par la fonction PRIX.TITRE s'affiche dans cette même unité, jamais en euros investis.
  7. 7
    En 6ᵉ argument : saisis le rythme des coupons, 2 pour un versement semestriel comme sur les OAT. Seules les valeurs 1, 2 et 4 sont acceptées.
  8. 8
    En 7ᵉ argument : saisis la convention de décompte des jours, 1, soit le décompte réel. Laissée vide, elle retomberait sur 0, la convention 30/360 américaine.
  9. 9
    Ferme la parenthèse et appuie sur Entrée.
Au final, ta formule devrait ressembler à ça :=PRIX.TITRE(B2; DATE(2034;6;15); 0,035; 0,028; 100; 2; 1)
Explication
La fonction PRIX.TITRE ramène à leur valeur d'aujourd'hui les vingt coupons semestriels et le remboursement final, au taux que le marché exige. Comme l'OAT sert 3,5 % quand le marché ne demande que 2,8 %, ce surplus de coupon se paie d'avance : le titre vaut 106,07 € pour 100 € de nominal, soit une prime de 6,07 €.
Exemple 2

Comment mesurer l'effet du rendement avec la fonction PRIX.TITRE

Les taux bougent toute la journée et on te demande ce que devient ton OAT si le marché se met à exiger 4,2 % au lieu de 2,8 %. Le coupon du titre, lui, reste figé à 3,5 % jusqu'en 2034, si bien que tout l'ajustement doit passer par le prix. La fonction PRIX.TITRE rejoue le calcul pour chaque niveau de rendement et montre où la prime bascule en décote.

Les étapes
  1. 1
    Dans une cellule, écris =PRIX.TITRE(.
  2. 2
    En 1er argument : saisis la date d'achat, DATE(2024;6;15), écrite en dur. C'est toujours le même titre qu'on reprice, seule l'hypothèse de marché change d'une ligne à l'autre.
  3. 3
    En 2ᵉ argument : saisis la date de remboursement, DATE(2034;6;15), elle aussi figée. La durée de vie du titre reste ainsi constante sur les quatre lignes.
  4. 4
    En 3ᵉ argument : clique sur le coupon du titre, C2, qui vaut 3,5 % partout. Le coupon d'une obligation est contractuel, il ne réagit jamais au marché.
  5. 5
    En 4ᵉ argument : clique sur le rendement exigé, B2. C'est le seul argument qui bouge vraiment, de 2,8 % à 5 % selon le scénario.
  6. 6
    En 5ᵉ argument : saisis la valeur remboursée, 100. C'est le nominal rendu quoi qu'il arrive aux taux entre-temps.
  7. 7
    En 6ᵉ argument : saisis le rythme semestriel du coupon, 2, identique dans les quatre scénarios.
  8. 8
    En 7ᵉ argument : saisis la convention de jours, 1, pour que les quatre scénarios se comparent sur le même décompte.
  9. 9
    Ferme la parenthèse et appuie sur Entrée.
Voici la formule que tu obtiens à la fin :=PRIX.TITRE(DATE(2024;6;15); DATE(2034;6;15); C2; B2; 100; 2; 1)
Explication
Le coupon ne bouge pas d'une ligne à l'autre, seul le rendement exigé change, et le prix fait exactement le mouvement inverse. Quand les deux taux se rejoignent à 3,5 %, la fonction PRIX.TITRE rend 100,00 : le titre vaut pile son nominal, parce qu'il paie très exactement ce que le marché réclame.
Exemple 3

Comment corriger l'erreur #NOMBRE! de la fonction PRIX.TITRE

Ton fichier de pricing sort des #NOMBRE! sur deux lignes et le comité attend les prix dans dix minutes. La formule est pourtant recopiée à l'identique partout, donc l'erreur vient des données et non du calcul. La fonction PRIX.TITRE refuse net plusieurs saisies sans jamais préciser laquelle, et mieux vaut savoir où regarder en premier.

Les étapes
  1. 1
    Dans une cellule, écris =PRIX.TITRE(.
  2. 2
    En 1er argument : clique sur la date d'achat, B2. Sur la deuxième ligne elle tombe en 2034, après l'échéance, et cet ordre inversé suffit à déclencher l'erreur #NOMBRE!.
  3. 3
    En 2ᵉ argument : clique sur la date de remboursement, C2. La fonction PRIX.TITRE exige une date d'achat strictement antérieure, faute de quoi elle rend #NOMBRE! plutôt qu'un prix négatif.
  4. 4
    En 3ᵉ argument : saisis le coupon annuel, 0,035. Il doit rester positif ou nul, un signe moins devant le coupon renvoyant la même erreur.
  5. 5
    En 4ᵉ argument : saisis le rendement exigé, 0,028. Il obéit à la règle identique, un rendement négatif étant refusé même s'il existe sur les marchés.
  6. 6
    En 5ᵉ argument : saisis la valeur remboursée, 100. Une valeur nulle ou négative sort aussi #NOMBRE!, alors qu'elle passe souvent inaperçue dans un import.
  7. 7
    En 6ᵉ argument : clique sur le nombre de coupons par an, D2. Il n'accepte que 1, 2 ou 4, et la troisième ligne demande 3 puis se fait recaler.
  8. 8
    En 7ᵉ argument : saisis la convention de jours, 1. Elle doit rester comprise entre 0 et 4, au-delà la fonction PRIX.TITRE renvoie encore la même erreur.
  9. 9
    Ferme la parenthèse et appuie sur Entrée.
Une fois les morceaux assemblés, ta formule donne ça :=PRIX.TITRE(B2; C2; 0,035; 0,028; 100; D2; 1)
Explication
Une seule erreur #NOMBRE! recouvre des fautes très différentes : un règlement postérieur à l'échéance, une fréquence de coupon que la fonction PRIX.TITRE n'admet pas, mais aussi un taux ou un rendement négatif, une valeur d'échéance nulle et une base hors de l'intervalle 0 à 4. Excel ne dit jamais lequel des sept arguments est en cause.
Ce qu’il faut retenir
Le taux est le coupon figé à l'émission, le rendement est ce que le marché exige aujourd'hui. Rendement supérieur au coupon : le prix passe sous 100, c'est la décote. Rendement inférieur : le prix monte au-dessus de 100, c'est la prime. Les deux égaux : le prix vaut pile 100, au pair.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction PRIX.TITRE

Avec PRIX.TITRE, presque tout finit en #NUM! : c'est elle qui sanctionne une date d'échéance placée avant le règlement, un taux ou un rendement négatif, ou une fréquence autre que 1, 2 ou 4. Les deux autres pannes sont plus discrètes : #VALEUR! trahit une date saisie en texte au lieu du format date, et #NOM? signale juste que tu as écrit le nom de travers (le point de PRIX.TITRE, ou PRICE sur un Excel anglais).

Erreur #NUM! : paramètres invalides

L'erreur #NUM! est la plus fréquente avec PRIX.TITRE. Elle apparaît quand la date de règlement est postérieure ou égale à la date d'échéance, quand le taux ou le rendement est négatif, quand la fréquence n'est pas 1, 2 ou 4, quand la base n'est pas entre 0 et 4, ou quand la valeur d'échéance est négative ou nulle.

Solution : Vérifie d'abord l'ordre de tes dates (règlement doit être avant l'échéance), puis contrôle que le taux et le rendement sont positifs ou nuls, et que la fréquence vaut bien 1, 2 ou 4 : =PRIX.TITRE(DATE(2024;1;1); DATE(2027;1;1); 3%; 2,5%; 100; 2) est valide.

Erreur #VALEUR! : type de données incorrect

Cette erreur survient quand une date est saisie en texte plutôt qu'au format date Excel, ou quand un paramètre numérique contient du texte ou une cellule vide alors qu'il est obligatoire.

Solution : Utilise DATE(année;mois;jour) pour toutes les dates plutôt que de les saisir manuellement. Vérifie que les cellules référencées pour taux, rendement et fréquence contiennent bien des valeurs numériques.

Erreur #NOM? : nom de fonction mal orthographié

La fonction n'est pas reconnue par Excel. Sur Excel en français, le nom est PRIX.TITRE (avec un point). Sur Excel en anglais, c'est PRICE.

Solution : Vérifie l'orthographe : écris PRIX.TITRE (avec un point, pas un trait de soulignement ni un espace). Si ton Excel est en anglais, utilise PRICE.

Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec PRIX.TITRE

1Astuce

Adapter le prix à une valeur nominale différente de 100

PRIX.TITRE retourne toujours un prix pour 100 de nominal. Pour une obligation de 50 000 de nominal, multiplie le résultat par 500 : =PRIX.TITRE(...) * (50000/100). Tu peux aussi stocker le nominal dans une cellule et référencer cette cellule dans la multiplication.
Le prix total de l'obligation est alors mis à jour automatiquement si tu changes le nominal ou un autre paramètre.

2Astuce

Construire une table de sensibilité prix/rendement

PRIX.TITRE se prête parfaitement à la fonctionnalité Table de données (Données > Analyse de scénarios > Table de données). Crée une colonne de rendements de 1% à 6% par pas de 0,5%, puis applique la table sur une formule =PRIX.TITRE(...) qui référence le rendement dans une cellule pilote.
Tu obtiens instantanément la matrice complète prix/rendement, sans réécrire la formule une seule fois.

3Astuce

Retenir la règle prix-rendement

Prix et rendement évoluent toujours en sens inverse : quand les taux de marché montent, les prix des obligations existantes baissent. Quand les taux baissent, les prix montent. Plus la maturité est longue, plus cette sensibilité (appelée « duration ») est forte.
Cette règle d'or évite les erreurs de raisonnement quand tu analyses l'impact d'un mouvement de taux sur ton portefeuille.

FAQ

Questions fréquentes

PRIX.TITRE prend six paramètres obligatoires : la date de règlement, la date d'échéance, le taux du coupon annuel, le rendement exigé, la valeur de remboursement et la fréquence des coupons. La formule actualise tous les flux futurs (coupons + capital) au taux de rendement pour donner le prix juste pour 100 de nominal.

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction PRIX.TITRE : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir