Exemple #1
0
    def _find_last_traded_position(self, asset, dt):
        volumes = self._open_minute_file('volume', asset)
        start_date_minute = asset.start_date.value / NANOS_IN_MINUTE
        dt_minute = dt.value / NANOS_IN_MINUTE

        try:
            # if we know of a dt before which this asset has no volume,
            # don't look before that dt
            earliest_dt_to_search = self._known_zero_volume_dict[asset.sid]
        except KeyError:
            earliest_dt_to_search = start_date_minute

        if dt_minute < earliest_dt_to_search:
            return -1

        pos = find_last_traded_position_internal(
            self._market_open_values,
            self._market_close_values,
            dt_minute,
            earliest_dt_to_search,
            volumes,
            self._minutes_per_day,
        )

        if pos == -1:
            # if we didn't find any volume before this dt, save it to avoid
            # work in the future.
            try:
                self._known_zero_volume_dict[asset.sid] = max(
                    dt_minute, self._known_zero_volume_dict[asset.sid])
            except KeyError:
                self._known_zero_volume_dict[asset.sid] = dt_minute

        return pos
Exemple #2
0
    def _find_last_traded_position(self, asset, dt):
        volumes = self._open_minute_file('volume', asset)
        start_date_minutes = asset.start_date.value / NANOS_IN_MINUTE
        dt_minutes = dt.value / NANOS_IN_MINUTE

        if dt_minutes < start_date_minutes:
            return -1

        return find_last_traded_position_internal(self._market_open_values,
                                                  self._market_close_values,
                                                  dt_minutes,
                                                  start_date_minutes, volumes,
                                                  US_EQUITIES_MINUTES_PER_DAY)
Exemple #3
0
    def _find_last_traded_position(self, asset, dt):
        volumes = self._open_minute_file('volume', asset)
        start_date_minutes = asset.start_date.value / NANOS_IN_MINUTE
        dt_minutes = dt.value / NANOS_IN_MINUTE

        if dt_minutes < start_date_minutes:
            return -1

        return find_last_traded_position_internal(
            self._market_open_values,
            self._market_close_values,
            dt_minutes,
            start_date_minutes,
            volumes,
            US_EQUITIES_MINUTES_PER_DAY
        )
Exemple #4
0
    def _find_last_traded_position(self, asset, dt):
        volumes = self._open_minute_file('volume', asset)
        start_date_minute = asset.start_date.value / NANOS_IN_MINUTE
        dt_minute = dt.value / NANOS_IN_MINUTE

        try:
            # if we know of a dt before which this asset has no volume,
            # don't look before that dt
            earliest_dt_to_search = self._known_zero_volume_dict[asset.sid]
        except KeyError:
            earliest_dt_to_search = start_date_minute

        if dt_minute < earliest_dt_to_search:
            return -1

        pos = find_last_traded_position_internal(
            self._market_open_values,
            self._market_close_values,
            dt_minute,
            earliest_dt_to_search,
            volumes,
            self._minutes_per_day,
        )

        if pos == -1:
            # if we didn't find any volume before this dt, save it to avoid
            # work in the future.
            try:
                self._known_zero_volume_dict[asset.sid] = max(
                    dt_minute,
                    self._known_zero_volume_dict[asset.sid]
                )
            except KeyError:
                self._known_zero_volume_dict[asset.sid] = dt_minute

        return pos