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')
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
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')
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
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)
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
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
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("公司基本分类信息数据出错")
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
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("公司基本分类信息数据出错")
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]
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')
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)
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')
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()
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)
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")
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
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')))
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
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)))
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.')
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
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()
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
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)
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
def get_st(): ''' 函数功能: -------- 获取所有风险警示板的公司,即所有st的股票。 输入参数: -------- 无 输出参数: -------- DataFrame code,代码 name,名称 ''' # Download data st = ts.get_st_classified() # Return Dataframe return st
def st(): return ts.get_st_classified()
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
def Get_st_classified(self): dt = ts.get_st_classified() dt.to_csv('风险警示.csv') print(dt)
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'
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()
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("下载加载暂停上市分类数据出错")
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)
def get_st(): """获取ST股票""" df = ts.get_st_classified() print(df)
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) # 终止上市