def F10(self, symbol='', name=''): ''' 读取公司信息详情 :param name: 公司 F10 标题 :param symbol: 股票代码 :return: pd.dataFrame or None ''' with self.client.connect(*self.bestip): result = {} market = get_stock_market(symbol, string=False) frequency = self.client.get_company_info_category(int(market), symbol) if name: for x in frequency: if x['name'] == name: return self.client.get_company_info_content( market=market, code=symbol, filename=x['filename'], start=x['start'], length=x['length']) for x in frequency: result[x['name']] = self.client.get_company_info_content( market=market, code=symbol, filename=x['filename'], start=x['start'], length=x['length']) else: pass return result
def find_path(self, symbol=None, subdir='lday', ext=None): ''' 自动匹配文件路径,辅助函数 :param symbol: :param subdir: :param ext: :return: pd.dataFrame or None ''' market = get_stock_market(symbol, True) if len( symbol.split('#')) == 1 else 'ds' prefix = market if len(symbol.split('#')) == 1 else '' ext = ext if isinstance(ext, list) else [ext] for t in ext: vipdoc = 'vipdoc/{}/{}/{}{}.{}'.format(market, subdir, prefix, symbol, t) vipdoc = os.path.join(self.tdxdir, vipdoc) if os.path.exists(vipdoc): return vipdoc else: logger.error('未找到所需的文件: {}'.format(vipdoc)) return None
def finance(self, symbol='000001'): ''' 读取财务信息 :param symbol: :return: ''' with self.client.connect(*self.bestip): market = get_stock_market(symbol) result = self.client.get_finance_info(market=market, code=symbol) return to_data(result)
def company_category(self, symbol=''): ''' 查询公司信息目录 :param market: 市场代码 :param symbol: 股票代码 :return: pd.dataFrame or None ''' market = get_stock_market(symbol) with self.client.connect(*self.bestip): data = self.client.get_company_info_category(int(market), symbol) return self.client.to_df(data)
def xdxr(self, symbol=''): ''' 读取除权除息信息 :param market: 市场代码 :param symbol: 股票代码 :return: pd.dataFrame or None ''' with self.client.connect(*self.bestip): market = get_stock_market(symbol) result = self.client.get_xdxr_info(int(market), symbol) return to_data(result)
def minute(self, symbol=''): ''' 获取实时分时数据 :param market: 证券市场 :param symbol: 股票代码 :return: pd.DataFrame ''' market = get_stock_market(symbol) with self.client.connect(*self.bestip): data = self.client.get_minute_time_data(int(market), symbol) return self.client.to_df(data)
def F10C(self, symbol=''): ''' 查询公司信息目录 :param market: 市场代码 :param symbol: 股票代码 :return: pd.dataFrame or None ''' with self.client.connect(*self.bestip): market = get_stock_market(symbol) result = self.client.get_company_info_category(int(market), symbol) return result
def minute(self, symbol=''): ''' 获取实时分时数据 :param market: 证券市场 :param symbol: 股票代码 :return: pd.DataFrame ''' with self.client.connect(*self.bestip): market = get_stock_market(symbol) result = self.client.get_minute_time_data(market=market, code=symbol) return to_data(result)
def finance(self, symbol=''): ''' 读取财务信息 :param market: 市场代码 :param symbol: 股票代码 :return: pd.dataFrame or None ''' market = get_stock_market(symbol) with self.client.connect(*self.bestip): data = self.client.get_finance_info(int(market), symbol) return self.client.to_df(data)
def minutes(self, symbol='', date='20191023'): ''' 分时历史数据 :param market: :param symbol: :param date: :return: pd.dataFrame or None ''' with self.client.connect(*self.bestip): market = get_stock_market(symbol) result = self.client.get_history_minute_time_data( market=market, code=symbol, date=date) return to_data(result)
def minute_his(self, symbol='', datetime='20161209'): ''' 分时历史数据 :param market: :param symbol: :param datetime: :return: pd.dataFrame or None ''' market = get_stock_market(symbol) with self.client.connect(*self.bestip): data = self.client.get_history_minute_time_data( int(market), symbol, datetime) return self.client.to_df(data)
def transaction(self, symbol='', start=0, offset=10): ''' 查询分笔成交 :param market: 市场代码 :param symbol: 股票代码 :param start: 起始位置 :param offset: 请求数量 :return: pd.dataFrame or None ''' with self.client.connect(*self.bestip): market = get_stock_market(symbol) result = self.client.get_transaction_data(int(market), symbol, int(start), int(market)) return to_data(result)
def index_bars(self, symbol='000001', frequency='9', start='0', offset='100'): ''' 获取指数k线 :param symbol: :param frequency: :param start: :param offset: :return: ''' with self.client.connect(*self.bestip): market = get_stock_market(symbol) result = self.client.get_index_bars( frequency=frequency, market=market, code=symbol, start=start, count=offset) return to_data(result)
def company_content(self, symbol='', file='', start=0, offset=10): ''' 读取公司信息详情 :param market: 市场代码 :param symbol: 股票代码 :param file: 文件名 :param start: 起始位置 :param offset: 数量 :return: pd.dataFrame or None ''' market = get_stock_market(symbol) with self.client.connect(*self.bestip): data = self.client.get_company_info_content( int(market), symbol, file, int(start), int(offset)) return self.client.to_df(data)
def trans_his(self, symbol='', start=0, offset=10, date=''): ''' 查询历史分笔成交 :param market: 市场代码 :param symbol: 股票代码 :param start: 起始位置 :param offset: 数量 :param date: 日期 :return: pd.dataFrame or None ''' market = get_stock_market(symbol) with self.client.connect(*self.bestip): data = self.client.get_history_transaction_data( int(market), symbol, int(start), int(offset), date) return self.client.to_df(data)
def bars(self, symbol='000001', category='9', start='0', offset='100'): ''' 获取实时日K线数据 :param symbol: 股票代码 :param category: 数据类别 :param market: 证券市场 :param start: 开始位置 :param offset: 每次获取条数 :return: pd.dataFrame or None ''' market = get_stock_market(symbol) with self.client.connect(*self.bestip): data = self.client.get_security_bars( int(category), int(market), str(symbol), int(start), int(offset)) return self.client.to_df(data)
def bars(self, symbol='000001', frequency='9', start='0', offset='100'): ''' 获取实时日K线数据 :param symbol: 股票代码 :param frequency: 数据类别 :param market: 证券市场 :param start: 开始位置 :param offset: 每次获取条数 :return: pd.dataFrame or None ''' with self.client.connect(*self.bestip): market = get_stock_market(symbol) result = self.client.get_security_bars( int(frequency), int(market), str(symbol), int(start), int(offset)) return to_data(result)
def transactions(self, symbol='', start=0, offset=10, date='20170209'): ''' 查询历史分笔成交 参数:市场代码, 股票代码,起始位置,日期 数量 如: 0,000001,0,10,20170209 :param symbol: 股票代码 :param start: 起始位置 :param offset: 数量 :param date: 日期 :return: pd.dataFrame or None ''' with self.client.connect(*self.bestip): market = get_stock_market(symbol, string=False) result = self.client.get_history_transaction_data( market=market, code=symbol, start=start, count=offset, date=date) return to_data(result)
def find_path(self, symbol=None, subdir='lday', ext='day'): ''' 寻找文件路径,辅助函数 :param symbol: :param subdir: :param ext: :return: pd.dataFrame or None ''' market = get_stock_market(symbol, True) ext = ext if isinstance(ext, list) else [ext] for t in ext: vipdoc = 'vipdoc/{}/{}/{}{}.{}'.format(market, subdir, market, symbol, t) vipdoc = os.path.join(self.tdxdir, vipdoc) if os.path.exists(vipdoc): return vipdoc return None