Esta instrucción nos sirve para realizar una comprobación condicional. Este comando If.. Then.. Else ejecuta una cantidad de instrucciones en función del valor de alguna expresión que indiquemos.
De esta manera, usando esta función podemos manipular de varias maneras los datos que basamos en condiciones definidas. El If nos indica el condicional, mientras que el Then nos dice la consecuencia que surge a partir de esa condicional especificada. Por último, Else nos indica otra consecuencia que aparece a partir del cumplimiento o no de la condicional.
En nuestro ejemplo, haremos una aplicación sobre los instrumentos derivados, específicamente: las opciones. En este caso, hemos usado el If.. Then.. Else para las Opciones Put en el cual el agente que compró el Put tiene el derecho pero no la obligación de vender el activo al Precio Strike, mientras que el vendió esta opción put está obligado a comprar el activo si el comprador ejerce su derecho dentro de un intervalo de tiempo pactado.
Nuestro ejemplo es desde el punto de vista del Comprador de la opción Put, tal que si el precio Strike es mayor al precio de mercado, se ejercerá el derecho a venta. De ocurrir lo contrario, no convendrá vender.
Sub PutOption()
dim PrecioStrike as double
dim PrecioSpot as double
PrecioStrike = InputBox("Ingrese el Precio Strike")
PrecioSpot = InputBox("Ingrese el Precio Spot")
If PrecioSpot < PrecioStrike Then
MsgBox "Ejercer opción Put. El precio de mercado es;" & PrecioSpot
Else
MsgBox "No Ejercer el derecho a la Opción Put"
End If
End Sub
by Anthony Aguirre Torres
24/07/2013 a las 11:45 pm
Me gusta mucho este ejemplo porque lo puedo anexar a mi tarea2, ya que yo hice este tema de opciones, ejecuté este código:
Sub ejecutar()
p_strke = InputBox("Ingrese precio strike")
p_spt = InputBox("INGRESE precio spot")
If p_spt < p_strike Then
MsgBox "Ejercer opción Put "
Else
MsgBox "No Ejercer el derecho a la Opción Put”"
End If
End Sub
Pero al ejecutar la macro siempre me resulta la opción 2 osea "No ejercer el derecho...", sea cual fuere el valor de precio spot y precio strike.
Espero me puedan responder.
Saludos
25/07/2013 a las 9:25 am
Milagros la comparación se realiza como texto, para comparar valores tanto p_strke como p_spt deben declararse previamente
dim p_strke as double
dim p_spt as double
25/07/2013 a las 7:20 pm
Sí lo hice y sigue saliendo el mismo error.
26/07/2013 a las 10:42 am
Sub ejecutar()
p_strike = InputBox("Ingrese precio strike")
p_spt = InputBox("INGRESE precio spot")
If p_spt < p_strike Then
MsgBox "Ejercer opción Put "
Else
MsgBox "No Ejercer el derecho a la Opción Put”"
End If
End Sub
Es p_strike no p_strke .... se debe usar el mismo nombre en ambos casos