def bundle(symbol, action, market, output, extension): ''' 批量下载行情数据 :return: ''' client = Quotes.factory(market=market) symbol = symbol.replace(',', ',').strip(',').split(',') for code in symbol: try: if action == 'daily': frequency = 9 elif action == 'minute': frequency = 8 elif action == 'fzline': frequency = 0 else: frequency = 9 feed = getattr(client, 'bars')(symbol=code, frequency=frequency) to_file(feed, os.path.join(output, '{}.{}'.format( code, extension))) if output else None print('下载完成 {}'.format(code)) except Exception as e: raise e print('[√] 下载文件到 "{}"'.format(os.path.realpath(output)))
def getCodeTdx(): client = Quotes.factory(market='std') symbol = client.stocks(market=consts.MARKET_SH) columns = symbol.columns print(type(columns)) print(columns) to_json = symbol.to_json(orient="records", force_ascii=False) return to_json
def quotes(symbol, method, tofile): client = Quotes() feed = getattr(client, method)(symbol=symbol) if tofile: feed.to_csv(tofile) print(feed)
def getPriceTdx(): client = Quotes.factory(market='std') price = client.index(frequency=9, market=MARKET_SH, symbol='000001', start=1, offset=2) to_json = price.to_json(orient="records", force_ascii=False) print(type(to_json)) print(to_json)
def getPriceTdx(): frequency = flask.request.values.get("frequency") symbol = flask.request.values.get("symbol") start = flask.request.values.get("start") offset = flask.request.values.get("offset") client = Quotes.factory(market='std') price = client.index(frequency=frequency, market=MARKET_SH, symbol=symbol, start=start, offset=offset) columns = price.columns print(type(columns)) print(columns) to_json = price.to_json(orient="records", force_ascii=False) return to_json
def getCodeTdx(): client = Quotes.factory(market='std') symbol = client.stocks(market=consts.MARKET_SH) print(type(symbol)) print(symbol) print("================") columns = symbol.columns print(type(columns)) print(columns) print("================") code = symbol["code"] print(type(code)) print(code) print("================") to_json = symbol.to_json(orient="records", force_ascii=False) print(type(to_json)) print(to_json)
def quotes(symbol, action, market, output): client = Quotes.factory(market=market, multithread=True, heartbeat=True) try: action = 'bars' if 'daily' else action if action == 'daily': frequency = 9 elif action == 'minute': frequency = 8 elif action == 'fzline': frequency = 0 else: frequency = 9 feed = getattr(client, 'bars')(symbol=symbol, frequency=frequency) to_file(feed, output) if output else None print(feed) except Exception as e: raise e
def get_data(symbol='510300', start_date=datetime.date(2012, 4, 1), end_date=datetime.date(2020, 4, 3), save=False): # now = start_date df_list = [] client = Quotes.factory(market='std') s_idx = 0 while True: # t = str(now.year)+str(now.month).zfill(2)+str(now.day).zfill(2) df = client.bars(symbol=symbol, start=s_idx, frequency=0, offset=800) if df is None: break df_list.append(df) s_idx += 800 # now = now + datetime.timedelta(1) df_list = pd.concat(df_list) if save: df_list.to_csv(symbol + '.csv', index=None) return df_list
def get_index_k_data(self,symbol, begin, end): """ :param symbol: :param begin: :param end: :return: start = 0 为最新一天数据, offset 为若干条 """ # 确定市场 if symbol.startswith('399'): market = MARKET_SZ else: market = MARKET_SH start, offset = self.good_day(begin,end) client = Quotes.factory(market='std') pulls, remainder = divmod(offset,800) my_data = [] for each in range(pulls): data = client.index(frequency=9, market=market, symbol=symbol, start=start, offset=800) my_data.append(data) start += 800 data = client.index(frequency=9, market=market, symbol=symbol, start=start, offset=remainder) my_data.append(data) my_data.reverse() my_data= pd.concat(my_data) return my_data
def setUp(self): self.client = Quotes.factory(market='ext')
from mootdx.quotes import Quotes # 初始化通达信客户端 client = Quotes(multithread=True, heartbeat=True) bars = client.bars(symbol='600036', category=9, offset=10) index = client.index(symbol='000001', category=9) minute = client.minute(symbol='000001') print(minute, index, bars)
from mootdx.quotes import Quotes client = Quotes.factory(market='std', multithread=True, heartbeat=True) # 标准市场 # client = Quotes.factory(market='ext', multithread=True, heartbeat=True) # 扩展市场 quote = client.bars(symbol='600036', category=9, offset=10) print(quote) quote = client.index(symbol='000001', category=9) print(quote) quote = client.minute(symbol='000001') print(quote)
# -*- coding: utf-8 -*- from mootdx.quotes import Quotes client = Quotes.factory(market='std') # 标准市场 # client = Quotes.factory(market='ext', multithread=True, heartbeat=True) # 扩展市场 quote = client.bars(symbol='600036', frequency=9, offset=10) print(quote) quote = client.index(symbol='000001', frequency=9) print(quote) quote = client.minute(symbol='000001') print(quote)
def quotes(symbol, method, output): client = Quotes() feed = getattr(client, method)(symbol=symbol) feed.to_csv(output) if output else None print(feed)
class TestQuotes(unittest.TestCase): reader = None # 初始化工作 def setUp(self): self.client = Quotes() # 退出清理工作 def tearDown(self): del self.client # 具体的测试用例,一定要以test开头 def test_bars(self): data = self.client.bars(symbol='600036', category=9, offset=10) self.assertTrue(data is not None) def test_index(self): data = self.client.index(symbol='000001', category=9) self.assertTrue(data is not None) def test_minute(self): data = self.client.minute(symbol='000001') self.assertTrue(data is not None) def test_minutes(self): data = self.client.minute_his(symbol='000001', datetime='20171010') self.assertTrue(data is not None) def test_trans(self): data = self.client.trans(symbol='600036', start=0, offset=10) self.assertTrue(data is not None) def test_trans_his(self): data = self.client.trans_his(symbol='600036', start=0, offset=10, date='20171010') self.assertTrue(data is not None) def test_company_category(self): data = self.client.company_category(symbol='600036') self.assertTrue(data is not None) def test_company_content(self): data = self.client.company_content(symbol='600036', file='600036.txt', start=9442, offset=11863) self.assertTrue(data is not None) def test_xdxr(self): data = self.client.xdxr(symbol='600036') self.assertTrue(data is not None) def test_finance(self): data = self.client.finance(symbol='600036') self.assertTrue(data is not None) def test_k(self): data = self.client.k(symbol='600036', start=0, offset=10) self.assertTrue(data is not None) def test_block(self): data = self.client.block() self.assertTrue(data is not None)
def setUp(self): self.client = Quotes()
def setUp(self): self.client = Quotes.factory(market='std') # 标准市场
def setUp(self): self.client = Quotes.factory(market='std', multithread=True, heartbeat=True) # 标准市场