Bonsoir,
j'ai essayé d'établir un pricer en codage vba (il s'agit du tiers de mon pricer je ne l'ia pas encore terminé), mais je ne comprends pas pourquoi il ne fonctionne pas. pouvez vous m'aider à résoudre ce problème s'il vous plaît?
Merci
Bonsoir,
j'ai essayé d'établir un pricer en codage vba (il s'agit du tiers de mon pricer je ne l'ia pas encore terminé), mais je ne comprends pas pourquoi il ne fonctionne pas. pouvez vous m'aider à résoudre ce problème s'il vous plaît?
Merci
bonsoir,
utilise les balises de code ( bouton # , [code] [/code])
pour poster la partie de code qui te cause problème n'oublie pas de nous dire ce que devrais faire ton code et ce qu'il fait ..
Bonjour,
Veuillez m'en excuser. Je pensais que mon fichier excel était bien rattaché à mon message.
voici le code+ le fichier excel pour peut être mieux visualiser
Mon problème est que j'essaie d'établir un pricer dans le cadre d'un modèle de diffusion avec saut.
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 Option Explicit Sub macro1() Function Call_BS(s As Double, v As Double, r As Double, k As Double, tn As Double, t As Double) As Double Dim cs As Double Dim dx1 As Double Dim dx2 As Double Dim nd1 As Double Dim nd2 As Double dx1 = 1 / (v * Sqr(tn - t)) * (Log(s / k) + (r + 0.5 * v * v) * (tn - t)) dx2 = dx1 - v * Sqr(tn - t) nd1 = WorksheetFunction.NormSDist(dx1) nd2 = WorksheetFunction.NormSDist(dx2) cs = s * nd1 - Exp(-r * (tn - t)) * nd2 * k Call_BS = cs End Function End Sub Sub macro2() Function Put_BS(s As Double, v As Double, r As Double, k As Double, tn As Double, t As Double) As Double Dim ps As Double Dim dx1 As Double Dim dx2 As Double Dim nd1 As Double Dim nd2 As Double dx1 = 1 / (v * Sqr(tn - t)) * (Log(s / k) + (r + 0.5 * v * v) * (tn - t)) dx2 = dx1 - v * Sqr(tn - t) nd1 = WorksheetFunction.NormSDist(-dx1) nd2 = WorksheetFunction.NormSDist(-dx2) ps = -s * nd1 + Exp(-r * (tn - t)) * nd2 * k Put_BS = ps End Function End Sub
J'ai utilisé la formule de Black and scoles dans un premier temps, mais mon pricer ne fonctionne pas.
Je ne sais pas s'il manque des éléments au niveau d'excel, ou en VBA. sachant que je dois présenter ce fichier très prochainement . cela m'inquiète énormément car je n'arrive pas à comprendre ce problème.
Merci pour votre aide
Bien cordialemnt
Bonjour.
Tu trouveras des exemples du "Black-Scholes" sur cette page.
Cordialement
Docmarti.
Bonjour,
Tu ne peux pas avoir un Function à l'intérieur d'un Sub.
eric
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 sub machin() '... End Sub Function truc () '... End Function
Bonjour,
Il y était hier, mais quelqu'un en autorité l'a zigouillé. (Et j'en suis content, parce que les fichiers-joints avec la première question sont une vraie peste.)
Pour savoir pourquoi, va voir le texte Pierre Fauconnier.
À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.
Ô Saint Excel, Grand Dieu de l'Inutile.
Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.
Bonjour Éric,
Je lui ai déjà donné la même explication dans le vide, ou dans le beurre, c'est au goût, dans son premier fil sur le me même sujet. Pourtant, c'est depuis les tous du débuts du BASIC (sur un "mainframe" et un terminal) qu'une FUNCTION doit retourner une valeur, et qu'une valeur doit être associée à une variable.Tu ne peux pas avoir un Function à l'intérieur d'un Sub.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 sub machin() '... End Suberic
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Function truc () '... End Function
Même que si j'étais modérateur, je fermerais ici et je renverrais tout le monde à la question d'origine :
http://www.developpez.net/forums/d15...a/#post8297671
P.S Quand j'ai vu que j'avais répondu dans le vide, je l'avais envoyée au diable. Mais là avec deux fils différents, et des répondeurs différents, c'est parti pour prendre le temps de beaucoup de monde pour rien; et j'ai eu des remords. Mais, de toute évidence, elle veut le code sur un plateau d'argent. Mais, ce n'est pas la politique du Forum et c'est une méthode de broche à foin pour apprendre.
À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.
Ô Saint Excel, Grand Dieu de l'Inutile.
Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.
Mouais. Pas très rigoureux pour une matheuse tout ça.
Déjà rien que poser la question sans même mettre de code était mauvais signe.
On va aller voir les gens plus sérieux...
eric
Bonjour,
Je m'étais concentrée sur mon projet, et j'avais donc pris beaucoup de temps là dessus, d'où le fait que je n'étais plus revenue sur le forum.
Et par la même occasion , pour vous informer que j'avais résolu mon problème .
Sauf que je viens de lire le fil de la discussion et ...
Que dire.... j'ai trouvé la solution toute seule . Donc non , je ne cherchais pas à avoir un code sur un plateau d'argent....
De plus Clementmarcotte "l'exemple " que vous aviez posté ne m'avais pas été utile , mais m'avait plus perdue qu'autre chose. (d'où le fait que je n'y avais pas répondu (peut être oublié d'y répondre du fait que j'étais dans une période très prenante), si ça aurait été pour dire que le commentaire posté ne m'aidait en aucun cas...).
Donc merci aux mauvaises langues.
Pour information, nous ne sommes pas tous des professionnels en programmation, (je me considère plus comme une autodidacte, vu que j'ai eu très peu d'heures de cours de vba au cours de ma formation) donc à l'avenir merci d'éviter de juger les membres hâtivement. (n'est ce pas eriiic)
Bien à vous
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager