Example #1
0
 def get_specific_risk(self,
                       start_date: dt.date,
                       end_date: dt.date,
                       assets: DataAssetsRequest = None,
                       limit_factors: bool = None,
                       data_format: Format = None) -> Dict:
     """ Retrieve specific risk data for existing risk model """
     return GsRiskModelApi.get_risk_model_data(self.model.id, start_date,
                                               end_date, assets,
                                               [Measure.Specific_Risk],
                                               limit_factors, data_format)
Example #2
0
 def get_historical_beta(self,
                         start_date: dt.date,
                         end_date: dt.date,
                         assets: DataAssetsRequest = None,
                         data_format: Format = None) -> Dict:
     """ Retrieve historical beta data for existing risk model """
     return GsRiskModelApi.get_risk_model_data(
         model_id=self.model.id,
         start_date=start_date,
         end_date=end_date,
         assets=assets,
         measures=[Measure.Historical_Beta, Measure.Asset_Universe],
         limit_factors=False,
         data_format=data_format)
Example #3
0
 def get_factor_portfolios(self,
                           start_date: dt.date,
                           end_date: dt.date,
                           assets: DataAssetsRequest = None,
                           data_format: Format = None) -> Dict:
     """ Retrieve factor portfolios data for existing risk model """
     return GsRiskModelApi.get_risk_model_data(
         model_id=self.model.id,
         start_date=start_date,
         end_date=end_date,
         assets=assets,
         measures=[Measure.Factor_Portfolios],
         limit_factors=False,
         data_format=data_format)
Example #4
0
 def get_issuer_specific_covariance(self,
                                    start_date: dt.date,
                                    end_date: dt.date,
                                    assets: DataAssetsRequest = None,
                                    data_format: Format = None) -> Dict:
     """ Retrieve issuer specific covariance data for existing risk model """
     return GsRiskModelApi.get_risk_model_data(
         model_id=self.model.id,
         start_date=start_date,
         end_date=end_date,
         assets=assets,
         measures=[Measure.Issuer_Specific_Covariance],
         limit_factors=False,
         data_format=data_format)
Example #5
0
 def get_residual_variance(self,
                           start_date: dt.date,
                           end_date: dt.date,
                           assets: DataAssetsRequest = None,
                           data_format: Format = None) -> Dict:
     """ Retrieve residual variance data for existing risk model """
     return GsRiskModelApi.get_risk_model_data(
         model_id=self.model.id,
         start_date=start_date,
         end_date=end_date,
         assets=assets,
         measures=[Measure.Residual_Variance, Measure.Asset_Universe],
         limit_factors=False,
         data_format=data_format)
Example #6
0
 def get_data(self,
              measures: List[Measure],
              start_date: dt.date,
              end_date: dt.date,
              assets: DataAssetsRequest = None,
              limit_factors: bool = None,
              data_format: Format = None) -> Dict:
     """ Retrieve data for multiple measures for existing risk model """
     return GsRiskModelApi.get_risk_model_data(model_id=self.model.id,
                                               start_date=start_date,
                                               end_date=end_date,
                                               assets=assets,
                                               measures=measures,
                                               limit_factors=limit_factors,
                                               data_format=data_format)
Example #7
0
 def get_specific_risk(self,
                       start_date: dt.date,
                       end_date: dt.date = None,
                       assets: DataAssetsRequest = None,
                       data_format: Format = None) -> Dict:
     """ Retrieve specific risk data for existing risk model """
     results = GsRiskModelApi.get_risk_model_data(
         model_id=self.model.id,
         start_date=start_date,
         end_date=end_date,
         assets=assets,
         measures=[Measure.Specific_Risk, Measure.Asset_Universe],
         limit_factors=False,
         data_format=data_format).get('results')
     return _build_asset_data_map(results, assets, 'specificRisk')
Example #8
0
 def get_factor_returns(self,
                        start_date: dt.date,
                        end_date: dt.date,
                        data_format: Format = None) -> Dict:
     """ Retrieve factor return data for existing risk model """
     return GsRiskModelApi.get_risk_model_data(model_id=self.model.id,
                                               start_date=start_date,
                                               end_date=end_date,
                                               assets=None,
                                               measures=[
                                                   Measure.Factor_Return,
                                                   Measure.Factor_Name,
                                                   Measure.Factor_Id
                                               ],
                                               limit_factors=False,
                                               data_format=data_format)
Example #9
0
 def get_covariance_matrix(self,
                           start_date: dt.date,
                           end_date: dt.date = None,
                           data_format: Format = None) -> Dict:
     """ Retrieve covariance matrix data for existing risk model """
     return GsRiskModelApi.get_risk_model_data(
         model_id=self.model.id,
         start_date=start_date,
         end_date=end_date,
         assets=None,
         measures=[
             Measure.Covariance_Matrix, Measure.Factor_Name,
             Measure.Factor_Id
         ],
         limit_factors=False,
         data_format=data_format).get('results')
Example #10
0
 def get_factor_returns_by_id(self,
                              start_date: dt.date,
                              end_date: dt.date = None,
                              data_format: Format = None) -> Dict:
     """ Retrieve factor return data for existing risk model """
     results = GsRiskModelApi.get_risk_model_data(
         model_id=self.model.id,
         start_date=start_date,
         end_date=end_date,
         assets=None,
         measures=[
             Measure.Factor_Return, Measure.Factor_Name, Measure.Factor_Id
         ],
         limit_factors=False,
         data_format=data_format).get('results')
     factor_data = self.get_factor_data(start_date, end_date)
     return _build_factor_data_map(factor_data, results, 'id')
Example #11
0
 def get_universe_factor_exposure(self,
                                  start_date: dt.date,
                                  end_date: dt.date = None,
                                  assets: DataAssetsRequest = None,
                                  data_format: Format = None) -> Dict:
     """ Retrieve universe factor exposure data for existing risk model """
     results = GsRiskModelApi.get_risk_model_data(
         model_id=self.model.id,
         start_date=start_date,
         end_date=end_date,
         assets=assets,
         measures=[
             Measure.Universe_Factor_Exposure, Measure.Asset_Universe
         ],
         limit_factors=False,
         data_format=data_format).get('results')
     return _build_asset_data_map(results, assets, 'factorExposure')
Example #12
0
 def get_asset_universe(self,
                        start_date: dt.date,
                        end_date: dt.date = None,
                        assets: DataAssetsRequest = None,
                        data_format: Format = None) -> List:
     """ Retrieve asset universe data for existing risk model """
     if not assets.universe and not end_date:
         end_date = start_date
     results = GsRiskModelApi.get_risk_model_data(
         model_id=self.model.id,
         start_date=start_date,
         end_date=end_date,
         assets=assets,
         measures=[Measure.Asset_Universe],
         limit_factors=False,
         data_format=data_format).get('results')
     return [{
         'date': data.get('date'),
         'universe': data.get('assetData').get('universe')
     } for data in results]
Example #13
0
 def get_residual_variance(self,
                           start_date: dt.date,
                           end_date: dt.date = None,
                           assets: DataAssetsRequest = None,
                           data_format: Format = None) -> Dict:
     """ Retrieve residual variance data for existing risk model """
     if not assets:
         assets = DataAssetsRequest(UniverseIdentifier.gsid, [])
     if assets.identifier != UniverseIdentifier.gsid:
         raise ValueError(
             'Cannot query residual variance by identifiers other than gsid'
         )
     results = GsRiskModelApi.get_risk_model_data(
         model_id=self.model.id,
         start_date=start_date,
         end_date=end_date,
         assets=assets,
         measures=[Measure.Residual_Variance, Measure.Asset_Universe],
         limit_factors=False,
         data_format=data_format).get('results')
     return _build_asset_data_map(results, assets, 'residualVariance')