Valorisation d'actifs financiers

guikk Messages postés 9 Date d'inscription mercredi 13 juin 2007 Statut Membre Dernière intervention 18 juin 2007 - 13 juin 2007 à 18:35
marinmarais Messages postés 104 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 16 juillet 2010 - 15 juin 2007 à 15:42
Bonjour à tous,
je suis étudiant en finance et je dois créer un logiciel de valorisation d'actifs (de type obligation convertibles).
le code doit être écrit en VB 6.0
Je me trouve bloqué puisque que je ne sais pas quel code utiliser pour déterminer les différentes composantes d'une suite géométrique de degré n....et notamment la raison Q de cette suite.

quelqu'un est il en mesure de m'aider???

Par avance, je vous remercie

3 réponses

cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
14 juin 2007 à 12:00
Salut,

je vois que personne ne te reponds donc je vais le faire.

C'est un pb de maths ou de programmation car dans le premier cas, il faudrait voir deja la méthode mathematique car la transcription en code ne doit pas etre des plus durs.

Tu as une formule sous la main car j'ai la fleme de cherche.

OU sinon, il est possible que j'ai mal compris une chose. Tu as une suite et tu desires extraire la raison et de cette suite.
Mais pour ce cas, c'est pareil, les maths sont essentiels avant la prog.

Si tu as un algo ou un truc sous la main, expliques quel est ton pb précisment.
0
guikk Messages postés 9 Date d'inscription mercredi 13 juin 2007 Statut Membre Dernière intervention 18 juin 2007
14 juin 2007 à 14:22
salut,

merci d'avoir répondu.

en fait, je sais résoudre le problème par tatonnements (ce qui ressemble à des itérations successives) sous excel.

je vais essayer de résoudre le pb avec un systeme d'itérations avec VB, avec une simple boucle Do while...Loop.
je ne sais pas comment lui indiquer qu'il doit s'arréter lorsqu'il est proche de la solution (une marge d'erreur telle qu'on atteint le résultat à 0.1% près, par exemple)

c'est une solution de contournement, mais elle peut sans doute m'éviter quelques lignes de codes complexes..

ce choix te semble t il judicieux ??

bonne journée
0
marinmarais Messages postés 104 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 16 juillet 2010 1
15 juin 2007 à 15:42
Bonjour,
Je suis pas un expert en la matiere mais je vais quand meme essayer de t'aider.

D'abord, voyons les suites geometriques :
http://fr.wikipedia.org/wiki/Suite_g%C3%A9om%C3%A9trique

Pour tout n, entier superieur ou egal a no, on a une suite de nombre U(n) defini comme suis :
Il existe q tel que U(n+1)=q.U(n)

Si on prend comme point de depart un point U(no), on obtient :
quelque soit n superieur ou egal a no, U(n)=U(no).q^(n-no)

c'est a dire, si no=0
Un=Uo.q^n

J'en reviens a ton probleme.
Si j'ai bien saisi, tu disposes d'une serie de nombre qui, selon toute vraisemblance, reponde a une suite geometrique de raison q et de terme initial Uo inconnus. N'est-ce pas ?
Il faut donc, a partir des donnees dont tu disposes, effectuer un calcul d'ajustement des parametres inconnus Uo et q.
Tu peux utiliser pour ce faire un ajustement par la methode des moindres carres. Ca se programme tres bien en vb6 mais matlab serait peut etre plus approprie.

Tu disposes de n observations, les Un.
les observations sont :
U(n)=Uo*q^n
Pour resoudre ca, c'est impossible comme tel car ce n'est pas lineaire.

Mais le logarithme donne :
ln(un)=n*ln(q)+ln(uo)
Un systeme matriciel de la forme
B=A*X avec B, les observations et X les inconnues.
B=[ln(Un)]      Matrice colonne
X=[ln(q)
      ln(Uo)]      Matrice colonne
A=[n       1
      n+1   1]

Le resultat est X=N^-1 * C avec N=t(A)*A et C=t(A)*B         t(A) : transposee de A
Suite a cela tu peux faire tous les calculs statistiques que tu veux (test du khi2, etc...)

Voila, il n'y a plus qu'a programmer !

A+++

Marin Marais
0
Rejoignez-nous