① 以中小版指数的成分股为股票池
② 交易热度:通过均幅指标值从大到小降序排列选出前33只
③ 整体趋势:使用SMA(5)是否大于SMA(10)删选股票
④ 通过MACD的快线大于慢线且快线低于0删选股票

import tushare as ts
import pandas as pd
import datetime
from dateutil.relativedelta import relativedelta
import talib as tbtoday = datetime.datetime.today().strftime('%Y%m%d')    #获取今天的年月日
lastday = datetime.datetime.today() - datetime.timedelta(days=1)  #获取前一天数据
lastday = lastday.strftime('%Y%m%d')
last_year = datetime.datetime.today() - relativedelta(months=12)   #获取前一年的日期
last_year = last_year.strftime('%Y%m%d')   # 转换成STR
Lastweek = datetime.datetime.today() - datetime.timedelta(days=7)   #获取前一周的日期
Lastweek = Lastweek.strftime('%Y%m%d')    # 转换成STR
last_mon = datetime.datetime.today() - relativedelta(months=1)   #获取前一月的日期
last_mon = last_mon.strftime('%Y%m%d')   # 转换成STR
ts.set_token('you token')
pro=ts.pro_api()df = pro.index_weight(index_code = '399005.SZ', start_date = last_year, end_date = today)zxb_list = df.con_code.values
print(len(zxb_list))ATR_Value = []# 获取ATR的值
for stock in zxb_list:df1 = pro.daily(ts_code=stock, start_date=last_mon, end_date= today)df1 = df1.set_index('trade_date')   # 将最近的日期放到最后df1 = df1.sort_index(ascending = False)   # 将最近的日期放到最后ATRs = tb.ATR(df1.high.values,df1.low.values,df1.close.values, timeperiod=14)ATR = ATRs[-1]ATR_Value.append(ATR)
df['ATR_Value'] = ATR_Value
df2 = df.sort_values(by = 'ATR_Value',ascending = False).head(33)df2 = df2.reset_index()
df2 = df2.drop(columns = ['index'])
df1_list = df2.con_code.values# 检测5日均线与10日均线的大小关系
label = []
for t in df1_list:df3 = pro.daily(ts_code= t , start_date=last_year, end_date= today)df3 = df3.set_index('trade_date')df3 = df3.sort_index(ascending = True)SMA5 = tb.SMA(df3[['close'][0]], timeperiod=5)SMA10 = tb.SMA(df3[['close'][0]], timeperiod=10)if SMA5[-1] > SMA10[-1]:label.append(1)else :label.append(0)
df2['label'] = labeldf4 = df2.loc[df2['label'] == 1]  #只获取标签为1的股票
df4 = df4.reset_index()
df4_list = df4.con_code.values# 根据MACD指标信号筛选股票
buy_list = []
for s in df4_list:df5 = pro.daily(ts_code = s , start_date=last_year, end_date= today)  #获取平安银行一年的行情数据df5 = df5.set_index('trade_date')df5 = df5.sort_index(ascending = True)# 参数设置为12 26 9dif, dea, bar = tb.MACD(df5.close.values, fastperiod=12, slowperiod=26, signalperiod=9)if dif[-1] < 0 and dif[-1] > dea[-1]:buy_list.append(s)else:Continueprint(buy_list )

tushare +talib 三指标筛选股票相关推荐

  1. python 股票指标库talib_Python进阶量化交易专栏场外篇19-建立基于TA-Lib的指标库

    欢迎大家订阅<教你用 Python 进阶量化交易>专栏!为了能够提供给大家更轻松的学习过程,笔者在专栏内容之外已陆续推出一些手记来辅助同学们学习本专栏内容,目前推出的扩展篇链接如下: 为了 ...

  2. 如何找财报好的股票_如何看上市公司的财务报表及如何透过财务指标筛选优质股票知识讲解...

    如何看上市公司的财务报表及如何透过财务指标筛选优质股票 股市中的"天时"为基本分析,主要分析国家的宏观经济政策和行业发展前景. "地利"乃是技术分析, 它指导投 ...

  3. 选股器用计算机测试利润,ROE+市盈率选股 上周使用计算公式:总得分=营业净利润率+资产负债率+市盈率,来筛选股票。 因为笔者不会计算机编程,在计算历年平均值的时候... - 雪球...

    来源:雪球App,作者: 小叮当当当,(https://xueqiu.com/6206539641/116662823) 上周使用计算公式:总得分=营业净利润率+资产负债率+市盈率,来筛选股票. 因为 ...

  4. Tushare批量获取各城市股票日度行情数据

    Tushare批量获取各股票行情数据 tushare接口基本设置 1.tushare注册 2.软件准备 3.调用数据库 批量获取股票收盘价 ID:447607 tushare为广大金融分析人员提供了一 ...

  5. 评分卡模型开发(四)--定量指标筛选

    模型开发的前三步主要讲的是数据处理的方法,从第四步开始我们将逐步讲述模型开发的方法.在进行模型开发时,并非我们收集的每个指标都会用作模型开发,而是需要从收集的所有指标中筛选出对违约状态影响最大的指标, ...

  6. python筛选股票_GitHub - sundroid/stock_pick: 这时一个通过设定选股条件来帮我们筛选股票的python程序...

    stock_pick 这是一个通过设定选股条件来帮我们筛选股票的python程序,每个py文件里面都有详细的注释 最近炒股是买什么就跌,一直是亏损,作为学过python的人来讲怎么能容忍,之前也炒过股 ...

  7. python筛选股票_GitHub - mykazey/stock_pick: 这时一个通过设定选股条件来帮我们筛选股票的python程序...

    stock_pick 这是一个通过设定选股条件来帮我们筛选股票的python程序,每个py文件里面都有详细的注释 最近炒股是买什么就跌,一直是亏损,作为学过python的人来讲怎么能容忍,之前也炒过股 ...

  8. python程序化选股_GitHub - cat-steel/stock_pick: 这时一个通过设定选股条件来帮我们筛选股票的python程序...

    stock_pick 这是一个通过设定选股条件来帮我们筛选股票的python程序,每个py文件里面都有详细的注释 最近炒股是买什么就跌,一直是亏损,作为学过python的人来讲怎么能容忍,之前也炒过股 ...

  9. 评分卡模型开发-定量指标筛选

    模型开发的前三步主要讲的是数据处理的方法,从第四步开始我们将逐步讲述模型开发的方法.在进行模型开发时,并非我们收集的每个指标都会用作模型开发,而是需要从收集的所有指标中筛选出对违约状态影响最大的指标, ...

最新文章

  1. Reactor/Proactor的比较 (ZZ)
  2. BZOJ1084 SCOI2005最大子矩阵
  3. 深度 | 容器规模化落地企业的最佳途径
  4. java 集合框架快速预览
  5. Import Changes from Direct3D 11 to Direct3D 12
  6. tableau 集动作_在Tableau中通过添加操作,控制集并高亮显示数据
  7. ASP.NET命名空间参考手册—C#编程篇
  8. 宽带网速如何测试软件,怎么测网速(教你精准测速的方法)
  9. 服务器上显示公式,Markdown中实时显示数学公式的方法
  10. html中绑定点击事件的三种方法
  11. [jruby] warbler 配置问题说明
  12. wap建站程序源码_织梦程序搭建网站实例教程,想尝试搭建网站的朋友赶紧保存了...
  13. 字节跳动 文林福_AI实力赋能,让汽车营销玩出抖音范
  14. iqoo9pro和vivox80哪个值得买
  15. Mysql数据库知识点归纳汇总
  16. Linux驱动编程 step-by-step
  17. [论文解析] Diffusion Models Beat GANs on Image Synthesis
  18. 系统学习------IPtables包过滤防火墙
  19. Neo4j【有与无】【N0】前言
  20. Python筛选列表中指定的值,返回新列表

热门文章

  1. Redis相关命令及使用场景介绍
  2. 盲源分离算法学习笔记
  3. bootmgr添加引导linux,总结一下bootmgr的引导模式(引导dos,nt5,nt6,grub4dos等)
  4. vue项目中Des的加密解密
  5. PM1200手持无线电综合测试仪的功能与特点
  6. 转!!CMPP 网关错误码说明
  7. 骨干是折腾出来的 读书笔记8
  8. 动易sf生成html,Powereasy siteweaver 6.8转换为dedecms5.7的方法
  9. 国赛ezpop题目复现(tp6)
  10. 习题4-3 UVA220黑白棋(WA)