Example #1
0
 def get_factor_data(self,
                     start_date: dt.date = None,
                     end_date: dt.date = None,
                     identifiers: List[str] = None,
                     include_performance_curve: bool = None) -> List[Dict]:
     """ Retrieve factor data for existing risk model """
     start_date = dt.datetime.strptime(
         GsRiskModelApi.get_risk_model_dates(self.model.id)[0],
         '%Y-%m-%d') if not start_date else start_date
     id_to_category_for_date_range = GsRiskModelApi.get_risk_model_data(
         model_id=self.model.id,
         start_date=start_date,
         end_date=end_date,
         assets=None,
         measures=[Measure.Factor_Id, Measure.Factor_Category],
         limit_factors=False,
         data_format=None).get('results')
     factor_id_to_category = _build_id_to_category(
         id_to_category_for_date_range)
     factor_data = GsRiskModelApi.get_risk_model_factor_data(
         self.model.id, start_date, end_date, identifiers,
         include_performance_curve)
     for factor in factor_data:
         factor['factorCategory'] = factor_id_to_category.get(
             factor.get('identifier'), factor.get('name'))
     return factor_data
Example #2
0
 def get_dates(self,
               start_date: dt.date = None,
               end_date: dt.date = None) -> List:
     """ Retrieve risk model dates for existing risk model
         :param start_date: list returned including and after start_date
         :param end_date: list returned up to and including end_date """
     return GsRiskModelApi.get_risk_model_dates(self.id, start_date,
                                                end_date)
Example #3
0
    def get_dates(self, start_date: dt.date = None, end_date: dt.date = None, event_type: RiskModelEventType = None) \
            -> List[dt.date]:
        """ Get risk model dates for existing risk model

        :param start_date: list returned including and after start_date
        :param end_date: list returned up to and including end_date
        :param event_type: which event type to retrieve

        :return: list of dates where risk model data is present
        """
        return [
            dt.datetime.strptime(date, "%Y-%m-%d").date()
            for date in GsRiskModelApi.get_risk_model_dates(
                self.id, start_date, end_date, event_type=event_type)
        ]
Example #4
0
 def get_dates(self,
               start_date: dt.date = None,
               end_date: dt.date = None) -> List:
     """ Retrieve risk model dates for existing risk model """
     return GsRiskModelApi.get_risk_model_dates(self.model.id, start_date,
                                                end_date)