OVH Cloud OVH Cloud

Simulations Monte Carlo

18 réponses
Avatar
TTT
Bonjour,

Je suis étudiant en finance et je me dois me servir d'excel pour faire des
exercices de simulations. J'ai ceci comme exercice : (je simplifie un petit
peu)

Colonnes A et B = variable aléatoires obtenues avec ALEA()
Colonnes C, D, E = calculs intermédiaires de modélisation
Colonnes F et G = Fonction(A,B,C,D,E) = variable observable en sortie

A,B,C,D,E,F,G est répété en 52 lignes (simulation sur 52 semaines = 1 an). A
l'issue d'un an de simulation je m'intéresse donc à la variable finale F52
et G52. Illustration :
semaine 1 : A,B,C,D,E,F,G
semaine 2 : A,B,C,D,E,F,G
...
semaine 52 : A,B,C,D,E,<F,G> <--- (F,G) est la valeur finale de ma
simulation.

QUESTION :
La question qui m'est demandée dans l'exo est de tracer une courbe
illustrant 200 simulations du couple (F,G)
Comment faire répéter le bloc [A1:G52] sous excel 200 fois sans faire
copier/coller 200 fois? Je suppose que sous excel, il existe des macros ou
autres qui permettent de faire des simulations MC d'une manière beaucoup
plus compacte et élégante?

Merci beaucoup !

10 réponses

1 2
Avatar
Jean-Claude
| QUESTION :
| La question qui m'est demandée dans l'exo est de tracer une courbe
| illustrant 200 simulations du couple (F,G)
| Comment faire répéter le bloc [A1:G52] sous excel 200 fois sans faire
| copier/coller 200 fois? Je suppose que sous excel, il existe des
macros ou
| autres qui permettent de faire des simulations MC d'une manière
beaucoup
| plus compacte et élégante?

Bonjour,
J'espère avoir saisi le problème
Voici ce que j'en pense.
A bidouiller en fonction de tes besoins si ça correspond.
Les calculs Alea( ) se font dans l'onglet nommé Feuil1en A1 et sont
rappatriés dans Feuil2

Sub essai()
For i = 1 To 200
Worksheets("Feuil1").Calculate
Worksheets("Feuil2").Range("A" & i).Value = Range("A1").Value
Next i
End Sub

A+
Jc
Avatar
JpPradier
Bonjour TTT

Voici une macro qui recopie 199 fois la plage A1:G52 avec une séparation de trois lignes. Si tu veux
plus, tu peux augmenter la valeur de "Separ".

j-p

Sub recop()
Application.Calculation = xlCalculationManual
Separ = 55
cpt = Separ
For i = 1 To 199
Range("a1:g52").Copy Destination:=Range("a" & cpt)
Range("i" & cpt).Value = "Copie " & cpt / Separ
cpt = cpt + Separ
Next
Application.Calculation = xlCalculationAutomatic
End Sub
Avatar
TTT
Voici une macro qui recopie 199 fois la plage A1:G52 avec une séparation
de trois lignes. Si tu veux
plus, tu peux augmenter la valeur de "Separ".


Ca c'est la solution alternative... mais avant de faire appel à la
programmation, je voulais savoir si dans Excel il n'existait pas une telle
fonctionnalité déjà implémentée?

En tous les cas, merci bcp pour l'algo.

Avatar
TTT
Bonjour,
J'espère avoir saisi le problème
Voici ce que j'en pense.
A bidouiller en fonction de tes besoins si ça correspond.


Ca c'est la solution alternative... mais avant de faire appel à la
programmation, je voulais savoir si dans Excel il n'existait pas une telle
fonctionnalité déjà implémentée?

En tous les cas, merci bcp pour l'algo.

Avatar
twinley
Bonjour,

Plusieurs pistes :

http://groups.google.com/groups?hl=fr&lr=&c2coff=1&q=monte-carlo+group%3Amicrosoft.public.fr.excel&btnG=Rechercher

à+twinley

Bonjour,

Je suis étudiant en finance et je me dois me servir d'excel pour faire des
exercices de simulations. J'ai ceci comme exercice : (je simplifie un petit
peu)

Colonnes A et B = variable aléatoires obtenues avec ALEA()
Colonnes C, D, E = calculs intermédiaires de modélisation
Colonnes F et G = Fonction(A,B,C,D,E) = variable observable en sortie

A,B,C,D,E,F,G est répété en 52 lignes (simulation sur 52 semaines = 1 an). A
l'issue d'un an de simulation je m'intéresse donc à la variable finale F52
et G52. Illustration :
semaine 1 : A,B,C,D,E,F,G
semaine 2 : A,B,C,D,E,F,G
....
semaine 52 : A,B,C,D,E,<F,G> <--- (F,G) est la valeur finale de ma
simulation.

QUESTION :
La question qui m'est demandée dans l'exo est de tracer une courbe
illustrant 200 simulations du couple (F,G)
Comment faire répéter le bloc [A1:G52] sous excel 200 fois sans faire
copier/coller 200 fois? Je suppose que sous excel, il existe des macros ou
autres qui permettent de faire des simulations MC d'une manière beaucoup
plus compacte et élégante?

Merci beaucoup !




Avatar
JpPradier
Une solution alternative qui necessite une colonne supplémentaire en A

Tu selectionnes la colonne A, puis Clic-Droit Inserer une colonne. Tu remplis de 1 à 52
Tu selectionne la cellule qui contient 52. Puis Edition/Remplissage/Serie... . Dans la boite de
dialogue, tu choisis :
Serie en colonne et tu mets en dernière valeur 10400 puis Ok.
Tu as maintenant une colonne A de 1 à 10400. Tu selectionnes maintenant ton B2:H2, tu te positionnes
sur la dernière cellule en bas à droite (donc H52, suivez un peu dans le fond ), tu te mets sur le
coin inférieur droit de la cellule et tu double-cliques. Ouf ! plus long à expliquer qu' à faire. Tu
as maintenant tes 200 blocs. tu peux supprimer la colonne A qui ne sert plus.

j-p
Avatar
JpPradier
Il faut lire "Selectionnes ton B2:H52" et non B2:H2.

j-p
Avatar
TTT
Rebonjour et merci à vous tous pour les premières réponses...
En fait, voilà le contexte. Je fais un DESS de finance et les gens ne sont
pas forcément informaticiens (comme moi). Les macros que vous m'avez
envoyées me sont très familières. Mais je me demande si c'est pas du hors
sujet. Ce n'est pas un TP de programmation mais un exo de simulation.
Et en fait la réelle question que je me pose c'est :
Comment aborder cet exo? D'habitude dans un contexte "exo de finance en
DESS" on fait de la programmation assez poussée avec des macros? ou alors
avec excel et la souris on peut y parvenir de façon plus "soft". Je sais que
les financiers (qui ne sont pas des programmeurs) sont pourtant très forts
en Excel. Il arrivent à faire des trucs assez incroyales sans programmer !
Donc si vous avez des expériences par rapport à ça, merci beaucoup de me
guider.
Avatar
twinley
Bonjour,

Si quelqu'un comprend quelque chose, chapeau !
Une évidence se dégage, tu as un don pour cette profession. Quand tu
parles ou énonces quelque chose, tu es imcompréhensible.
Tu vas allez loin dans le domaine...une voie royale s'ouvre devant toi.

Tu demandes une macro, on t'offre plusieurs variantes, on t'indique ou
est la mine sur ce sujet. Tu bafouilles , tu rejettes tout sans avoir lu
ou essayé.
C'est quoi ta demande, en clair, sans charabia ?
Qu'avons nous à faire que les gens sont pas informaticiens ? Dans ce
cas, crayon et papier...t'es pas au bon endroit.

à+twinley

Rebonjour et merci à vous tous pour les premières réponses...
En fait, voilà le contexte. Je fais un DESS de finance et les gens ne sont
pas forcément informaticiens (comme moi). Les macros que vous m'avez
envoyées me sont très familières. Mais je me demande si c'est pas du hors
sujet. Ce n'est pas un TP de programmation mais un exo de simulation.
Et en fait la réelle question que je me pose c'est :
Comment aborder cet exo? D'habitude dans un contexte "exo de finance en
DESS" on fait de la programmation assez poussée avec des macros? ou alors
avec excel et la souris on peut y parvenir de façon plus "soft". Je sais que
les financiers (qui ne sont pas des programmeurs) sont pourtant très forts
en Excel. Il arrivent à faire des trucs assez incroyales sans programmer !
Donc si vous avez des expériences par rapport à ça, merci beaucoup de me
guider.




Avatar
Francois
Bonjour,

Si quelqu'un comprend quelque chose, chapeau !
Une évidence se dégage, tu as un don pour cette profession. Quand tu
parles ou énonces quelque chose, tu es imcompréhensible.
Tu vas allez loin dans le domaine...une voie royale s'ouvre devant toi.

(...)

à+twinley



Bonsoir twinley,

Décidemment, les financiers et apparentés (tu te souviens d'un certain
gestionnaire de stocks options ...) te mettent en peine forme.

;-)

Cordialement,

1 2