Example #1
0
 def update_realtime(self, fakeNow = None):
     if not trading_date_time.isRealtimeDataAvailableChina(fakeNow):
         print("Not requesting realtime data because trade has closed.")
         return
     data = price_data_loader_china.get().get_realtime_quotes(self.code).iloc[0]
     print(data)
     price = float(data["price"])
     time_str = "%s %s" % (data["date"], data["time"])
     for interval in PriceData.INTERVALS:
         self.__update_realtime_at_interval(interval, price, time_str)
Example #2
0
    def get_tencent_hist_data_by_interval(self, interval):
        data = price_data_loader_china.get().get_k_data(code = self.code, ktype = PriceData.INTERVAL_TO_REQUEST_MAP[interval])

        if interval.endswith("min"):
            # Fix date format for minute intervals.
            size = len(data.index)
            for i in range(size):
                data.at[i, "date"] = "%s:00" % data.at[i, "date"]
            # Remove irregular data. Tecent data gives one more minute record for current minute interval when trading!
            i = size - 1
            last_datetime = datetime.datetime.strptime(data.at[i, "date"], TradingDateTime.DATETIME_STRFTIME)
            close_datetime = trading_date_time.closeTimeOfCurrentMinuteIntervalChina(int(interval[:-3]), last_datetime)
            if last_datetime != close_datetime:
                print(last_datetime, close_datetime)
                data.drop(i, inplace = True)
        data = data.set_index("date").sort_index()
        return data
Example #3
0
 def get_ifeng_hist_data_by_interval(self, interval):
     return price_data_loader_china.get().get_hist_data(code = self.code, ktype = PriceData.INTERVAL_TO_REQUEST_MAP[interval])
Example #4
0
 def __load_data_frame_from_csv(self, csv_path):
     if os.path.exists(csv_path):
         return price_data_loader_china.get().read_csv(csv_path, index_col = 0)
     else:
         print("File not found: %s. Will do fresh download instead." % csv_path)
         return None
Example #5
0
 def __save_data_frame_to_csv(self, df, csv_path):
     price_data_loader_china.get().save_csv(df, csv_path)
Example #6
0
 def nowChina(self):
     return price_data_loader_china.get().now()