Me encontré con el siguiente fragmento de código VBA, que básicamente intenta generar aleatoriamente un tiempo predeterminado basado en algún modelo de tasa de riesgo
Seed = 7777
ReDim GaussOut(0 To Steps + 1)
CorrTerm = Sqr(1 - Correlation ^ 2)
VolTerm = (-Vol * Vol / 2) * DT
SqrDT = Sqr(DT)
While Tries < 50
ThisHR = HR
For i = 1 To Steps
Gauss = gasdev(Seed)
GaussOut(i) = Gauss * Correlation + gasdev(Seed) * CorrTerm
ThisHR = ThisHR * Exp(VolTerm * DT + Gauss * Vol * SqrDT)
URand = Rnd()
If ((1 - Exp(-ThisHR * 0.25)) > URand) Then
GaussOut(0) = i
GaussOut(i + 1) = Tries + 1
Tries = 51
i = Steps + 1
End If
Next i
Tries = Tries + 1
Wend
Si bien no tengo documentación sobre el código anterior, basado en algún estudio, pude extraer alguna información como la siguiente
DT
es el tamaño del paso- La función
gasdev
genera unavariate normal estándar
basada en alguna semilla HR
es la tasa de riesgo inicial
Parece que la tasa de riesgo está evolucionando según algún modelo, es decir ThisHR = ThisHR * Exp(VolTerm * DT + Gauss * Vol * SqrDT)
.
¿Podrías ayudarme a entender cuál es ese modelo? Según otras discusiones, puede parecer que la tasa de riesgo se asume que sigue algún modelo log-normal
, pero no estoy seguro y no pude relacionar completamente la fórmula anterior con ningún modelo log-normal
.
Además, se asume que un defecto ocurre si ((1 - Exp(-ThisHR * 0.25)) > URand)
. ¿Por qué es así?
Además, se supone que el modelo anterior está utilizando algunos parámetros como Correlation
y vol
. Una vez más, no logré comprender qué significan estos 2 parámetros, es decir, ¿vol
de qué? ¿Correlation
con qué?
Cualquier indicio sobre las preguntas anteriores será muy útil y realmente lo apreciaría.
Gracias por tu tiempo.