美文网首页
获取最新股票代码列表

获取最新股票代码列表

作者: GeorgeV | 来源:发表于2018-04-26 19:30 被阅读0次

    在tushare中,任何数据处理的前提都是获取最新的股票代码列表,有两种方式可以获得:

    方法一

    使用ts.get_today_all()
    返回结果如下:

    ,code,name,changepercent,trade,open,high,low,settlement,volume,turnoverratio,amount,per,pb,mktcap,nmc
    0,
    603999,读者传媒,-4.711,7.08,7.4,7.43,7.03,7.43,4208328.0,1.82653,30356269.0,54.046,2.4130000000000003,407808.0,163123.2
    1,
    603998,方盛制药,0.0,9.43,0.0,0.0,0.0,9.43,0.0,0.0,0.0,58.938,4.066,406373.09121,400960.50696
    2,
    

    改方法的缺点是获取数据的速度比较慢,实测大约10-15秒左右,根据用户的网络情况而定。

    方法二

    使用ts.get_stock_basics()
    耗时约1-2秒
    返回结果如下:

    code,name,industry,area,pe,outstanding,totals,totalAssets,liquidAssets,fixedAssets,reserved,reservedPerShare,esp,bvps,pb,timeToMarket,undp,perundp,rev,profit,gpr,npr,holders
    
    603348,N文灿,汽车配件,广东,31.12,0.55,2.2,233744.7,80512.95,108315.56,47590.95,2.16,0.706,6.82,3.22,20180426,46519.78,2.11,27.98,0.39,26.63,9.97,51255.0
    
    300216,千山药机,医疗保健,湖南,56.22,2.61,3.61,449811.91,224934.97,49833.87,22273.2,0.62,0.12300000000000001,3.36,2.74,20110511,55952.16,1.55,61.48,135.27,49.98,6.51,25120.0
    
    

    结论

    1.两种方法对于系统的开销不同,视使用场景和需获取的数据类型决定使用何种方法。
    2.两种方法均只能获取传统型的股票代码,比如600、000、300等开头的代码,不支持510、1599开头的ETF基金
    3.对于ETF,我一般将经常需要处理的代码汇总成list,直接导入系统查询,列表如下:['512880','510050','510180','510230','510300','510500','510880','510900','159901','159902','159915','159919','159920','159934','159937','159938','159949','159952']

    特别提示:一个小坑

    在list导入时,python会将代码认定为int类型,所以在查询诸如000555的代码时,会变成ts.get_k_data(555),从而会报错,因此list处理时,需要补0。此处需要使用int型数据补零方法

    #int型数据补零方法
    i = "%06d" % i
    #文本型数据补零方法
    i=i.zfill(6)
    

    运行代码

    def load_today_all():
        '''
        [加载当日实时数据]######
        从硬盘中获取当日交易的数据,数据由update_today_all提供更新
        【行情不含基金和ETF】
        读取目录在/data/today_all.csv
        '''
        allcode=[]
        #载入代码
        df=pd.read_csv('~/environment/TuShare/data/today_all.csv')
        #筛选代码
        df.set_index(['code'], inplace = True) 
        for i in df.index:
            i = "%06d" % i
            #i=i.zfill(6)
            allcode.append(i)
            print(i)
        return allcode
    

    相关文章

      网友评论

          本文标题:获取最新股票代码列表

          本文链接:https://www.haomeiwen.com/subject/abbmlftx.html