def loadAndSaveMarketData(self, pricingDate, marketId): ''' assumes that 'EOD' marketId exists ''' eodCurve = InterestRateCurve() eodCurve.ccy = self.tCBond.ccy eodCurve.index = Enum.Index('LIBOR') eodCurve.term = 'M' eodCurve.numTerms = 3 eodCurve.pricingDate = pricingDate eodCurve.marketId = 'EOD' eodCurve.load() irCurve = InterestRateCurve() irCurve.ccy = self.tCBond.ccy irCurve.index = Enum.Index('LIBOR') irCurve.term = 'M' irCurve.numTerms = 3 irCurve.pricingDate = pricingDate irCurve.marketId = marketId eodRates = eodCurve.getRates() for rate in eodRates: irCurve.addRate(rate) irCurve.save() eodBondOAS = BondOAS.objects.get(tCBond=self.tCBond, pricingDate=pricingDate, marketId='EOD') bondOAS = BondOAS(tCBond=self.tCBond, pricingDate=pricingDate, marketId=marketId,mid=eodBondOAS.mid) bondOAS.save()
def loadAndSaveMarketData(self, pricingDate, marketId): ''' assumes that 'EOD' marketId exists algorithm is to load the EOD curve and save it with marketId ''' eodCurve = InterestRateCurve() eodCurve.ccy = self._tcSwap.ccy eodCurve.index = Index('LIBOR') eodCurve.term = 'M' eodCurve.numTerms = 3 eodCurve.pricingDate = pricingDate eodCurve.marketId = 'EOD' eodCurve.load() irCurve = InterestRateCurve() irCurve.ccy = self._tcSwap.ccy irCurve.index = Index('LIBOR') irCurve.term = 'M' irCurve.numTerms = 3 irCurve.pricingDate = pricingDate irCurve.marketId = marketId eodRates = eodCurve.getRates() for rate in eodRates: irCurve.addRate(rate) irCurve.save()