aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/analytics/tranche_basket.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/python/analytics/tranche_basket.py b/python/analytics/tranche_basket.py
index 68a67448..e62130b4 100644
--- a/python/analytics/tranche_basket.py
+++ b/python/analytics/tranche_basket.py
@@ -132,11 +132,11 @@ class DualCorrTranche():
tranche_pl(L, self.cs, 0., K))
def index_pv(self, epsilon=0., discounted=True):
- DP = self._default_prob(epsilon).values
+ DP = self._default_prob(epsilon)
df = self.cs.df.values
coupons = self.cs.coupons
- ELvec = self.weights * (1 - self.recovery_rates) @ DP
- size = 1 - self.weights @ DP
+ ELvec = self._index.weights * (1 - self._index.recovery_rates) @ DP
+ size = 1 - self._index.weights @ DP
sizeadj = 0.5 * (np.hstack((1., size[:-1])) + size)
if not discounted:
pl = - ELvec[-1]
@@ -144,7 +144,7 @@ class DualCorrTranche():
else:
pl = - np.diff(np.hstack((0., ELvec))) @ df
cl = coupons @ (sizeadj * df)
- bp = 1 + cl * self.coupon(self.maturity) + pl
+ bp = 1 + cl * self._index.coupon(self.maturity) + pl
Pvs = namedtuple('IndexPvs', 'coupon_leg, protection_leg, bond_price')
return Pvs(cl, pl, bp)
@@ -287,10 +287,10 @@ class DualCorrTranche():
def _greek_calc(self):
eps = 1e-4
- indexbp = [self._index.pv(self.maturity)]
+ indexbp = [self.index_pv().bond_price]
bp = [self.pv]
for tweak in [eps, -eps, 2*eps]:
- indexbp.append(self._index.pv(self.maturity, tweak))
+ indexbp.append(self.index_pv(tweak).bond_price)
bp.append(self._pv(tweak))
return {'indexbp': indexbp, 'bp': bp}