コード例 #1
0
ファイル: risk_model.py プロジェクト: mn98/gs-quant
 def get_calendar(self, start_date: dt.date = None, end_date: dt.date = None) -> RiskModelCalendar:
     """ Get risk model calendar for existing risk model between start and end date
         :param start_date: list returned including and after start_date
         :param end_date: list returned up to and including end_date """
     calendar = GsRiskModelApi.get_risk_model_calendar(self.id)
     if not start_date and not end_date:
         return calendar
     start_idx = get_closest_date_index(start_date, calendar.business_dates, 'after') if start_date else 0
     end_idx = get_closest_date_index(end_date, calendar.business_dates, 'before') if end_date else len(
         calendar.business_dates)
     return RiskModelCalendar(calendar.business_dates[start_idx:end_idx + 1])
コード例 #2
0
def test_get_risk_model_calendar(mocker):
    calendar = RiskModelCalendar.from_dict(
        {"businessDates": ["2020-01-01", "2020-11-01"]})

    # mock GsSession
    mocker.patch.object(GsSession.__class__,
                        'default_value',
                        return_value=GsSession.get(Environment.QA, 'client_id',
                                                   'secret'))
    mocker.patch.object(GsSession.current, '_get', return_value=calendar)

    # run test
    response = GsRiskModelApi.get_risk_model_calendar('id')
    GsSession.current._get.assert_called_with(
        '/risk/models/{id}/calendar'.format(id='id'), cls=RiskModelCalendar)
    assert response == calendar
コード例 #3
0
ファイル: risk_model.py プロジェクト: pxlogpx/gs-quant
 def get_calendar(self) -> RiskModelCalendar:
     """ Retrieve risk model calendar for existing risk model """
     return GsRiskModelApi.get_risk_model_calendar(self.model.id)