打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【qstock】几行代码实现数据获取、可视化到量化选股实战
userphoto

2022.08.04 湖北

关注
引言

不知不觉,公众号“Python金融量化”已走过四个春夏秋冬,发布了78篇原创文章(也发了很多小广告

),知识星球会员1370+,感谢大家的一路支持!为回馈广大知识星球会员公众号读者,Python金融量化将之前涵盖量化入门、金融数据、量化分析、策略回测的内容进行整合和系统化,打造更便于个人量化投研分析的框架——qstock。qstock目前处于测试阶段,只面向知识星球会员开放,数据源主要来自tushare pro,之后将会不断增加各种免费的数据源api(包括akshare、efinance、baostock等等)以及数据爬虫,等功能完善后再向所有读者进行开源。

qstock致力于打造个人量化投研分析框架,侧重点在于量化分析、可视化、量化选股和策略回测,其中数据获取部分download_data:整合tushare、akshare、efinance统一接口获取数据,将数据规整化和本地数据库操作。目前实现指数和个股分析(技术指标、量价形态、动量排名、资金流、涨停板、龙虎榜、股东、公司基本面),计划添加包括宏观环境分析(GDP、利率、通货膨胀、失业率、流动性)和市场分析(大盘指数、国债指数、企业债指数、中期票据价格、商品期货、美元人民币、美元指数)、、多因子分析、投资组合与套利、机器学习、深度学习模型、策略回测(pandas向量化回测、backtrader)。

01
数据获取

如果tushare pro上有超过5000积分,可以使用qstock的TushareData类获取数据。TushareData类专门用来获取tushare pro上的数据并进行规整处理,需要先设置token,如果需要将数据保存本地数据库(系统自带的sqlite3),还需要设置参数my_path(数据库存放路径),无此名称会自动创建文件夹。

如果tushare pro上没有足够的积分token,则使用其他免费的在线数据包获取数据,如akshare,efinance,baostock等,在qstock上使用online_data进行封装。

导入数据下载模块

获取指数数据

更新数据库

获取数据

一行代码获取指数数据

获取全球主要指数价格数据

获取个股数据(默认前复权数据)

包含了25个特征值

获取全部个股行情面板数据(回测+选股)

北向资金数据

个股资金流数据

02
数据可视化

整合pyecharts1.x版本的常用画图功能,包括K线图、折线、饼图、热力图、地图、词云图等等。

北向资金流向

个股资金流向可视化

03
事件提醒

通过企业微信给个人微信发送提醒信息,该功能在qstock.common.send_wechat中实现,包括后面的量化选股的提醒。

04
量化选股

选股涉及两个方面,一是公司分析,包括财务状况、发展潜力和成长性等,这方面是俗称的基本面分析,可以参考的资料已经汗牛充栋;二是股票分析(包括股价技术形态分析)。 多角度保证在市场大方向上看对的正确率尽可能增加,多层次可以和多角度相互验证,获取超额收益。通过自上而下的分析框架确定投资方向,选择符合投资方向的最优标的。

板块热点

热点板块概念指数

热点板块成分股

涨停板

涨跌停面板数据

获取2017年以来所有涨停板数据(跌停板只需将参数tp设置为'D')

每日连板个股

RPS选股

RPS(欧奈尔中文书是RS),即股票股价走势横截面(与市场其他个股对比)相对强弱,本质是动量策略。一般建议将RPS价格动量结合公司基本面进行选股。

股价相对强度RPS评级:衡量某一股票在过去n日内(如120、250)内相对股市中其他股票的表现(收益率)。市场上的每一只股票都被指定了1-99范围内的某一数值,99代表相对强度最高,RS值为99,说明该股票在收益率表现方面比其他99%的公司更为优秀。寻找真正的领军股,避免上涨滞后和跟风股。欧奈尔建议选择RPS值80或90以上(二八法则),价格形态合适的股票。一旦大盘下跌彻底结束,最先反弹到价格新高的股票基本上就是要寻找的真正领军股。普通股票的突破行为会持续约13周,而最优秀的股票通常在前3周或前4周就突破出来。注意,根据价格形态选股有失败的可能,一旦股价低于买入价的10%,立即卖出止损。

执行选股

MM趋势选股

  • 股票价格高于150天均线和200天均线

  • 150日均线高于200日均线

  • 200日均线上升至少1个月

  • 50日均线高于150日均线和200日均线

  • 股票价格高于50日均线

  • 股票价格比52周低点高30%

  • 股票价格在52周高点的25%以内

  • 相对强弱指数(RS)大于等于70,这里的相对强弱指的是股票与大盘对比,RS = 股票1年收益率 / 基准指数1年收益率 将最后一条去掉,改成结合RPS的相对强弱选股,选择rps_120大于90的个股。

    MM趋势选股池

MM趋势+120日RPS>90

资金流选股

资金流选股池

此处设置时间周期为3、5、10、20、60日,参数可根据市场情况和自身经验不断调整。

MM趋势+RPS+资金流

每日指标选股

财务指标打分系统

各项指标原来和计算见推文:https://mp.weixin.qq.com/s/3QWoNBOLh-cRyB1YPVtCZA

量价形态选股

加入Python金融量化知识星球可获取更多功能介绍和完整源码

参考资料

1、tushare pro、efinance、akshare使用文档

2、https://blog.csdn.net/m0_63171455/article/details/122252272

关于Python金融量化
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
基于qstock的量化复盘与自动盯盘
「qstock开源了」数据篇之行情交易数据
用这个方法买港资重仓股,9个月赚了60﹪!
今天聊聊如何筛选出好股票
翻倍股的综合研判
周记 2019年12月27日
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服