Esempio n. 1
0
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)))
Esempio n. 2
0
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
Esempio n. 3
0
def quotes(symbol, method, tofile):
    client = Quotes()
    feed = getattr(client, method)(symbol=symbol)

    if tofile:
        feed.to_csv(tofile)

    print(feed)
Esempio n. 4
0
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)
Esempio n. 5
0
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
Esempio n. 6
0
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
Esempio n. 8
0
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
Esempio n. 9
0
    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
Esempio n. 10
0
 def setUp(self):
     self.client = Quotes.factory(market='ext')
Esempio n. 11
0
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)
Esempio n. 12
0
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)
Esempio n. 13
0
# -*- 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)
Esempio n. 14
0
def quotes(symbol, method, output):
    client = Quotes()
    feed = getattr(client, method)(symbol=symbol)
    feed.to_csv(output) if output else None

    print(feed)
Esempio n. 15
0
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)
Esempio n. 16
0
 def setUp(self):
     self.client = Quotes()
Esempio n. 17
0
 def setUp(self):
     self.client = Quotes.factory(market='std')  # 标准市场
Esempio n. 18
0
 def setUp(self):
     self.client = Quotes.factory(market='std', multithread=True, heartbeat=True) # 标准市场