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

Macros et VBA Excel Discussion :

Exercice simulation de Monte-Carlo


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 1
    Par défaut Exercice simulation de Monte-Carlo
    Bonjour,
    J'ai un examen en VBA ce lundi et le sujet va porter sur la simulation MONTE CARLO en VBA.
    Bref, j'ai un exo à faire dont j'ai commencé mais je n'arrive pas à le finir. je vous demande de bien m'aider à le faire, ça prends pas bcp de temps.
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    Option Explicit
    Sub procIC_MC()
     
     
    'procédure calculant l'interv de conf à différents horizons _
        par la méthode de MC
     
     
    '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    '%Déclaration des variables %
    '%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
    Dim Er As Double            'rendement moyen
    Dim vol As Double           'volatilité
    Dim nbreSeuils As Integer   'nombre de seuils(périodes des stats)
    Dim seuils() As Variant     'seuils + (plage)
     
    Dim samples() As Variant    'variant contenant les échantillons _
                                 des rendements cumulés
     
    Dim rc() As Double          'vecteur générique des rend cumulés.
     
    Dim horizon As Integer      'nombre de périodes d'une trajectoire
    Dim nbreSimul As Long       'nombre de trajectoires à créer
     
     
    Dim c As Double             'cours du titre
    Dim r As Double             'rendement
    Dim p As Double             'probabilité
     
     
     
    Dim i As Integer            'compteur
     
     
     
     
     
     
    '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    '% I.Définitions des paramètres %
    '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
     
    'récupération du rendement moyen et de la volatilité
     
    With ThisWorkbook.Worksheets(1)
         Er = .Cells(2, 3).Value
         vol = .Cells(3, 3).Value
         nbreSeuils = .Cells(.Rows.Count, 1).End(xlUp).Row - 10
         seuils = .Cells(11, 1).Resize(nbreSeuils, 1).Value
    End With
     
    'récupération de la valeur de horizon
    horizon = seuils(nbreSeuils, 1)
     
    'fixation du nombre de trajectoire
    nbreSimul = InputBox("Tapez le nombre de trajectoires souhaitées.", , 10000)
     
    'redimensionnement des vecteurs
     
    ReDim rc(1 To nbreSimul)  'par défaut zéro pour chaque élément
    ReDim samples(1 To nbreSeuils) 'par défaut, valeur "vide"
     
    For i = 1 To nbreSeuils
        samples(i) = rc
    Next i
     
     
     
     
    '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    '% II.Simulation des trajectoires %
    '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
     
    'boucle sur les trajectoires (de 1 à nbreSimul)
     
       'initialisation du cours à 1
     
     
       'boucle sur les périodes (de 1 à horiszon)
     
     
           'tirage de p(avec Randomize et Rnd)
     
     
           'gestion des valeurs incompatibles avec la loi normale
     
     
           'calcul du rendement r (avec NomrInv)
     
     
           'calcul du nouveau cours
     
     
           'récupération de c-1 si période est un seuil
     
     
       'fin de la boucle sur les périodes
     
     
    'fin de la boucle sur les trajectoires
     
     
     
    '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    '% III.Calcul des statistiques %
    '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
     
    End Sub

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Bonjour,

    Je t'invite à bien lire les règles du forum: http://club.developpez.com/regles/#LIV-N

    Bref, j'ai un exo à faire dont j'ai commencé mais je n'arrive pas à le finir
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    '% II.Simulation des trajectoires %
    '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
     
    'boucle sur les trajectoires (de 1 à nbreSimul)
     
       'initialisation du cours à 1
     
     
       'boucle sur les périodes (de 1 à horiszon)
     
     
           'tirage de p(avec Randomize et Rnd)
     
     
           'gestion des valeurs incompatibles avec la loi normale
     
     
           'calcul du rendement r (avec NomrInv)
     
     
           'calcul du nouveau cours
     
     
           'récupération de c-1 si période est un seuil
     
     
       'fin de la boucle sur les périodes
     
     
    'fin de la boucle sur les trajectoires
     
     
     
    '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    '% III.Calcul des statistiques %
    '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    C'est un blague ? Tu as commencé quoi ?
    Reviens avec une question précise sur un point précis et tu auras certainement des réponses mais là tu nous demande de faire tout le boulot à ta place, c'est complètement hors charte.

Discussions similaires

  1. Réponses: 0
    Dernier message: 05/10/2009, 22h59
  2. [Joomla!] Aide pour coder un module ou en modifier
    Par Ninja_En_Short dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 07/08/2008, 11h20
  3. aide pour coder la fonction who de unix
    Par aimad41 dans le forum Linux
    Réponses: 4
    Dernier message: 21/12/2006, 09h29
  4. aide pour coder la fct ls
    Par aimad41 dans le forum C
    Réponses: 18
    Dernier message: 06/12/2006, 21h20
  5. [Système] Aide pour coder l'url rewriting
    Par brousaille dans le forum Langage
    Réponses: 3
    Dernier message: 10/10/2006, 15h31

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