互联网时代,金融行业的海量的数据不再依靠人工来分析,统计,越来越多的数据处理工作被大数据,AI,机器学习取代,出现了量化交易、程序化交易、量化投资。散户面对海量的数据,掌握的信息往往是沧海一粟,难以在数据的海洋中快速发现机会。
本文介绍利用Python和免费的Tushare金融大数据对A股股票的信息进行筛选,快速准确地找到符合自己理想的股票。
1. Tushare简介
Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工 到数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据。
使用前提
- 安装Python(建议使用Anaconda集成python开发环境)
- 安装pandas
pip install panda
- 安装tushare
pip install tushare
- 注册tushare社区用户(https://tushare.pro/register?reg=416966)
- 获取tushare token(具体操作请参考tushare社区说明,或留言)
调用tushare数据
- 导入tushare 并设置token
import tushare as ts
ts.set_token('your token here') #token的获取方法参考tushare社区说明,或留言
pro = ts.pro_api()
或者
import tushare as ts
pro = ts.pro_api('your token')
- 数据调取
df = pro.trade_cal(exchange='', start_date='20180901', end_date='20181001', fields='exchange,cal_date,is_open,pretrade_date', is_open='0')
调取结果
股票筛选
- 示例1(筛选当前股价是今年最高点70%以下的股票)
#查询结果存储list
securityNeeded=[]
#查询当前所有正常上市交易的股票列表
data = pro.query('stock_basic', exchange='', list_status='L', fields='ts_code,symbol,name,area,industry')
#遍历所有股票,将符合条件的存入SecurityNeeded
i=1
for code in data['ts_code']:
print('{0}/{1}\t{2}:'.format(i,len(data),code),end='')
i+=1
df=ts.pro_bar(ts_code=code,adj='qfq',start_date='20210101',end_date='20210630',limit=10)
if (df.loc[0,'close']/df['pre_close'].max())<0.7:
print('符合要求')
securityNeeded.append(code)
else:
print('不符合要求')
print(securityNeeded)
- 示例2(筛选近10个交易日内,涨幅超过20%的股票)
#查询结果存储list
securityNeeded=[]
#查询当前所有正常上市交易的股票列表
data = pro.query('stock_basic', exchange='', list_status='L', fields='ts_code,symbol,name,area,industry')
#遍历所有股票,将符合条件的存入SecurityNeeded
i=1
for code in data['ts_code']:
print('{0}/{1}\t{2}:'.format(i,len(data),code),end='')
i+=1
df=ts.pro_bar(ts_code=code,adj='qfq',start_date='20210101',end_date='20210630',limit=10)
if df.loc[0,'close']/df.loc[9,'pre_close'].max()>1.2:
print('符合要求')
securityNeeded.append(code)
else:
print('不符合要求')
print(securityNeeded)
同学们还可以加入更多的条件,对股票数据进行多方位筛选。
筛选数据仅对股票投资形成参考,不能作为股票的交易依据。股市有风险,投资需谨慎。
如果你对金融量化或Python感兴趣,请关注我,持续带给您更多工具与信息。