aboutsummaryrefslogtreecommitdiffstats
path: root/python/analytics
diff options
context:
space:
mode:
Diffstat (limited to 'python/analytics')
-rw-r--r--python/analytics/cms_spread_utils.pyx7
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)