Pro - Score de dividende à long terme

Contexte

Aujourd’hui nous disposons des scores de sureté de dividende et de croissance du prix et c’est super !

Vu le nombre de vidéos de Sébastien orientées sur les dividendes, l’utilisateur de Moning souhaite sans doute être orienté dans ses choix via un score de dividende.

Problème

En effet, comment comparer deux actions aux taux de rentabilité différents ET aux scores de croissance du taux de rentabilité différents ?

Le calcul est impossible à réaliser de tête.
Et du coup on ne peut pas se projeter sur la performance en termes de dividendes de telle ou telle action.

Ex avec Pfizer (4.04% rend à 6% croiss) VS Realty Income (4.08% rend à 4% croiss)

Proposition

La solution est d’utiliser un calcul de Future Value.

Formule

Exemple

Source

const pow = async (a, b) => Math.pow(a, b);
const exp = async (i, c, n) => pow((1 + i / c), (n * c));
const fv = async (p, i, c, n) => p * await exp(i, c, n);
const percentage = async (a) => a / 100;
const gain = async ({ p = 30000, r = 1000, i = 3, j = 0, n = 30, c = 12, h = 1 }) => {
  const i2 = await percentage(i);
  const j2 = await percentage(j);
  const k = await fv(i2, j2, h, n);
  const raw = (await fv(p, k, c, n) + (r * (await exp(k, c, n) - 1)) / (k / c));
  return new Intl.NumberFormat('fr-FR', { style: 'currency', currency: 'EUR' }).format(raw);
}
console.log(await gain({ p: 30000, r: 1000, i: 3, j: 0, n: 30 }));
console.log(await gain({ p: 30000, r: 1000, i: 3, j: 2, n: 30 }));
console.log(await gain({ p: 30000, r: 1000, i: 3, j: 4, n: 30 }));

Vérification

Calculatrice :

Source :

Warning : N’étant ni banquier, ni conseiller financier, je vous laisse revoir et ajuster la formule au besoin.

Projections sur 40 ans avec croissance du taux d’intérêt

La formule que je communique est plus détaillée que celles de la plupart des calculatrices disponibles sur Internet, car elle prend en compte la croissance du taux d’intérêt annuel, information indispensable pour gérer un portefeuille à la Warren Buffet.

NB : Pour le contexte, 67 ans correspond à l’âge de la retraite en France, 80 ans correspond à l’âge du décès (pour un homme).

Exemples

Croissance du taux à 0%

Croissance du taux à 2%

Croissance du taux à 4%

Le calcul repose sur des exponentielles imbriquées.

Porter la durée sur 40 ans permet d’accentuer les différences.

Le moindre dixième de chiffre après la virgule sur le taux annuel ou le taux de croissance du taux annuel produit une énorme différence en fin de parcours.

Or c’est précisément ce delta dont nous avons besoin pour déterminer quelle action est la plus performante sur la durée.

Point performance : le calcul est très rapide car il utilise des opérations de base : addition, multiplication, division, puissance, qui sont toutes très bien gérées par nos ordinateurs.

Algorithme

Première passe

On calcule le chiffre pour chaque action.

Seconde passe

Pour chaque action, diviser son chiffre par le plus gros de tous les chiffres.
Cela permet d’exprimer un pourcentage (ex: 85 % d’efficacité).
On divise le pourcentage par 5 afin d’obtenir une note sur 20.
On utilise alors cette note pour trier.

L’option de tri est rendu accessible via l’interface du search.

5 « J'aime »

Mise à jour du sujet avec code javascript et graphes de projection sur 40 ans :fire:

1 « J'aime »

Sacré thread denis ! Merci encore et je vais étudier cela :smiley:

2 « J'aime »

A voté pour cette fonctionnalité ! (tout en haut à gauche)

@denis.truffaut : je suis d’accord avec tout cela, mais par contre une remarque :
je ne pense pas que l’on puisse utiliser une « croissance theorique » du dividende des actions pour faire des projections. La problematique est qu’aucune entreprise ne croit son dividende au dessus d’un certain palier, et ce palier est lié principalement au secteur, a l’inertie, etc. Au bout d’un certain temps l’entreprise stabilise plus ou moins son dividende.

Mon avis est de faire une projection « simple » avec la valeur actuelle de rendement sans croissance de ce % car il est impossible de savoir vers quelle valeur il se stabilisera.

Généralement la croissance du dividende est adaptée aux objectifs de l’entreprise. Une faible croissance du dividende, mais stable dans le temps, avec un dividende en valeur qui augmente sans arrêt (stratégie à long terme type procter & gamble), ou bien un burst de la croissance du dividende sur 5 à 10 ans, tout aussi valable. Certains dividendes retombent même à zero pour réenchainer sur un autre burst et ca reste tout aussi valable.

C’est un sujet loin d’être trivial, je le reconnais.

La croissance moyenne sur X dernières années est un indicateur, et je suis d’accord sur le fait qu’imposer une base relève d’un choix éditorial qui peut ne pas convenir à l’utilisateur.

En sachant que l’on part de zéro, toute analyse de projection est bonne à prendre je pense.

Après avoir échangé avec @nicolas.blanco sur plusieurs exemples, il peut que la formule n°3, laquelle appliquait une Future Value au taux d’intérêt sur la base d’un taux de croissance, pour obtenir la valeur du taux d’intérêt dans N années, fusse optimiste.

J’ai donc de-ingéniéré la formule de Future Value avec une simple boucle for, étape par étape, à laquelle j’ai pu ensuite greffer le taux de croissance de manière naturelle.

const futureValue = async ({ start, eachMonth, eachYear, years, interest, growth }) => {
  let result = start;
  let newInterest = interest;
  for (let i = 1; i <= years; ++i) {
    for (let j = 0; j < 12; ++j) {
      result += result * newInterest / 12; // Compound for the current month
      result += eachMonth + (j === 11 ? eachYear : 0); // Add deposit for the next month
    }
    newInterest += newInterest * growth; // Increase yield for the next year
  }
  return result;
}

Le résultat sans croissance est identique au calcul de la Future Value de la calculatrice de référence précédemment posté dans ce sujet.

futureValueWithGrowth-exampleWithoutGrowth

const o = {
  start: 30000,
  eachMonth: 1000,
  eachYear: 0,
  years: 30,
  interest: 3 / 100,
  growth: 0 / 100
};

await futureValue(o);

656442.150943163

Avec différentes valeurs de growth, cela donne :

A 0% de croissance les valeurs avant et après sont identiques
A 2% de croissance la valeur passe de 1 054 353 (avant) à 844 059 (après)
A 4% de croissance la valeur passe de 2 683 647 (avant) à 1 245 497 (après)

NB pour les développeurs : Ne pas utiliser le mot yield dans votre fonction, car yield est parfois un mot-clé réservé (C’est le cas en JavaScript). Préférez le mot « interest ».

J’ai du mal cliquer, qu’est ce que je fous sur le « site du zéro » ? :sweat_smile:

3 « J'aime »