IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Microsoft Office Discussion :

Itération Newton -Raphson pour trouver le taux d'accroissement


Sujet :

Microsoft Office

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2012
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Itération Newton -Raphson pour trouver le taux d'accroissement
    Bonsoir,

    Là-dessous je vous mets ma fonction Newton qui devrait me permettre de trouver le "g", taux d'accroissement sachant le Cours d'une action(hypothèse :le cours de l’action reflète un amortissement de l’investissement en 10 ans), le dernier dividende et les taux d'actualisation(TZC),cvd.:

    C=∑_(i=1)^10(D∙〖(1+g)〗^(i-1))/〖(1+〖TZC〗_i)〗^i
    Donc la fonction serait:
    f(x)=∑_(i=1)^10(D∙〖(1+x)〗^(i-1))/〖(1+〖TZC〗_i)〗^i

    J'ai regardé sur l'internet l'emploi de cette fonction, mais je n'arrive pas à trouver la logique dans les étapes.
    Quelqu'un pourrait me donner un coup de main?
    par ex.C=22,Div=1,5 et les taux TZC ,je les prends d'une plage(on les suppose connus).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Function newton(val_soc1 As Double, div_initial As Double)
     
    Dim ddiv As Double, epsilon As Double
    Dim cours_1 As Double, cours_2 As Double
    Dim div_1 As Double, div_2 As Double, iter As Integer, dx As Double, maxiter As Integer
     
     
    ddiv = 1e-05
    epsilon = 1e-05
    div_1 = div_initial
    maxiter = 50
    iter = 1
     
    Do
    cours_1 = val_soc(div_1)
    div_2 = div_1 + ddiv 
    cours_2 = val_soc(div_2)
    dx = (cours_2 - cours_1) / ddiv 
    iter = iter + 1
    Loop While Abs(val_soc1 - cours_1) > epsilon And (iter <= maxiter) 
    newton = dx
    End Function
    A priori j'ai fait une fonction qui calcule le cours d'une action,qui correspond à la fonction C :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Function val_soc(div0 As Double) As Double
    Dim val As Double
    Dim i As Integer
     
    val = 0
    Sheets("TZC").Activate
     
    For i = 1 To 10
    val = val + (Range("F4") * (1 + div0) ^ (i - 1)) / (1 + Range("B" & i + 1)) ^ i
    Next
    val_soc = val
     
    End Function
    D'avance merci pour vos éclaircissements

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 233
    Points : 92
    Points
    92
    Par défaut
    Salut Luiza,

    Peux-tu mettre en pj ton fichier ou détailler ta question? A quel moment tu te perds?

    Est-ce que tu connais le principe de l'algo de Newton Raphson?

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2012
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Bonsoir,

    Ci-joint le fichier.Je bloque lors de l'itération.
    Je sais le principe ( je crois, j'ai regardé sur l'internet et dpdv mathématique , j'ai compris ,mais lors de le mettre sous VBA, je sais pas comment prendre la valeur initial du cours pour lequel je peux trouver un g0 arbitraire..
    Si tu peux regarder ma fonction,j'ai qd même un résultat, mais je sais pas trop qu'est-ce qu'il représente..

    D'avance merci
    Fichiers attachés Fichiers attachés

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 233
    Points : 92
    Points
    92
    Par défaut
    Je peux complètement me planter mais je dirais que comme ta fonction est convexe, peu importe ton g0 du moment que le maxiter est assez grand!

    Tu es sûre de ta fonction Newton? Je croyais que Newton minimisait une fonction par itération en prenant à chaque fois l'abscisse de la dérivée du point précédent en ordonnée 0.

    Bonne chance!

Discussions similaires

  1. Methode Newton Raphson pour cellule photovoltaïque
    Par the cameleon dans le forum MATLAB
    Réponses: 2
    Dernier message: 21/03/2013, 08h27
  2. Commande pour trouver la version de Linux
    Par Gogoye dans le forum Administration système
    Réponses: 11
    Dernier message: 12/02/2013, 15h43
  3. [Débutant] Trouver les zéros d'une équation par la méthode de Newton-Raphson
    Par monamerce dans le forum MATLAB
    Réponses: 4
    Dernier message: 18/02/2011, 22h57
  4. Utilisation Newton-Raphson pour resoudre une equation
    Par laila_china dans le forum MATLAB
    Réponses: 1
    Dernier message: 13/11/2007, 12h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo