示例#1
0
 def create(cls,
            coverage: Union[CoverageType, str],
            id_: str,
            name: str,
            term: Union[Term, str],
            universe_identifier: Union[UniverseIdentifier, str],
            vendor: str,
            version: float,
            entitlements: Union[Entitlements, Dict] = None,
            description: str = None):
     """ Creates new factor risk model and uploads factor risk model object to Marquee
         :param coverage: coverage of risk model asset universe
         :param id_: risk model id (cannot be changed)
         :param name: risk model name
         :param term: horizon term
         :param universe_identifier: identifier used in asset universe upload (cannot be changed)
         :param vendor: risk model vendor
         :param version: version of model
         :param entitlements: entitlements associated with risk model
         :param description: risk model description
         :return: Factor Risk Model object  """
     new_model = RiskModelBuilder(coverage,
                                  id_,
                                  name,
                                  term,
                                  universe_identifier,
                                  vendor,
                                  version,
                                  entitlements=entitlements,
                                  description=description)
     GsRiskModelApi.create_risk_model(new_model)
     return FactorRiskModel(id_)
示例#2
0
 def update(self):
     """ Updates factor risk model object on Marquee """
     updated_model = RiskModelBuilder(self.coverage,
                                      self.id,
                                      self.name,
                                      self.term,
                                      self.universe_identifier,
                                      self.vendor,
                                      self.version,
                                      description=self.description,
                                      entitlements=self.entitlements)
     GsRiskModelApi.update_risk_model(updated_model)
示例#3
0
 def upload(self):
     """ Upload current Factor Risk Model object to Marquee """
     new_model = RiskModelBuilder(self.coverage,
                                  self.id,
                                  self.name,
                                  self.term,
                                  self.universe_identifier,
                                  self.vendor,
                                  self.version,
                                  entitlements=self.entitlements,
                                  description=self.description)
     GsRiskModelApi.create_risk_model(new_model)
示例#4
0
 def save(self):
     """ Upload current Risk Model object to Marquee """
     model = RiskModelBuilder(
         self.coverage,
         self.id,
         self.name,
         self.term,
         self.universe_identifier,
         self.vendor,
         self.version,
         type_=self.type,
         description=self.description,
         entitlements=self.entitlements,
         expected_update_time=self.expected_update_time.strftime('%H:%M:%S')
         if self.expected_update_time else None)
     try:
         GsRiskModelApi.create_risk_model(model)
     except MqRequestError:
         GsRiskModelApi.update_risk_model(model)