def 下载板块数据(self):
     # 获取不同分类数据
     ts.get_industry_classified().to_csv('./股票数据/基本信息/行业分类.csv')
     ts.get_concept_classified().to_csv('./股票数据/基本信息/概念分类.csv')
     ts.get_area_classified().to_csv('./股票数据/基本信息/地域分类.csv')
     ts.get_sme_classified().to_csv('./股票数据/基本信息/中小板.csv')
     ts.get_gem_classified().to_csv('./股票数据/基本信息/创业板.csv')
     ts.get_st_classified().to_csv('./股票数据/基本信息/风险警示板.csv')
     ts.get_hs300s().to_csv('./股票数据/基本信息/沪深300.csv')
     ts.get_sz50s().to_csv('./股票数据/基本信息/上证50.csv')
     ts.get_zz500s().to_csv('./股票数据/基本信息/中证500.csv')
Пример #2
0
def exportSt_classified(fromDate, toDate, code):
    df = ts.get_st_classified()
    engine = create_engine(sql_str)
    # 存入数据库
    df.to_sql('st_classified', engine, if_exists='append')
    Log.logger.info("st_classified数据导入完成。")
    return True
Пример #3
0
def classification(class_types):
    if class_types == 'industry':
        industry_classified = ts.get_industry_classified()
        industry_classified.to_csv('D:\\ts\\classification\\industry_classified.csv', encoding='gbk')
    elif class_types == 'concept':
        concept_classified = ts.get_concept_classified()
        concept_classified.to_csv('D:\\ts\\classification\\concept_classified.csv', encoding='gbk')
    elif class_types == 'area':
        area_classified = ts.get_area_classified()
        area_classified.to_csv('D:\\ts\\classification\\area_classified.csv', encoding='gbk')
    elif class_types == 'sme':
        sme_classified = ts.get_sme_classified()
        sme_classified.to_csv('D:\\ts\\classification\\sme_classified.csv', encoding='gbk')
    elif class_types == 'gem':
        gem_classified = ts.get_gem_classified()
        gem_classified.to_csv('D:\\ts\\classification\\gem_classified.csv', encoding='gbk')
    elif class_types == 'st':
        st_classified = ts.get_st_classified()
        st_classified.to_csv('D:\\ts\\classification\\st_classified.csv', encoding='gbk')
    elif class_types == 'hs300':
        hs300s = ts.get_hs300s()
        hs300s.to_csv('D:\\ts\\classification\\hs300s.csv', encoding='gbk')
    elif class_types == 'sz50':
        sz50s = ts.get_sz50s()
        sz50s.to_csv('D:\\ts\\classification\\sz50s.csv', encoding='gbk')
    elif class_types == 'zz500':
        zz500s = ts.get_zz500s()
        zz500s.to_csv('D:\\ts\\classification\\zz500s.csv', encoding='gbk')
    elif class_types == 'terminated':
        terminated = ts.get_terminated()
        terminated.to_csv('D:\\ts\\classification\\terminated.csv', encoding='gbk')
    elif class_types == 'suspended':
        suspended = ts.get_suspended()
        suspended.to_csv('D:\\ts\\classification\\suspended.csv', encoding='gbk')
Пример #4
0
def load_tushare_df(df_type):
    file = 'ts.' + df_type + '.dat'
    try:
        obj = pickle.load(open(file, "rb"))
    except:
        #print("---load in the fly",df_type)
        if df_type == "basic":
            obj = ts.get_stock_basics()
        elif df_type == "sme":
            obj = ts.get_sme_classified()
        elif df_type == "gem":
            obj = ts.get_gem_classified()
        elif df_type == "industry":
            #print(ts, pickle)
            obj = ts.get_industry_classified(
            )  #该函数不全,只有2800多个,实际股票有3326,所以换个方法取 get_stock_basics
        elif df_type == "st":
            obj = ts.get_st_classified()
        else:
            raise Exception("Error TSshare Type!!!")
        pickle.dump(obj, open(file, "wb", 0))
    else:
        #print("***Read from file %s" % df_type)
        pass
    return obj
Пример #5
0
 def core_function(self, func):
     self.set_data()
     mongo = MongoClient("127.0.0.1", 27017)
     if (func == "industry_classified"):
         df = ts.get_industry_classified()
     elif (func == "concept_classified"):
         df = ts.get_concept_classified()
     elif (func == "area_classified"):
         df = ts.get_area_classified()
     elif (func == "gem_classified"):
         df = ts.get_gem_classified()
     elif (func == "sme_classified"):
         df = ts.get_sme_classified()
     elif (func == "st_classified"):
         df = ts.get_st_classified()
     elif (func == "hs300s"):
         df = ts.get_hs300s()
     elif (func == "sz50s"):
         df = ts.get_sz50s()
     elif (func == "zz500s"):
         df = ts.get_zz500s()
         print(df)
     elif (func == "terminated"):
         df = ts.get_terminated()
     else:
         df = {}
     insert_string = df.to_json(orient='records')
     items = json.loads(insert_string)
     coll = mongo.classify[func]
     coll.insert(items)
Пример #6
0
def get_st_classified():
    try:
        logger.info('get st data starting...')
        df = ts.get_st_classified()
        logger.info('get st data end...')
    except:
        logger.exception('some errors between get st data end...')
    return df
Пример #7
0
def get_st_classified():
    try:
        df = ts.get_st_classified();
        engine = create_engine('mysql://*****:*****@127.0.0.1/stock?charset=utf8')
        # df.insert(0,'code','600848')
        df.to_sql('st_classified', engine, if_exists='append')
    except Exception, e:
        e.message
Пример #8
0
def load_data():
        #下载公司基本信息,包括股票代码、pe、市盈率等数据
    try:
        rs=ts.get_st_classified()
        pd.DataFrame.to_sql(rs, table_name, con=conn , flavor='mysql', if_exists='replace',index=True)
    except Exception as e:
        print(e.message)
        print("公司基本分类信息数据出错")
Пример #9
0
def get_st(f):
    # 获取风险警示板的股票列表
    if f.get(conf.HDF5_BASIC_ST) is not None:
        del f[conf.HDF5_BASIC_ST]
    df = ts.get_st_classified()
    df = df.drop("name", axis=1)
    tool.create_df_dataset(f, conf.HDF5_BASIC_ST, df)
    return
Пример #10
0
def load_data():
        #下载公司基本信息,包括股票代码、pe、市盈率等数据
    try:
        rs=ts.get_st_classified()
        pd.DataFrame.to_sql(rs, name=table_name, con=con , schema=db, if_exists='replace',index=True)
    except Exception as e:
        print(e)
        print("公司基本分类信息数据出错")
Пример #11
0
def get_excluded_stocks():
    suspended_stocks = combine_code_from_files('./suspended/')
    terminated_stocks = combine_code_from_files('./terminated/')
    st_stocks_df = ts.get_st_classified()
    st_stocks = list(st_stocks_df.code.values)
    new_stocks = get_new_stocks()
    unprofitable_stocks = get_unprofitable_stock('pe_ratio.csv')
    all_excluded = set(suspended_stocks + terminated_stocks + st_stocks +
                       new_stocks + unprofitable_stocks)
    return [str(i) for i in all_excluded]
Пример #12
0
 def get_st_classified(self):
     """
     是否属于警示板分类
     """
     st = ts.get_st_classified()
     
     st['stName'] = 1
     st = st[['code','stName']]
     st.columns = ['code','stName']
     self.data = pd.merge(self.data,st,on=['code'],how='outer')
Пример #13
0
def get_universe(symbol):
    '''
    获取**当前**全A、指定板块、指数、ST的成分股代码。
    
    Parameters
    -----------
        symbol 获取类型
    Returns
    ----------
        list [ticker,...]
    Notes
    ---------
    'A' 
        全A股
    'st' 
        st股票
    'hs300' 
        沪深300成分股
    'cyb' 
        创业板成分股
    'sz50' 
        上证50成分股
    'A-st' 
        剔除st股票后的全A股
    
    '''
    if symbol == 'A':
        return ts.get_stock_basics().index.values.tolist()
    if symbol == 'st':
        return ts.get_st_classified()['code'].values.tolist()
    if symbol == 'hs300':
        return ts.get_hs300s()['code'].values.tolist()
    if symbol == 'cyb':
        return ts.get_gem_classified()['code'].values.tolist()
    if symbol == 'sz50':
        return ts.get_sz50s()['code'].values.tolist()
    if symbol == 'A-st':
        A = set(ts.get_stock_basics().index.values.tolist())
        ST = set(ts.get_st_classified()['code'].values.tolist())
        for st in ST:
            A.discard(st)        
        return list(A)
Пример #14
0
def getStClassified():
    '''
    风险警示板分类
    获取风险警示板股票数据,即查找所有st股票
    参数说明:
    file_path:文件路径,默认为None即由TuShare提供,可以设定自己的股票文件路径。
    返回值说明:
    code:股票代码
    name:股票名称
    '''
    return ts.get_st_classified()
def updateIncrm(quant_engine, spider_engine):

    # get target latest date
    sql_statement = 'select max(`%s`) from `%s`' % (targetTimeStamp,
                                                    targetTableName)
    target_max_timestamp = pd.read_sql(sql_statement,
                                       quant_engine)  # quant schema
    target_max_timestamp = target_max_timestamp.iloc[0, 0]

    # fetch data from source
    tmp_fields = list(map(lambda x: '`%s`' % x, sourceFields))
    tmp_fields = ','.join(tmp_fields)
    sql_statement = "select %s from `%s` where (`%s` > '%s') and (%s != 'null')" % (
        tmp_fields, sourceTableName, sourceTimeStamp, target_max_timestamp,
        sourceTimeStamp)
    incrm_data = pd.read_sql(sql_statement, spider_engine)  # spider schema

    if incrm_data.empty:
        return

    # rename columns
    incrm_data = renameDF(incrm_data, sourceFields, targetFields)

    # drop duplicates
    incrm_data = incrm_data.drop_duplicates(['date', 'code'])

    if incrm_data.empty:
        return

    # start to download data
    for tmp_col in targetFieldsNew:
        incrm_data.loc[:, tmp_col] = 0  # initialized

    # st flag
    tmp_stocks = ts.get_st_classified()
    incrm_data.loc[incrm_data['code'].isin(tmp_stocks['code']), 'ST_FLAG'] = 1

    # CSI500 flag
    tmp_stocks = ts.get_zz500s()
    incrm_data.loc[incrm_data['code'].isin(tmp_stocks['code']),
                   'CSI500_FLAG'] = 1

    # HS300 flag
    tmp_stocks = ts.get_hs300s()
    incrm_data.loc[incrm_data['code'].isin(tmp_stocks['code']),
                   'HS300_FLAG'] = 1

    # add time stamp & write data to target
    if not incrm_data.empty:
        incrm_data[targetNewTimeStamp] = datetime.now()  # add time stamp
        incrm_data.to_sql(targetTableName,
                          quant_engine,
                          index=False,
                          if_exists='append')
Пример #16
0
def updaterisk():
    riskdatalist=ts.get_st_classified()
    riskdata=pd.DataFrame(riskdatalist)
    conn= ms.connect(host='localhost',port = 3306,user='******', passwd='123456',db ='investment',charset="utf8")
    cur = conn.cursor()
    values=[]
    for index,row in riskdata.iterrows():
        values.append((row['code'],row['name']))
    cur.executemany('insert into risk (code,name) values(%s,%s)',values)
    conn.commit()
    cur.close()
    conn.close()
Пример #17
0
def getstockclassifieddata():
    mylogger = getmylogger()
    print("start")
    scdict = {
        'industry': '行业分类',
        'concept': '概念分类',
        'area': '地域分类',
        'sme': '中小板分类',
        'gem': '创业板分类',
        'st': '风险警示板分类',
        'hs300s': '沪深300成份及权重',
        'sz50s': '上证50成份股',
        'zz500s': '中证500成份股',
        'terminated': '终止上市股票列表',
        'suspended': '暂停上市股票列表'
    }

    for sc in scdict:
        sctbname = sc
        scinfo = scdict[sctbname]
        try:
            if sc == "industry":
                df = ts.get_industry_classified()
            elif sc == "concept":
                df = ts.get_concept_classified()
            elif sc == "area":
                df = ts.get_area_classified()
            elif sc == "sme":
                df = ts.get_sme_classified()
            elif sc == "gem":
                df = ts.get_gem_classified()
            elif sc == "st":
                df = ts.get_st_classified()
            elif sc == "hs300s":
                df = ts.get_hs300s()
            elif sc == "zz500s":
                df = ts.get_zz500s()
            elif sc == "sz50s":
                df = ts.get_sz50s()
            elif sc == "terminated":
                df = ts.get_terminated()
            elif sc == "suspended":
                df = ts.get_suspended()
            else:
                mylogger.info("没有执行命令。")
            if df is not None:
                tosql(df, sctbname, "replace", scinfo, mylogger)
            else:
                mylogger.info("没有%s数据。" % scinfo)
        except Exception:
            tracelog = traceback.format_exc()
            mylogger.info("获取数据异常。")
            mylogger.info(tracelog)
Пример #18
0
def st_classified(request):
    try:
        data = ts.get_st_classified()

        res = {'columns':[
            '股票代码',
            '股票名称',
        ],'data':json.loads(json.dumps(data.values,cls=DateEncoder))}
    except(KeyError):
        return HttpResponse(KeyError)
    else:
        return HttpResponse(json.dumps(res),content_type="application/json")
Пример #19
0
def MBRG():
    """
    无 --> result 符合条件的股票集合
    
    算法:排除ST股票以及主营业务收入增长低于40%的股票
    """

    b2.log('获取主营业务收入增长数据..........')
    print('获取主营业务收入增长数据..........')
    #print(readydata('growth')[0])
    if readydata('growth') == 0:
        #季报数据不一定及时,因此采用试错办法
        class FoundException(Exception):
            pass

        try:
            for year in (2016, ):
                for season in (4, 3, 2, 1):
                    try:
                        ds = ts.get_growth_data(year, season)
                    except:
                        print('ERROR: ts.get_growth_data(%d,%d)' %
                              (year, season))
                    else:
                        try:
                            ds.to_sql('growth', engine, if_exists='replace')
                            engine.execute(
                                '''insert into tb_stamp values ('growth',curdate())'''
                            )
                        except:
                            print('ERROR: ds.to_sql(%d,%d)' % (year, season))
                            continue
                        else:
                            raise FoundException()
        except FoundException:
            pass

    b2.log('获取风险警示板股票数据..........')
    if not readydata('stcode'):
        ds = ts.get_st_classified()
        ds.to_sql('stcode', engine, if_exists='replace')
        engine.execute('''insert into tb_stamp values ('stcode',curdate())''')

    #删除ST股票,删除主营业务收入增长低于40%的股票
    #result=engine.execute('select distinct code from growth where mbrg>0 and code not in (select code from stcode)')
    result = engine.execute(
        'select distinct code from growth where  code not in (select code from stcode)'
    )

    #测试测试
    #result=engine.execute('select distinct code from growth where code=002723')

    return result
Пример #20
0
 def storagepool(self):
     #storage zz500
     df=ts.get_zz500s()
     self.pool['zz500'].insert_many(json.loads(df.to_json(orient='records')))
     #hs300
     df=ts.get_hs300s()
     self.pool['hz300'].insert_many(json.loads(df.to_json(orient='records')))
     #zh50
     df=ts.get_sz50s()
     self.pool['sz'].insert_many(json.loads(df.to_json(orient='records')))
     #st
     df=ts.get_st_classified()
     self.pool['st'].insert_many(json.loads(df.to_json(orient='records')))
Пример #21
0
 def list(self, stock_block_type):
     stock_block = None
     if stock_block_type == self.industry:
         stock_block = db.get(STOCK_BLOCK_INDUSTRY)
         if stock_block is None:
             stock_block = ts.get_industry_classified()
             db.save(STOCK_BLOCK_INDUSTRY, stock_block)
     elif stock_block_type == self.concept:
         stock_block = db.get(STOCK_BLOCK_CONCEPT)
         if stock_block is None:
             stock_block = ts.get_concept_classified()
             db.save(STOCK_BLOCK_CONCEPT, stock_block)
     elif stock_block_type == self.area:
         stock_block = db.get(STOCK_BLOCK_AREA)
         if stock_block is None:
             stock_block = ts.get_area_classified()
             db.save(STOCK_BLOCK_AREA, stock_block)
     elif stock_block_type == self.sme:
         stock_block = db.get(STOCK_BLOCK_SME)
         if stock_block is None:
             stock_block = ts.get_sme_classified()
             db.save(STOCK_BLOCK_SME, stock_block)
     elif stock_block_type == self.gem:
         stock_block = db.get(STOCK_BLOCK_GEM)
         if stock_block is None:
             stock_block = ts.get_gem_classified()
             db.save(STOCK_BLOCK_GEM, stock_block)
     elif stock_block_type == self.st:
         stock_block = db.get(STOCK_BLOCK_ST)
         if stock_block is None:
             stock_block = ts.get_st_classified()
             db.save(STOCK_BLOCK_ST, stock_block)
     elif stock_block_type == self.hs300s:
         stock_block = db.get(STOCK_BLOCK_HS300S)
         if stock_block is None:
             stock_block = ts.get_hs300s()
             db.save(STOCK_BLOCK_HS300S, stock_block)
     elif stock_block_type == self.sz50s:
         stock_block = db.get(STOCK_BLOCK_SZ50S)
         if stock_block is None:
             stock_block = ts.get_sz50s()
             db.save(STOCK_BLOCK_SZ50S, stock_block)
     elif stock_block_type == self.zz500s:
         stock_block = db.get(STOCK_BLOCK_ZZ500S)
         if stock_block is None:
             stock_block = ts.get_zz500s()
             db.save(STOCK_BLOCK_ZZ500S, stock_block)
     else:
         return None
     return stock_block
Пример #22
0
def update_st(request):
    '''更新st板块'''
    stock_st.objects.all().delete()

    rltobj = ts.get_st_classified()
    objlist = []
    for i in range(len(rltobj)):
        tmpobj = stock_st(code=rltobj.loc[i]['code'],
                          name=rltobj.loc[i]['name'])
        objlist.append(tmpobj)

    stock_st.objects.bulk_create(objlist)

    return HttpResponse('succ.{0}条!'.format(len(objlist)))
Пример #23
0
def save_st_classified():
    """获取风险警示板股票数据,即查找所有st股票"""
    logger.info('Begin get and save st clssified.')
    try:
        data_df = ts.get_st_classified()
        if data_df is not None and not data_df.empty:
            data = data_df.values
            data_dicts = [{'code': row[0], 'name': row[1]} for row in data]
            StClassified.insert_many(data_dicts).execute()
            logger.info('Success get and save st classified.')
        else:
            logger.warn('Empty get and save st classified.')
    except Exception as e:
        logger.exception('Error get and save st classified.')
Пример #24
0
 def download_ST_classified(self):
     """
     """
     #print('downloading the ST_classified info...')
     ST_classified = ts.get_st_classified()
     if ST_classified is not None:
         filename = 'ST_classified'
         ST_classified.to_excel(self.working_folder + filename + '.xlsx',
                                encoding='GBK')
     else:
         warning_code = pd.DataFrame({
             'return code': ['for all stocks'],
             'description': ['ST_classified download failed']
         })
         self.warning_list = self.warning_list.append(warning_code)
     return
def get_stock_codes(markets=['zz500s'], ipo_date=None):
    '''
    markets: list
    e.g.['sme','gem','st','hs300s','sz50s','zz500s','general'];
    ipo_date: str
    e.g.'2015-03-30'
    '''
    code_list = []
    if 'sme' in markets:  #中小板
        df = ts.get_sme_classified()
        codes = list(df.code)
        code_list.extend(codes)
    if 'gem' in markets:  #创业板
        df = ts.get_gem_classified()
        codes = list(df.code)
        code_list.extend(codes)
    if 'st' in markets:  #风险板
        df = ts.get_st_classified()
        codes = list(df.code)
        code_list.extend(codes)
    if 'hs300s' in markets:  #沪深300
        df = ts.get_hs300s()
        codes = list(df.code)
        code_list.extend(codes)
    if 'sz50s' in markets:  #上证50
        df = ts.get_sz50s()
        codes = list(df.code)
        code_list.extend(codes)
    if 'zz500s' in markets:  #中证500
        df = ts.get_zz500s()
        codes = list(df.code)
        code_list.extend(codes)

    if ipo_date:
        new_stock_df = ts.new_stocks()
        new_stock_df = new_stock_df[new_stock_df['ipo_date'] > ipo_date]
        new_stock_codes = list(new_stock_df.code)
        #得到输入时间之后发行的股票

        code_list = list(set(code_list))
        desired_codes = list(set(code_list) - set(new_stock_codes))
    #剔除新股

    desired_codes = list(set(code_list))

    return desired_codes
Пример #26
0
def updaterisk():
    riskdatalist = ts.get_st_classified()
    riskdata = pd.DataFrame(riskdatalist)
    conn = ms.connect(host='localhost',
                      port=3306,
                      user='******',
                      passwd='123456',
                      db='investment',
                      charset="utf8")
    cur = conn.cursor()
    values = []
    for index, row in riskdata.iterrows():
        values.append((row['code'], row['name']))
    cur.executemany('insert into risk (code,name) values(%s,%s)', values)
    conn.commit()
    cur.close()
    conn.close()
Пример #27
0
def MBRG():
    """
    无 --> result 符合条件的股票集合
    
    算法:排除ST股票以及主营业务收入增长低于40%的股票
    """    
    
    b2.log('获取主营业务收入增长数据..........')
    print('获取主营业务收入增长数据..........')
    #print(readydata('growth')[0])
    if readydata('growth')==0:
    #季报数据不一定及时,因此采用试错办法
        class FoundException(Exception): pass       
        try:
            for year in (2016,):
                for season in (4,3,2,1):
                    try:
                        ds=ts.get_growth_data(year,season)
                    except:
                        print('ERROR: ts.get_growth_data(%d,%d)'%(year,season))
                    else:
                        try:
                            ds.to_sql('growth',engine,if_exists='replace')
                            engine.execute('''insert into tb_stamp values ('growth',curdate())''')
                        except:
                            print('ERROR: ds.to_sql(%d,%d)'%(year,season))
                            continue
                        else:
                            raise FoundException()
        except FoundException:    pass   
    
    b2.log('获取风险警示板股票数据..........')
    if not readydata('stcode'):
        ds=ts.get_st_classified()
        ds.to_sql('stcode',engine,if_exists='replace')
        engine.execute('''insert into tb_stamp values ('stcode',curdate())''')
    
    #删除ST股票,删除主营业务收入增长低于40%的股票
    #result=engine.execute('select distinct code from growth where mbrg>0 and code not in (select code from stcode)')
    result=engine.execute('select distinct code from growth where  code not in (select code from stcode)')
    
    #测试测试
    #result=engine.execute('select distinct code from growth where code=002723')

    return result
Пример #28
0
 def preload():
     stock_block = ts.get_industry_classified()
     db.save(STOCK_BLOCK_INDUSTRY, stock_block)
     stock_block = ts.get_concept_classified()
     db.save(STOCK_BLOCK_CONCEPT, stock_block)
     stock_block = ts.get_area_classified()
     db.save(STOCK_BLOCK_AREA, stock_block)
     stock_block = ts.get_sme_classified()
     db.save(STOCK_BLOCK_SME, stock_block)
     stock_block = ts.get_gem_classified()
     db.save(STOCK_BLOCK_GEM, stock_block)
     stock_block = ts.get_st_classified()
     db.save(STOCK_BLOCK_ST, stock_block)
     stock_block = ts.get_hs300s()
     db.save(STOCK_BLOCK_HS300S, stock_block)
     stock_block = ts.get_sz50s()
     db.save(STOCK_BLOCK_SZ50S, stock_block)
     stock_block = ts.get_zz500s()
     db.save(STOCK_BLOCK_ZZ500S, stock_block)
Пример #29
0
def getStockClassfied():
    filepath = 'f:\\stockdata\\股票分类数据\\'
    index = 0
    # 行业分类
    df = ts.get_industry_classified()
    saveCsv(df, filepath, stockClassList, index)
    index += 1

    # 概念分类
    df = ts.get_concept_classified()
    saveCsv(df, filepath, stockClassList, index)
    index += 1

    # 地域分类
    df = ts.get_area_classified()
    saveCsv(df, filepath, stockClassList, index)
    index += 1
    # 中小板分类
    df = ts.get_sme_classified()
    saveCsv(df, filepath, stockClassList, index)
    index += 1
    # 创业板分类
    df = ts.get_gem_classified()
    saveCsv(df, filepath, stockClassList, index)
    index += 1
    # 风险警示板分类
    df = ts.get_st_classified()
    saveCsv(df, filepath, stockClassList, index)
    index += 1
    # 沪深300成份及权重
    df = ts.get_hs300s()
    saveCsv(df, filepath, stockClassList, index)
    index += 1
    # 上证50成份股
    df = ts.get_sz50s()
    saveCsv(df, filepath, stockClassList, index)
    index += 1
    # 中证500成份股
    df = ts.get_zz500s()
    saveCsv(df, filepath, stockClassList, index)
    index += 1
Пример #30
0
def get_st():
    '''
    函数功能:
    --------
    获取所有风险警示板的公司,即所有st的股票。

    输入参数:
    --------
    无

    输出参数:
    --------
    DataFrame
        code,代码
        name,名称
    '''
    # Download data
    st = ts.get_st_classified()

    # Return Dataframe
    return st
Пример #31
0
def st():
    return ts.get_st_classified()
Пример #32
0
 def setStClassified(self, isSave=False, tableName=CLASSIFIED_ST):
     df = ts.get_st_classified()
     if isSave is True:
         df.to_sql(tableName, self.engine_sql, if_exists='append')
     return df
Пример #33
0
 def Get_st_classified(self):
     dt = ts.get_st_classified()
     dt.to_csv('风险警示.csv')
     print(dt)
Пример #34
0
def get_st_info(file_path):
    st_info = ts.get_st_classified()
    st_info.to_csv(file_path, encoding='utf-8')
    print '\ndownload st info finished\n'
Пример #35
0
Created on 2015年6月4日

@author: Administrator
'''
import tushare as ts
# 行业分类
ts.get_industry_classified()

# 概念分类
ts.get_concept_classified()

# 地域分类
ts.get_area_classified()

# 获取沪深300当前成份股及所占权重
ts.get_hs300s()

# 获取中小板股票数据,即查找所有002开头的股票
ts.get_sme_classified()

# 获取创业板股票数据,即查找所有300开头的股票
ts.get_gem_classified()

# 获取风险警示板股票数据,即查找所有st股票
ts.get_st_classified()

# 获取上证50成份股
ts.get_sz50s()

# 获取中证500成份股
ts.get_zz500s()
Пример #36
0
def load_company_industry_info(): 
    #下载加载行业分类数据
    try:
        rs=ts.get_industry_classified()
        sql.write_frame(rs, "company_industry_classified", con=conn_company_classified , flavor='mysql', if_exists='replace',index=True)
        print("下载公司行业分类信息ok")
    except:
        print("下载公司行业分类信息出错")
    #下载加载概念分类数据
    try:
        rs=ts.get_concept_classified()
        sql.write_frame(rs, "company_concept_classified", con=conn_company_classified , flavor='mysql', if_exists='replace',index=True)
        print("载公司概念分类信息ok")
    except:
        print("下载公司概念分类信息出错")
    #下载加载地域分类数据
    try:
        rs=ts.get_area_classified()
        sql.write_frame(rs, "company_area_classified", con=conn_company_classified , flavor='mysql', if_exists='replace',index=True)
        print("下载公司区域分类信息ok")
    except:
        print("下载公司区域分类信息出错")
    #下载加载中小板分类数据
    try:
        rs=ts.get_sme_classified()
        sql.write_frame(rs, "company_sme_classified", con=conn_company_classified , flavor='mysql', if_exists='replace',index=True)
        print("下载中小板分类数据ok")
    except:
        print("下载中小板分类数据出错")
    #下载加载创业板分类数据
    try:
        rs=ts.get_gem_classified()
        sql.write_frame(rs, "company_gem_classified", con=conn_company_classified , flavor='mysql', if_exists='replace',index=True)
        print("下载创业板分类数据ok")
    except:
        print("下载创业板分类数据出错")
    #下载加载st板分类数据
    try:
        rs=ts.get_st_classified()
        sql.write_frame(rs, "company_st_classified", con=conn_company_classified , flavor='mysql', if_exists='replace',index=True)
        print("下载st板分类数据ok")
    except:
        print("下载st板分类数据出错")
    #下载加载沪深300板分类数据
    try:
        rs=ts.get_hs300s()
        sql.write_frame(rs, "company_hs300_classified", con=conn_company_classified , flavor='mysql', if_exists='replace',index=True)
        print("下载加载沪深300板分类数据ok")
    except:
        print("下载加载沪深300板分类数据出错")
    #下载加载上证50板分类数据
    try:
        rs=ts.get_sz50s()
        sql.write_frame(rs, "company_sz50_classified", con=conn_company_classified , flavor='mysql', if_exists='replace',index=True)
        print("下载加载上证50板分类数据ok")
    except:
        print("下载加载上证50板分类数据出错")
    #下载加载中证500板分类数据
    try:
        rs=ts.get_zz500s()
        sql.write_frame(rs, "company_zz500_classified", con=conn_company_classified , flavor='mysql', if_exists='replace',index=True)
        print("下载加载中证500板分类数据ok")
    except:
        print("下载加载中证500板分类数据出错")
    #下载加载终止上市分类数据
    try:
        rs=ts.get_terminated()
        sql.write_frame(rs, "company_terminated_classified", con=conn_company_classified , flavor='mysql', if_exists='replace',index=True)
        print("下载加载终止上市分类数据ok")
    except:
        print("下载加载终止上市分类数据出错")
    #下载加载暂停上市分类数据
    try:
        rs=ts.get_suspended()
        sql.write_frame(rs, "company_suspended_classified", con=conn_company_classified , flavor='mysql', if_exists='replace',index=True)
        print("下载加载暂停上市分类数据ok")
    except:
        print("下载加载暂停上市分类数据出错")
Пример #37
0
def get_st_info(file_path):
    st_info = ts.get_st_classified()
    st_info.to_csv(file_path, encoding='utf-8')
    print '\ndownload st info finished\n'
Пример #38
0
 def getSTClass(self):
     file_name = 'st_class.csv'
     path = self.index + self.index_st_class + file_name
     data = ts.get_st_classified()
     data.to_csv(path, encoding='utf-8')
     print(file_name)
Пример #39
0
def get_st():
    """获取ST股票"""
    df = ts.get_st_classified()
    print(df)
Пример #40
0
time.sleep(1)
# 地域分类
areas = ts.get_area_classified()
areas.columns = ('code', 'name', 'area')

time.sleep(1)
# 中小板块
smalls = ts.get_sme_classified() 

time.sleep(1)
# 创业版
news = ts.get_gem_classified()

time.sleep(1)
# st版块
sts = ts.get_st_classified()

time.sleep(1)
# 沪深300
hss = ts.get_hs300s()

time.sleep(1)
# 上证50
szs = ts.get_sz50s()

time.sleep(1)
# 中证500
zzs = ts.get_zz500s()

time.sleep(1)
# 终止上市