4. Exemples résolus▲
Objectifs du chapitre |
---|
|
Ce chapitre propose de faire le point sur les concepts étudiés jusqu'à maintenant par le biais de quelques exemples résolus. On y met particulièrement en évidence les avantages de l'approche vectorielle du langage R.
Les exemples font appel à quelques connaissances de base en mathématiques financières et en théorie des probabilités.
4-1. Calcul de valeurs actuelles▲
La valeur actuelle d'une série de paiements kitxmlcodeinlinelatexdvpP_1, P_2, \dots, P_nfinkitxmlcodeinlinelatexdvp à la fin des années kitxmlcodeinlinelatexdvp1, 2, \dots, nfinkitxmlcodeinlinelatexdvp est
kitxmlcodelatexdvp\sum_{j=1}^n \prod_{k=1}^j (1+i_k)^{-1}P_j \qquad (4.2)finkitxmlcodelatexdvpoù kitxmlcodeinlinelatexdvpi_kfinkitxmlcodeinlinelatexdvp est le taux d'intérêt effectif annuellement durant l'année kitxmlcodeinlinelatexdvpkfinkitxmlcodeinlinelatexdvp. Lorsque le taux d'intérêt est constant au cours des kitxmlcodeinlinelatexdvpnfinkitxmlcodeinlinelatexdvp années, cette formule se simplifie en
kitxmlcodelatexdvp\sum_{j=1}^n (1+i)^{-1}P_j \qquad(4.3)finkitxmlcodelatexdvpUn prêt est remboursé par une série de cinq paiements, le premier étant dû dans un an. On doit trouver le montant du prêt pour chacune des hypothèses ci-dessous.
-
Paiement annuel de 1000, taux d'intérêt de 6 % effectif annuellement. Avec un paiement annuel et un taux d'intérêt constants, on utilise la formule (4.3) avec kitxmlcodeinlinelatexdvpP_j = P = 1000finkitxmlcodeinlinelatexdvp :
Sélectionnez>
1000
*
sum
((1
+
0.06
)^
(-
(1
:
5
)))[
1
]
4212.364
Remarquer comme l'expression R se lit exactement comme la formule mathématique. De plus, le terme constant 1000 est sorti de la somme pour réduire le nombre de multiplications de cinq à une seule.
-
Paiements annuels de 500, 800, 900, 750 et 1000, taux d'intérêt de 6 % effectif annuellement.
Les paiements annuels sont différents, mais le taux d'intérêt est toujours le même. La formule (4.3) s'applique donc directement :
Sélectionnez>
sum
(c
(500
,800
,900
,750
,1000
)*
(1
+
0.06
)^
(-
(1
:
5
)))[
1
]
3280.681
- Paiements annuels de 500, 800, 900, 750 et 1000, taux d'intérêt de 5 %, 6 %, 5.5 %, 6.5 % et 7 % effectifs annuellement.
Avec différents paiements annuels et des taux d'intérêt différents, il faut employer la formule (4.2). On obtient le résultat voulu sans aucune boucle en réalisant le produit cumulatif des taux d'intérêt avec la fonction cumprod :
>
sum
(c
(500
, 800
, 900
, 750
, 1000
) /
+
cumprod
(1
+
c
(0.05
, 0.06
, 0.055
, 0.065
, 0.07
)))
[
1
]
3308.521
4-2. Fonctions de masse de probabilité▲
On souhaite calculer toutes ou la majeure partie des probabilités de deux lois de probabilité, puis vérifier que la somme des probabilités est bien égale à 1.
Cet exemple est quelque peu artificiel dans la mesure où il existe dans R des fonctions internes pour calculer les principales caractéristiques des lois de probabilité les plus usuelles. Nous utiliserons d'ailleurs ces fonctions pour vérifier nos calculs.
-
Calculer toutes les masses de probabilité de la distribution binomiale pour des valeurs des paramètres kitxmlcodeinlinelatexdvpnfinkitxmlcodeinlinelatexdvp et kitxmlcodeinlinelatexdvppfinkitxmlcodeinlinelatexdvp quelconques. La fonction de masse de probabilité de la binomiale est
kitxmlcodeinlinelatexdvpf(x) = \binom{n}{x} p^x(1-p)^{n-x},\quad x = 0,\dots,nfinkitxmlcodeinlinelatexdvp
Soit n = 10 et p = 0.8. Les coefficients binomiaux sont calculés avec la fonction choose :
Sélectionnez1.
2.
3.
4.
5.
6.
7.
8.>
n<-
10
>
p<-
0.8
>
x<-
0
:
n>
choose
(n, x)*
p^
x*
(1
-
p)^
rev
(x)[
1
]
0.0000001024
0.0000040960
0.0000737280
[
4
]
0.0007864320
0.0055050240
0.0264241152
[
7
]
0.0880803840
0.2013265920
0.3019898880
[
10
]
0.2684354560
0.1073741824
On vérifie les réponses obtenues avec la fonction interne dbinom :
Sélectionnez1.
2.
3.
4.
5.>
dbinom
(x, n,prob
=
0.8
)[
1
]
0.0000001024
0.0000040960
0.0000737280
[
4
]
0.0007864320
0.0055050240
0.0264241152
[
7
]
0.0880803840
0.2013265920
0.3019898880
[
10
]
0.2684354560
0.1073741824
On vérifie enfin que les probabilités somment à 1 :
Sélectionnez>
sum
(choose
(n, x)*
p^
x*
(1
-
p)^
rev
(x))[
1
]
1
- Calculer la majeure partie des masses de probabilité de la distribution de Poisson, dont la fonction de masse de probabilité est
où kitxmlcodeinlinelatexdvpx! = x(x-1) \cdots 2 \cdot 1finkitxmlcodeinlinelatexdvp.
La loi de Poisson ayant un support infini, on calcule les probabilités en kitxmlcodeinlinelatexdvpx = 0, 1, \dots, 10finkitxmlcodeinlinelatexdvp seulement avec kitxmlcodeinlinelatexdvp\lambda = 5finkitxmlcodeinlinelatexdvp. On calcule les factorielles avec la fonction factorial. On notera au passage que factorial
(x) ==
gamma
(x +
1
), où la fonction R gamma calcule les valeurs de la fonction mathématique du même nom
avec kitxmlcodeinlinelatexdvp\Gamma(0) = 1finkitxmlcodeinlinelatexdvp. Pour kitxmlcodeinlinelatexdvpnfinkitxmlcodeinlinelatexdvp entier, on a donc kitxmlcodeinlinelatexdvp\Gamma(n) = (n-1)!finkitxmlcodeinlinelatexdvp.
2.
3.
4.
5.
6.
7.
>
lambda <-
5
>
x <-
0
:
10
>
exp
(-
lambda) *
(lambda^
x /
factorial
(x))
[
1
]
0.006737947
0.033689735
0.084224337
[
4
]
0.140373896
0.175467370
0.175467370
[
7
]
0.146222808
0.104444863
0.065278039
[
10
]
0.036265577
0.018132789
Vérification avec la fonction interne dpois :
2.
3.
4.
5.
>
dpois
(x, lambda)
[
1
]
0.006737947
0.033689735
0.084224337
[
4
]
0.140373896
0.175467370
0.175467370
[
7
]
0.146222808
0.104444863
0.065278039
[
10
]
0.036265577
0.018132789
Pour vérifier que les probabilités somment à 1, il faudra d'abord tronquer le support infini de la Poisson à une « grande » valeur. Ici, 170 est suffisamment éloigné de la moyenne de la distribution, 5. Remarquer que le produit par kitxmlcodeinlinelatexdvpe^{-\lambda}finkitxmlcodeinlinelatexdvp est placé à l'extérieur de la somme pour ainsi faire un seul produit plutôt que 171.
2.
3.
>
x <-
0
:
170
>
exp
(-
lambda) *
sum
((lambda^
x /
factorial
(x)))
[
1
]
1
4-3. Fonction de répartition de la loi gamma▲
La loi gamma est fréquemment employée pour modéliser des événements ne pouvant prendre que des valeurs positives et pour lesquels les petites valeurs sont plus fréquentes que les grandes. Par exemple, on utilise parfois la loi gamma en sciences actuarielles pour la modélisation des montants de sinistres. Nous utiliserons la paramétrisation où la fonction de densité de probabilité est
kitxmlcodelatexdvpf(x)= \frac{\lambda^\alpha}{\Gamma(\alpha)}x^{\alpha-1}e^{-\lambda\alpha}, \quad x > 0,\qquad(4.4)finkitxmlcodelatexdvpoù kitxmlcodeinlinelatexdvp\Gamma(\cdot)finkitxmlcodeinlinelatexdvp est la fonction gamma définie dans l'exemple précédent.
Il n'existe pas de formule explicite de la fonction de répartition de la loi gamma. Néanmoins, la valeur de la fonction de répartition d'une loi gamma de paramètre kitxmlcodeinlinelatexdvp\alphafinkitxmlcodeinlinelatexdvp entier et kitxmlcodeinlinelatexdvp\lambda = 1finkitxmlcodeinlinelatexdvp peut être obtenue à partir de la formule
kitxmlcodelatexdvpF(x;\alpha,1) = 1-e^{-x}\sum_{j=0}^{\alpha-1}\frac{x^j}{j!}\qquad (4.5)finkitxmlcodelatexdvp-
Évaluer kitxmlcodeinlinelatexdvpF(4; 5, 1)finkitxmlcodeinlinelatexdvp.
Cet exercice est simple puisqu'il s'agit de calculer une seule valeur de la fonction de répartition avec un paramètre kitxmlcodeinlinelatexdvp\alphafinkitxmlcodeinlinelatexdvp fixe. Par une application directe de (4.5), on a :
Sélectionnez1.
2.
3.
4.>
alpha<-
5
>
x<-
4
>
1
-
exp
(-
x)*
sum
(x^
(0
:
(alpha-
1
))/
gamma
(1
:
alpha))[
1
]
0.3711631
Vérification avec la fonction interne pgamma :
Sélectionnez>
pgamma
(x, alpha)[
1
]
0.3711631
On peut éviter de générer essentiellement la même suite de nombres à deux reprises en ayant recours à une variable intermédiaire. Au risque de rendre le code un peu moins lisible (mais plus compact !), l'affectation et le calcul final peuvent même se faire dans une seule expression.
Sélectionnez>
1
-
exp
(-
x)*
sum
(x^
(-
1
+
(j<-
1
:
alpha))/
gamma
(j))[
1
]
0.3711631
- Évaluer kitxmlcodeinlinelatexdvpF(x; 5, 1)finkitxmlcodeinlinelatexdvp pour kitxmlcodeinlinelatexdvpx = 2,3\dots, 10finkitxmlcodeinlinelatexdvp en une seule expression.
Cet exercice est beaucoup plus compliqué qu'il n'y paraît au premier abord. Ici, la valeur de kitxmlcodeinlinelatexdvp\alphafinkitxmlcodeinlinelatexdvp demeure fixe, mais on doit calculer, en une seule expression, la valeur de la fonction de répartition en plusieurs points. Or, cela exige de faire d'un coup le calcul kitxmlcodeinlinelatexdvpx^jfinkitxmlcodeinlinelatexdvp pour plusieurs valeurs de kitxmlcodeinlinelatexdvpxfinkitxmlcodeinlinelatexdvp et plusieurs valeurs de kitxmlcodeinlinelatexdvpjfinkitxmlcodeinlinelatexdvp. C'est un travail pour la fonction outer :
2.
3.
4.
5.
6.
>
x <-
2
:
10
>
1
-
exp
(-
x) *
colSums
(t
(outer
(x, 0
:
(alpha-
1
), "^"
)) /
+
gamma
(1
:
alpha))
[
1
]
0.05265302
0.18473676
0.37116306
0.55950671
[
5
]
0.71494350
0.82700839
0.90036760
0.94503636
[
9
]
0.97074731
Vérification avec la fonction interne pgamma :
2.
3.
4.
>
pgamma
(x, alpha)
[
1
]
0.05265302
0.18473676
0.37116306
0.55950671
[
5
]
0.71494350
0.82700839
0.90036760
0.94503636
[
9
]
0.97074731
Il est laissé en exercice de déterminer pourquoi la transposée est nécessaire dans l'expression ci-dessus. Exécuter l'expression étape par étape, de l'intérieur vers l'extérieur, pour mieux comprendre comment on arrive à faire le calcul en (4.5).
Simplifions déjà l'équation à résoudre. On a
kitxmlcodelatexdvp\begin{matrix} Pr[X>e^d|X>d] & = \frac{Pr[X>e^d \cap X>d]}{Pr[X>d]}\\ & = \frac{Pr[X>e^d]}{Pr[X>d]}\\ & = \frac{[\lambda/(\lambda+e^d)]^\alpha}{[\lambda/(\lambda+d)]^\alpha}\\ & = \left(\frac{\lambda+d}{\lambda+e^d} \right )^\alpha \end{matrix}finkitxmlcodelatexdvpOn cherche donc à résoudre kitxmlcodeinlinelatexdvpdfinkitxmlcodeinlinelatexdvp pour l'équation
kitxmlcodelatexdvp\left(\frac{\lambda+d}{\lambda+e^d} \right )^\alpha = 0.75finkitxmlcodelatexdvpCelle-ci n'admet pas de solution explicite.
4-4. Algorithme du point fixe▲
Trouver la racine d'une fonction kitxmlcodeinlinelatexdvpgfinkitxmlcodeinlinelatexdvp — c'est-à-dire le point kitxmlcodeinlinelatexdvpxfinkitxmlcodeinlinelatexdvp où kitxmlcodeinlinelatexdvpg(x) = 0finkitxmlcodeinlinelatexdvp — est un problème classique en mathématiques. Très souvent, il est possible de reformuler le problème de façon à plutôt chercher le point kitxmlcodeinlinelatexdvpxfinkitxmlcodeinlinelatexdvp où kitxmlcodeinlinelatexdvpf(x) = xfinkitxmlcodeinlinelatexdvp. La solution d'un tel problème est appelée point fixe.
L'algorithme du calcul numérique du point fixe d'une fonction kitxmlcodeinlinelatexdvpf(x)finkitxmlcodeinlinelatexdvp est très simple :
- Choisir une valeur de départ kitxmlcodeinlinelatexdvpx_0finkitxmlcodeinlinelatexdvp ;
- Calculer kitxmlcodeinlinelatexdvpx_n = f(x_{n-1})finkitxmlcodeinlinelatexdvp pour kitxmlcodeinlinelatexdvpn = 1, 2,\dotsfinkitxmlcodeinlinelatexdvp ;
- Répéter l'étape 2 jusqu'à ce que kitxmlcodeinlinelatexdvp|x_n - x_{n-1}| < \epsilonfinkitxmlcodeinlinelatexdvp ou kitxmlcodeinlinelatexdvp\frac{|x_n - x_{n-1}|}{|x_{n-1}|} < \epsilonfinkitxmlcodeinlinelatexdvp.
On doit trouver, à l'aide de la méthode du point fixe, la valeur de telle que
kitxmlcodelatexdvpa_{\overline{10}|} = \frac{1-(1+i)^{-1}}{i} = 8.21finkitxmlcodelatexdvpc'est-à-dire le taux de rendement d'une série de 10 versements de 1 pour laquelle on a payé un montant de 8,21.
Puisque, d'une part, nous ignorons combien de fois la procédure itérative devra être répétée et que, d'autre part, il faut exécuter la procédure au moins une fois, le choix logique pour la structure de contrôle à utiliser dans cette procédure itérative est repeat. De plus, il faut comparer deux valeurs successives du taux d'intérêt, nous devrons donc avoir recours à deux variables.
On a :
2.
3.
4.
5.
6.
7.
8.
9.
10.
>
i <-
0.05
>
repeat
+
{
+
it <-
i
+
i <-
(1
-
(1
+
it)^
(-
10
))/
8.21
+
if
(abs
(i -
it)/
it <
1E-10
)
+
break
+
}
>
i
[
1
]
0.03756777
Vérification :
>
(1
-
(1
+
i)^
(-
10
))/
i
[
1
]
8.21
Nous verrons au chapitre 5Fonctions définies par l'usager comment créer une fonction à partir de ce code.
L'algorithme du point fixe peut nous permettre de résoudre numériquement l'équation
kitxmlcodelatexdvp\left( \frac{\lambda+d}{\lambda+e^d} \right)^\alpha = 0.75finkitxmlcodelatexdvpPour utiliser l'algorithme, il faut réécrire l'équation sous une forme où l'inconnue kitxmlcodeinlinelatexdvpdfinkitxmlcodeinlinelatexdvp se trouve de part et d'autre de l'égalité. En isolant, pour des raisons numériques, le kitxmlcodeinlinelatexdvpdfinkitxmlcodeinlinelatexdvp se trouvant au dénominateur de l'équation ci-dessus, on obtient :
kitxmlcodelatexdvpd = \log\left[ \lambda(1-0.75^{1/\alpha}) +d \right ] - \frac{\log 0.75}{\alpha}finkitxmlcodelatexdvp4-5. Suite de Fibonacci▲
La suite de Fibonacci est une suite de nombres entiers très connue. Les deux premiers termes de la suite sont 0 et 1 et tous les autres sont la somme des deux termes précédents. Mathématiquement, les valeurs de la suite de Fibonacci sont données par la fonction
kitxmlcodelatexdvp\begin{align} f(0) = & 0 \\ f(1) = & 1 \\ f(n) = & f(n-1) + f(n-2),\ n\ge2 \end{align}finkitxmlcodelatexdvpLe quotient de deux termes successifs converge vers kitxmlcodeinlinelatexdvp(1+\sqrt{5})/2finkitxmlcodeinlinelatexdvp, le nombre d'or.
On veut calculer les kitxmlcodeinlinelatexdvpn>2finkitxmlcodeinlinelatexdvp premiers termes de la suite de Fibonacci. Ce problème étant intrinsèquement récursif, nous devons utiliser une boucle.
Voici une première solution pour kitxmlcodeinlinelatexdvpn=10finkitxmlcodeinlinelatexdvp :
2.
3.
4.
5.
>
n <-
10
>
x <-
c
(0
, 1
)
>
for
(i in
3
:
n) x[
i]
<-
x[
i -
1
]
+
x[
i -
2
]
>
x
[
1
]
0
1
1
2
3
5
8
13
21
34
La procédure ci-dessus a un gros défaut : la taille de l'objet x est constamment augmentée pour stocker une nouvelle valeur de la suite. Tentons une analogie alimentaire pour cette manière de procéder. Pour ranger des biscuits frais sortis du four, on prend un premier biscuit et on le range dans un plat ne pouvant contenir qu'un seul biscuit. Arrivé au second biscuit, on constate que le contenant n'est pas assez grand, alors on sort un plat pouvant contenir deux biscuits, on change le premier biscuit de plat et on y range aussi le second biscuit. Arrivé au troisième biscuit, le petit manège recommence, et ainsi de suite jusqu'à ce que le plateau de biscuits soit épuisé. C'est ce que nous nommerons, non sans un sourire en coin, le Syndrôme de la plaque à biscuits™.
Le manège décrit ci-dessus se reproduit à l'identique dans la mémoire de l'ordinateur, l'odeur des bons biscuits chauds en moins. En effet, l'ordinateur doit constamment allouer de la nouvelle mémoire et déplacer les termes déjà sauvegardés au fur et à mesure que le vecteur x grandit. On aura compris qu'une telle façon de faire est à éviter absolument lorsque c'est possible — et ça l'est la plupart du temps.
Quand on sait quelle sera la longueur d'un objet, comme c'est le cas dans cet exemple, il vaut mieux créer un contenant vide de la bonne longueur et le remplir par la suite. Cela nous donne une autre façon de calculer la suite de Fibonacci :
2.
3.
4.
5.
6.
>
n <-
10
>
x <-
numeric
(n) # création du contenant
>
x[
2
]
<-
1
# x[1] vaut déjà 0
>
for
(i in
3
:
n) x[
i]
<-
x[
i -
1
]
+
x[
i -
2
]
>
x
[
1
]
0
1
1
2
3
5
8
13
21
34
Dans le code informatique du chapitre 5Fonctions définies par l'usager, nous composerons des fonctions avec ces deux solutions et nous comparerons les temps de calcul.
Solution du problème |
---|
On résout le problème par la méthode du point fixe en procédant de la même façon qu'à la section 4.4Algorithme du point fixe. On prend toutefois soin de modifier la deuxième ligne à l'intérieur de la boucle repeat : Sélectionnez 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Vérifions que l'équation de départ (4.1) est vraie : Sélectionnez
Le package actuar fournit une fonction ppareto pour calculer la fonction de répartition de la loi de Pareto. (Consulter l'annexe DInstallation de packages dans R pour installer le package à partir du site CRAN.) La fonction permet de vérifier directement l'équation de départ : Sélectionnez 1. 2. 3. 4.
|
4-6. Exercices▲
Dans chacun des exercices ci-dessous, écrire une expression R pour faire le calcul demandé. Parce qu'elles ne sont pas nécessaires, il est interdit d'utiliser des boucles.
4.1 (solution) Calculer la valeur actuelle d'une série de paiements fournie dans un vecteur P en utilisant les taux d'intérêt annuels d'un vecteur i.
4.2 (solution) Étant donné un vecteur d'observations kitxmlcodeinlinelatexdvpx = (x_1,\dots,x_n)finkitxmlcodeinlinelatexdvp et un vecteur de poids correspondants kitxmlcodeinlinelatexdvpw = (w_1,\dots,w_n)finkitxmlcodeinlinelatexdvp, calculer la moyenne pondérée des observations,
kitxmlcodelatexdvp\sum{i=1}^n \frac{w_i}{w_\Sigma}x_ifinkitxmlcodelatexdvpoù kitxmlcodeinlinelatexdvpw_\Sigma = \sum_{i=1}^n w_ifinkitxmlcodeinlinelatexdvp. Tester l'expression avec les vecteurs de données
- x = (7 , 13 , 3 , 8 , 12 , 12 , 20 , 11)
et
- w = (0 ,15 , 0 ,04 , 0 ,05 , 0 ,06 , 0 ,17 , 0 ,16 , 0 ,11 , 0 ,09).
4.3 (solution) Soit un vecteur d'observations kitxmlcodeinlinelatexdvpx = (x_1,\dots,x_n)finkitxmlcodeinlinelatexdvp. Calculer la moyenne harmonique de ce vecteur, définie comme
kitxmlcodelatexdvp\frac{n}{\frac{1}{x_1}+\dots+\frac{1}{x_n}}finkitxmlcodelatexdvpTester l'expression avec les valeurs de l'exercice 4.2.
4.4 (solution) Calculer la fonction de répartition en kitxmlcodeinlinelatexdvpx=5finkitxmlcodeinlinelatexdvp d'une loi de Poisson avec paramètre kitxmlcodeinlinelatexdvp\lambda=2finkitxmlcodeinlinelatexdvp, qui est donnée par
kitxmlcodelatexdvp\sum_{k=0}^5\frac{2^ke^{-2}}{k!}finkitxmlcodelatexdvpoù kitxmlcodeinlinelatexdvpk! = 1\cdot2\cdots kfinkitxmlcodeinlinelatexdvp.
4.5 (solution) a) Calculer l'espérance d'une variable aléatoire kitxmlcodeinlinelatexdvpXfinkitxmlcodeinlinelatexdvp dont le support est kitxmlcodeinlinelatexdvpx = 1,10,100,\dots,1\ 000\ 000finkitxmlcodeinlinelatexdvp et les probabilités correspondantes sont kitxmlcodeinlinelatexdvp\frac{1}{28},\frac{2}{28},\dots,\frac{7}{28}finkitxmlcodeinlinelatexdvp, dans l'ordre.
b) Calculer la variance de la variable aléatoire kitxmlcodeinlinelatexdvpXfinkitxmlcodeinlinelatexdvp définie en a).
4.6 (solution) Calculer le taux d'intérêt nominal composé quatre fois par année, kitxmlcodeinlinelatexdvpi^{(4)}finkitxmlcodeinlinelatexdvp, équivalent à un taux de kitxmlcodeinlinelatexdvpifinkitxmlcodeinlinelatexdvp = 6 % effectif annuellement.
4.7 (solution) La valeur actuelle d'une série de paiements de fin d'année à un taux d'intérêt kitxmlcodeinlinelatexdvpifinkitxmlcodeinlinelatexdvp effectif annuellement est
kitxmlcodelatexdvpa_{\overline{n}|} = v + v^2 + \cdots + v^n = \frac{1-v^n}{i}finkitxmlcodelatexdvpoù kitxmlcodeinlinelatexdvpv = (1+i)^{-1}finkitxmlcodeinlinelatexdvp. Calculer en une seule expression, toujours sans boucle, un tableau des valeurs actuelles de séries de kitxmlcodeinlinelatexdvpn = 1,2,\dots,10finkitxmlcodeinlinelatexdvp paiements à chacun des taux d'intérêt effectifs annuellement kitxmlcodeinlinelatexdvpi = 0.05,0.06,\dots,0.10finkitxmlcodeinlinelatexdvp.
4.8 (solution) Calculer la valeur actuelle d'une annuité croissante de 1 $ payable annuellement en début d'année pendant dix ans si le taux d'actualisation est de 6 %. Cette valeur actuelle est donnée par
kitxmlcodelatexdvpI\ddot{a}_{\overline{10}|} = \sum_{k=1}^{10}kv^{k-1}finkitxmlcodelatexdvptoujours avec kitxmlcodeinlinelatexdvpv = (1+i)^{-1}finkitxmlcodeinlinelatexdvp.
4.9 (solution) Calculer la valeur actuelle de la suite de paiements 1, 2, 2, 3, 3, 3, 4, 4, 4, 4 si les paiements sont effectués en fin d'année et que le taux d'actualisation est de 7 %.
4.10 (solution) Calculer la valeur actuelle de la suite de paiements de l'exercice 4.9 en supposant que le taux d'intérêt d'actualisation alterne successivement entre 5 % et 8 % chaque année, c'est-à-dire que le taux d'intérêt est de 5 %, 8 %, 5 %, 8 %, etc.