def getTotalDiscount(self, startdate, enddate): aprice = wu.wsd(self.ticker, 'close', startdate, enddate)['close'] bprice = wu.wsd(self.bticker, 'close', startdate, enddate)['close'] mnav = wu.wsd(self.mticker, 'nav', startdate, enddate)['nav'] ashare = wu.wsd(self.ticker, 'fund_subshareproportion', startdate, enddate)['fund_subshareproportion'] bshare = 100 - ashare totalDiscount = (aprice * ashare + bprice * bshare) / mnav / 100 - 1 return totalDiscount
def getbprice(self, startdate, enddate): bprice = wu.wsd(self.bticker, 'close', startdate, enddate) return bprice
def getaprice(self, startdate, enddate): aprice = wu.wsd(self.aticker, 'close', startdate, enddate) return aprice
def getImpliedYield(self, startdate, enddate): # function to be improved tmp = wu.wsd(self.ticker, 'anal_nextaayield, nav, close', startdate, enddate) return tmp['anal_nextaayield'] / (tmp['close'] - (tmp['nav'] - 1))