def get_data( self, id, curncy="", multiplier=1, settlement_delay=2, security_type=1, sector=None, sectorid=None, group=None, groupid=None, industry_code=None, commit=True, **kwargs ): if not industry_code: # TODO remove thid import and obtain moel from self.model from jflow.db.instdata.models import IndustryCode as secmodel # secmodel = self.model._name_map.get('industry_code')[0] industry_code = secmodel.objects.create(sector, sectorid, group, groupid) if industry_code: industry_code = industry_code.id data = super(EquityManager, self).get_data(id, **kwargs) data.update( { "industry_code": industry_code, "curncy": convert("curncy", curncy), "multiplier": self.safefloat(multiplier, 1), "settlement_delay": self.safeint(settlement_delay, 2), "security_type": convert("security_type", security_type), } ) return data
def get_or_create(self, commit = True, type = None, country = None, default_vendor = None, **kwargs): ''' Override get_or_create. kwargs must contain: code country default_vendor Optional type tags ''' code = kwargs.pop('code',None) if not code: raise ValueError('cannot add data id, code not specified') code = slugify(code.upper()) id = None try: id = self.get(code = code) created = False if default_vendor: default_vendor = convert('vendor', default_vendor) except: isin = kwargs.get('isin',None) if isin: id = self.filter(isin = isin) if id.count() == 1: id = id[0] created = False elif id: return None,False else: id = None if not id: id = None default_vendor = convert('vendor', default_vendor or settings.DEFAULT_VENDOR_FOR_SITE) created = True if default_vendor: default_vendor = default_vendor.id ct, model = self.ctmodel(type) country = convert('country', country) model = model or self.model id = model.objects.create(id, commit = commit, code = code, country = country, default_vendor = default_vendor, **kwargs) return id,created
def get_data(self, id, curncy = '', value_date = None, **kwargs): data = super(FwdCashManager,self).get_data(id, **kwargs) value_date = convert('bonddate',value_date) data.update({'curncy': convert('curncy',curncy), 'value_date': value_date}) return data
def get_or_create(self, commit=True, type=None, country=None, default_vendor=None, **kwargs): """ Override get_or_create. kwargs must contain: code country default_vendor Optional type tags """ code = kwargs.pop("code", None) if not code: raise ValueError("cannot add data id, code not specified") code = slugify(code.upper()) id = None try: id = self.get(code=code) created = False if default_vendor: default_vendor = convert("vendor", default_vendor) except: isin = kwargs.get("isin", None) if isin: id = self.filter(isin=isin) if id.count() == 1: id = id[0] created = False elif id: return None, False else: id = None if not id: id = None default_vendor = convert("vendor", default_vendor or settings.DEFAULT_VENDOR_FOR_SITE) created = True if default_vendor: default_vendor = default_vendor.id ct, model = self.ctmodel(type) country = convert("country", country) model = model or self.model id = model.objects.create( id, commit=commit, code=code, country=country, default_vendor=default_vendor, **kwargs ) return id, created
def get_data( self, id, curncy="", bondclass__code=None, collateral_type=None, announce_date=None, first_settle_date=None, first_coupon_date=None, accrual_date=None, maturity_date=None, multiplier=None, settlement_delay=None, coupon=None, month_frequency=0, day_count=None, callable=False, putable=False, commit=True, **kwargs ): data = super(BondManager, self).get_data(id, **kwargs) ccy = convert("curncy", curncy) bck = {} for k, v in kwargs.items(): ks = k.split("__") if len(ks) == 2 and ks[0] == "bondclass": bck[ks[1]] = v bc = bck.pop("bondcode", None) co = data.get("country", None) bc = convert("bondclass", bc, curncy=ccy, country=co, **bck) data.update( { "curncy": ccy, "bond_class": bc.id, "announce_date": convert("bonddate", announce_date), "first_settle_date": convert("bonddate", first_settle_date), "first_coupon_date": convert("bonddate", first_coupon_date), "accrual_date": convert("bonddate", accrual_date), "maturity_date": convert("bonddate", maturity_date), "collateral_type": convert("collateral", collateral_type).id, "multiplier": self.safefloat(multiplier, 0.01), "settlement_delay": self.safeint(settlement_delay, 3), "coupon": self.safefloat(coupon, 0), "month_frequency": self.safeint(month_frequency, 0), "day_count": convert("daycount", day_count), "callable": callable, "putable": putable, } ) return data
def get_data(self, id, first_trade_date, last_trade_date, first_notice_date, first_delivery_date, last_delivery_date, **kwargs): BLB = kwargs.get('BLB' , None) data = super(FutureManager,self).get_data(id, **kwargs) contract = convert('future_contract', BLB) data.update({'contract' : contract.id, 'country' : contract.country, 'exchange' : contract.exchange.id, 'first_trade' : DateFromBlbString(first_trade_date), 'last_trade' : DateFromBlbString(last_trade_date), 'first_notice' :DateFromBlbString(first_notice_date), 'first_delivery':DateFromBlbString(first_delivery_date), 'last_delivery':DateFromBlbString(last_delivery_date), }) return data
def get_data(self, id, curncy = '', multiplier = 1, settlement_delay = 2, **kwargs): data = super(EtfManager,self).get_data(id, **kwargs) data.update({'curncy': convert('curncy',curncy), 'multiplier': self.safefloat(multiplier,1), 'settlement_delay': self.safeint(settlement_delay,2)}) return data
def get_data( self, id, first_trade_date, last_trade_date, first_notice_date, first_delivery_date, last_delivery_date, **kwargs ): BLB = kwargs.get("BLB", None) data = super(FutureManager, self).get_data(id, **kwargs) contract = convert("future_contract", BLB) data.update( { "contract": contract.id, "country": contract.country, "exchange": contract.exchange.id, "first_trade": DateFromBlbString(first_trade_date), "last_trade": DateFromBlbString(last_trade_date), "first_notice": DateFromBlbString(first_notice_date), "first_delivery": DateFromBlbString(first_delivery_date), "last_delivery": DateFromBlbString(last_delivery_date), } ) return data
def get_data(self, id, CUSIP="", SEDOL="", exchange="", **kwargs): data = super(SecurityManager, self).get_data(id, **kwargs) exchange = convert("exchange", exchange) if exchange: exchange = exchange.id data.update({"CUSIP": CUSIP, "SEDOL": SEDOL, "exchange": exchange}) return data
def get_data(self, id, curncy = '', cash_type = 1, extended = '', **kwargs): data = super(CashManager,self).get_data(id, **kwargs) data.update({'curncy': convert('curncy',curncy), 'cash_type': cash_type, 'extended': extended}) return data
def get_data(self, id, curncy = '', bondclass__code = None, collateral_type = None, announce_date = None, first_settle_date = None, first_coupon_date = None, accrual_date = None, maturity_date = None, multiplier = None, settlement_delay = None, coupon = None, month_frequency = 0, day_count = None, callable = False, putable = False, commit = True, **kwargs): data = super(BondManager,self).get_data(id, **kwargs) ccy = convert('curncy',curncy) bck = {} for k,v in kwargs.items(): ks = k.split('__') if len(ks) == 2 and ks[0] == 'bondclass': bck[ks[1]] = v bc = bck.pop('bondcode',None) co = data.get('country',None) bc = convert('bondclass',bc,curncy=ccy,country=co,**bck) data.update({'curncy': ccy, 'bond_class': bc.id, 'announce_date': convert('bonddate',announce_date), 'first_settle_date': convert('bonddate',first_settle_date), 'first_coupon_date': convert('bonddate',first_coupon_date), 'accrual_date': convert('bonddate',accrual_date), 'maturity_date': convert('bonddate',maturity_date), 'collateral_type': convert('collateral',collateral_type).id, 'multiplier': self.safefloat(multiplier,0.01), 'settlement_delay': self.safeint(settlement_delay,3), 'coupon': self.safefloat(coupon,0), 'month_frequency': self.safeint(month_frequency, 0), 'day_count': convert('daycount',day_count), 'callable': callable, 'putable': putable, }) return data
def get_data(self, id, CUSIP = '', SEDOL = '', exchange = '', **kwargs): data = super(SecurityManager,self).get_data(id, **kwargs) exchange = convert('exchange', exchange) if exchange: exchange = exchange.id data.update({'CUSIP': CUSIP, 'SEDOL': SEDOL, 'exchange': exchange}) return data
def get_data(self, id, curncy="", multiplier=1, settlement_delay=2, security_type=1, commit=True, **kwargs): data = super(FundManager, self).get_data(id, **kwargs) data.update( { "curncy": convert("curncy", curncy), "multiplier": self.safefloat(multiplier, 1), "settlement_delay": self.safeint(settlement_delay, 2), } ) return data
def get_data(self, id, curncy = '', multiplier = 1, settlement_delay = 2, security_type = 1, sector = None, sectorid = None, group = None, groupid = None, industry_code = None, commit = True, **kwargs): if not industry_code: #TODO remove thid import and obtain moel from self.model from jflow.db.instdata.models import IndustryCode as secmodel #secmodel = self.model._name_map.get('industry_code')[0] industry_code = secmodel.objects.create(sector, sectorid, group, groupid) if industry_code: industry_code = industry_code.id data = super(EquityManager,self).get_data(id, **kwargs) data.update({'industry_code': industry_code, 'curncy': convert('curncy',curncy), 'multiplier': self.safefloat(multiplier,1), 'settlement_delay': self.safeint(settlement_delay,2), 'security_type': convert('security_type',security_type)}) return data
def get_data(self, id, curncy="", value_date=None, **kwargs): data = super(FwdCashManager, self).get_data(id, **kwargs) value_date = convert("bonddate", value_date) data.update({"curncy": convert("curncy", curncy), "value_date": value_date}) return data
def get_data(self, id, curncy="", cash_type=1, extended="", **kwargs): data = super(CashManager, self).get_data(id, **kwargs) data.update({"curncy": convert("curncy", curncy), "cash_type": cash_type, "extended": extended}) return data