aboutsummaryrefslogtreecommitdiffstats
path: root/python/analytics/option.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/analytics/option.py')
-rw-r--r--python/analytics/option.py15
1 files changed, 1 insertions, 14 deletions
diff --git a/python/analytics/option.py b/python/analytics/option.py
index a714ae17..e4b08364 100644
--- a/python/analytics/option.py
+++ b/python/analytics/option.py
@@ -10,10 +10,10 @@ from .sabr import sabr
from .utils import GHquad, build_table
from .index import g, ForwardIndex, CreditIndex
from .db import _engine
+from .utils import memoize
from yieldcurve import roll_yc
from pandas.tseries.offsets import BDay
-from functools import wraps
from pyisda.flat_hazard import pv_vec
from scipy.optimize import brentq
from scipy.integrate import simps
@@ -36,19 +36,6 @@ def calib(S0, fp, exercise_date, exercise_date_settle,
index.fixed_rate * 1e-4)
return np.inner(pv, w) - fp
-def memoize(f):
- @wraps(f)
- def cached_f(*args, **kwargs):
- obj = args[0]
- key = (f.__name__, hash(obj))
- if key in obj._cache:
- return obj._cache[key]
- else:
- v = f(*args, **kwargs)
- obj._cache[key] = v
- return v
- return cached_f
-
def ATMstrike(index, exercise_date):
"""computes the at-the-money strike.