def main(input, output, datatype): """ 通达信数据文件读取 """ if datatype == 'daily': reader = TdxDailyBarReader() elif datatype == 'ex_daily': reader = TdxExHqDailyBarReader() elif datatype == 'lc': reader = TdxLCMinBarReader() elif datatype == 'gbbq': reader = GbbqReader() elif datatype == 'block': reader = BlockReader() else: reader = TdxMinBarReader() try: df = reader.get_df(input) if (output): click.echo("写入到文件 : " + output) df.to_csv(output) else: print(df) except Exception as e: print(str(e))
def main(input, output, datatype): """ 通达信数据文件读取 """ if datatype == 'daily': reader = TdxDailyBarReader() elif datatype == 'ex_daily': reader = TdxExHqDailyBarReader() elif datatype == 'lc': reader = TdxLCMinBarReader() elif datatype == 'gbbq': reader = GbbqReader() elif datatype == 'block': reader = BlockReader() elif datatype == 'customblock': reader = CustomerBlockReader() elif datatype == 'history_financial' or datatype == 'hf': reader = HistoryFinancialReader() else: reader = TdxMinBarReader() try: df = reader.get_df(input) if output: click.echo("写入到文件 : " + output) df.to_csv(output) else: print(df) except Exception as e: print(str(e))
def xdxr(self): # only for A shares # cache_key = "xdxr" # if cache_key in H["f"]: # return H["f"][cache_key] if not self._xdxr.empty: return self._xdxr file_path = self.tdx_path.parent.joinpath(r'T0002\hq_cache\gbbq') logger.info("Reading xdxr info start.....") xdxr_df = GbbqReader().get_df(file_path).query( 'category==1 or category == 11') xdxr_df.rename(columns={ 'datetime': 'date', 'hongli_panqianliutong': 'fenhong', 'songgu_qianzongguben': 'songzhuangu', 'peigu_houzongguben': 'peigu', 'peigujia_qianzongguben': 'peigujia' }, inplace=True) xdxr_df = xdxr_df.assign(date=xdxr_df['date'].apply( lambda x: pd.to_datetime(x, format='%Y%m%d'))).set_index('date') xdxr_df01 = xdxr_df.query('category==1') xdxr_df11 = xdxr_df.query('category==11') xdxr_df11 = xdxr_df11.assign( songzhuangu=xdxr_df11['songzhuangu'].apply(lambda x: x * 10 - 10)) xdxr_df = pd.concat([xdxr_df01, xdxr_df11]).sort_index() self._xdxr = xdxr_df # H["f"][cache_key] = xdxr_df logger.info("Reading xdxr info end.....") # return H["f"][cache_key] return xdxr_df
def gbbq(self): df = GbbqReader().get_df(GBBQ_PATH).query('category == 1') df['datetime'] = pd.to_datetime(df['datetime'], format='%Y%m%d') return df