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
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)
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) ]
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)