def rate_timestamp(self, rate_timestamp):
        """
        Force the rate_timestamp to be a datetime
        :param rate_timestamp:
        :return:
        """
        if rate_timestamp is not None:
            if isinstance(rate_timestamp, (str, type_check)):
                rate_timestamp = parse(rate_timestamp).replace(tzinfo=pytz.utc)
            if type(rate_timestamp) == date:
                rate_timestamp = datetime.combine(rate_timestamp, datetime.min.time()).replace(tzinfo=pytz.utc)
            if not rate_timestamp.tzinfo:
                raise ValueError('Cannot set an FX rate timestamp without a timezone')
            self._rate_timestamp = rate_timestamp