Ejemplo n.º 1
0
 def get_trading_dates(self, start, end):
     start = max(start, 20050101)
     start = get_str_date_from_int(start)
     end = get_str_date_from_int(end)
     dates = self.rqdatac.get_trading_dates(start, end)
     trading_dates = [get_int_date(date) for date in dates]
     return trading_dates
Ejemplo n.º 2
0
    def get_price(self, order_book_id, start, end, freq):
        start = get_str_date_from_int(start)
        end = get_str_date_from_int(end)

        df = self.rqdatac.get_price(order_book_id,
                                    start_date=start,
                                    end_date=end,
                                    frequency=freq)
        suspended_df = self.rqdatac.is_suspended(order_book_id,
                                                 start_date=start,
                                                 end_date=end)

        if suspended_df is None:
            raise FormulaException("missing data {}".format(order_book_id))

        df["suspended"] = suspended_df[order_book_id]
        df = df[df["suspended"] == False]

        df = df.reset_index()
        df["datetime"] = df["index"].apply(RQDataBackend.convert_dt_to_int)
        del df["index"]

        arr = df.to_records()

        return arr