diff options
Diffstat (limited to 'python/analytics')
| -rw-r--r-- | python/analytics/cms_spread_utils.pyx | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/python/analytics/cms_spread_utils.pyx b/python/analytics/cms_spread_utils.pyx index 17396054..3a71f566 100644 --- a/python/analytics/cms_spread_utils.pyx +++ b/python/analytics/cms_spread_utils.pyx @@ -1,8 +1,9 @@ -# cython: language_level=3, cdivision=True +# cython: language_level=3, cdivision=True, boundscheck=False, wraparound=False from libc.math cimport log, exp, sqrt from .black cimport cnd_erf cimport cython import numpy as np +cimport numpy as np cdef api double h1(int n, double* data) nogil: # z = (y - mu_y) / sigma_y @@ -32,11 +33,11 @@ cdef api double h1(int n, double* data) nogil: ) -cpdef double[::1] h_call(double[::1] z, double K, double S1, double S2, double mu_x, double mu_y, double sigma_x, double sigma_y, double rho): +cpdef np.ndarray h_call(double[::1] z, double K, double S1, double S2, double mu_x, double mu_y, double sigma_x, double sigma_y, double rho): # conditionned on S2, integral wrt S1 # z = (y - mu_y) / sigma_y - cdef double[::1] r = np.empty_like(z) cdef: + np.ndarray[np.float_t, ndim=1] r = np.empty_like(z) double u1, u2, Ktilde, x double v = sigma_x * sqrt(1 - rho * rho) double v2 = sigma_x * sigma_x * (1 - rho * rho) |
