Ejemplo n.º 1
0
def test_convert_minute(calendar):
    cal = calendar.schedule.loc[TEST_CALENDAR_START:TEST_CALENDAR_STOP]

    market_opens = cal.market_open
    market_closes = cal.market_close

    market_open_values = market_opens.values.astype('datetime64[m]').astype(
        np.int64)
    market_closes_values = market_closes.values.astype('datetime64[m]').astype(
        np.int64)

    # 测试期间的所有分钟
    all_minutes = calendar.minutes_window(market_opens.iloc[0],
                                          MINUTES_PER_DAY * len(cal))
    # 首先查找分钟对应位置,然后根据位置找回分钟epoch,转换后测试是否一致
    for i in range(len(all_minutes)):
        minute_dt = all_minutes[i]
        pos = find_position_of_minute(
            market_open_values,
            market_closes_values,
            minute_dt.value / NANOS_IN_MINUTE,
            MINUTES_PER_DAY,
            False,
        )
        minute_epoch = minute_value(market_open_values, pos, MINUTES_PER_DAY)
        finded = pd.Timestamp(minute_epoch, tz='UTC', unit="m")
        assert minute_dt == finded
Ejemplo n.º 2
0
    def _pos_to_minute(self, pos):
        minute_epoch = minute_value(
            self._market_open_values,
            pos,
            self._minutes_per_day
        )

        return pd.Timestamp(minute_epoch, tz='UTC', unit="m")
Ejemplo n.º 3
0
    def _pos_to_minute(self, pos):
        minute_epoch = minute_value(
            self._market_open_values,
            pos,
            US_EQUITIES_MINUTES_PER_DAY
        )

        return pd.Timestamp(minute_epoch, tz='UTC', unit="m")
Ejemplo n.º 4
0
    def _pos_to_minute(self, pos):
        minute_epoch = minute_value(
            self._market_open_values,
            pos,
            self._minutes_per_day
        )

        return pd.Timestamp(minute_epoch, tz='UTC', unit="m")
Ejemplo n.º 5
0
    def _pos_to_minute(self, pos):
        minute_epoch = minute_value(
            self._market_open_values,
            pos,
            US_EQUITIES_MINUTES_PER_DAY
        )

        return pd.Timestamp(minute_epoch, tz='UTC', unit="m")
Ejemplo n.º 6
0
def test_minute_value(calendar):
    cal = calendar.schedule.loc[TEST_CALENDAR_START:TEST_CALENDAR_STOP]

    market_opens = cal.market_open
    market_open_values = market_opens.values.astype('datetime64[m]').astype(
        np.int64)

    # 测试期间的所有分钟
    all_minutes = calendar.minutes_window(market_opens.iloc[0],
                                          MINUTES_PER_DAY * len(cal))
    for i, expected in enumerate(all_minutes):
        actual = minute_value(market_open_values, i, MINUTES_PER_DAY)
        actual = pd.Timestamp(actual, unit='m', tz='utc')
        assert actual == expected