Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2480 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  calcul d'une fonction dans un tableau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

calcul d'une fonction dans un tableau

n°2075002
simajdou
Posté le 10-05-2011 à 14:48:28  profilanswer
 

Bonjour
je dois calculer une fonction dont les données sont plusieurs,
mes données sont par exemple comme suit:
 
durée\ delta= 10        15       20
7              10,97    11,20   10,89
15             11,3     10,54   10,65
21            10,67    11,45    11,10
30            10,97    11,34    10,93
les valeurs à l'intérieur sont les volatilités
 
je dois avoir un tableau similaire mais au lieu des volatilité il me faut les valeurs d'un strike dont j'ai l'expression en fonction de la durée le dela et la volatilité, donc pour chaque durée, delta et volatilité il me faut un strike.  
 
voiçi le code que j'ai essayé mais ça donne rien (je suis débutante en VBA)
 
Sub test()
 
Function str(CP As String, Spot As Double) As Double
     
    Dim taux_domestique As Double
    Dim taux_etranger As Double
    Dim i As Integer
    Dim j As Integer
    Dim duree(12) As Double
    Dim delta(7) As Double
    Dim volatilite(12, 7) As Double
    Dim tmp1 As Double
    Dim tmp3 As Double
    Dim tmp2 As Double
     
        i = 1
        Dim ObjCell1 As Range
         
        For Each ObjCell In Range("A3:A14" ).Cells
            duree(i) = ObjCell.Value
            i = i + 1
        Next
         
        i = 1
        Dim ObjCell2 As Range
         
        For Each ObjCell2 In Range("B2:H2" ).Cells
            delta(i) = ObjCell2.Value
            i = i + 1
        Next
         
         
        Dim ObjCell3 As Range
        i = 1
        j = 1
        For Each ObjCell3 In Range("B3:H14" ).Cells
            If j <= 7 And i <= 12 Then
              volatilite(i, j) = ObjCell3.Value
            End If
             
            If j > 7 And i <= 12 Then
                j = 1
                i = i + 1
            End If
             
        Next
 
     
    For i = 1 To 12
       
        If CP = "call" Then
         taux_domestique = InterpoleTx(Range("A17:A26" ), Range("B17:B26" ), duree(i)) And taux_etranger = InterpoleTx(Range("A29:A42" ), Range("C29:C42" ), duree(i))
       ElseIf CP = "put" Then
         taux_domestique = InterpoleTx(Range("A17:A26" ), Range("C17:C26" ), duree(i)) And taux_etranger = InterpoleTx(Range("A29:A42" ), Range("B29:B42" ), duree(i))
        End If
         
        For j = 1 To 7
            tmp1 = taux_domestique - taux_etranger + (0.5 * volatilite(i, j) * volatilite(i, j))
            tmp2 = Log(1 / (delta(j) * Sqr(2 * 3.14)))
            tmp3 = volatilite(i, j) * Sqr(2 * (duree(i) / 365) * tmp2)
             
             
            Cells(i, j + 9).Value = str = Spot * Exp((tmp1 * (duree(i) / 365)) - tmp3)
        Next j
         
    Next i
   
End Function
 
End Sub

mood
Publicité
Posté le 10-05-2011 à 14:48:28  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  calcul d'une fonction dans un tableau

 

Sujets relatifs
algorithme placement objet dans un tableaucode pour le calcul d'une fonction à partir d'une matrice
heuteur de div auto en fonction des autresDLL et tableau de record
XSLT: utilisation de la fonction position() dans <for-each> imbriquésFonction strstr, question sur ce qu'elle renvoit.
fonction exec()lecture d'un fichier .txt et retourner un tableau et une variable P,sv
Fonction Recherche sur une plage de données 
Plus de sujets relatifs à : calcul d'une fonction dans un tableau


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR