最近股市可谓是冰火两重天,赛道股一路高歌,激流勇进,传统大白马却跌跌不休,淹没了不少韭菜。



热门赛道不断切换,小匠也是看得眼花缭乱,大A四千多家上市公司,很多之前听都没听过的股票,乘着赛道这股东风连续几个涨停板,着实让人眼红,才发现大A各个板块原来隐藏着这么多优秀公司。小匠在想,为何没能及时发现此等价值股票持续关注。于是想到能否将自己的选股策略与计算机进行结合,通过机器来自动化选股,也即是今天要记录的内容:Python量化投资:自动化选股策略。



量化投资已经发展了几十年了,在国际和国内的投资机构广泛应用,它是借助计算机强大的信息处理能力,结合数学模型代替人为主观判断,在控制风险的前提下实现选股最优化和收益最大化。


选股涉及两个方面的问题:一是公司的基本面分析,包括财务状况,成长性和发展潜力等,二是股票分析,比如当前公司估值,股价处在历史的百分位,市盈率,市净率等指标。


整体思路:通过Python工具,使用jqdatasdk包获取股票基本面数据和交易数据,设置各项指标阈值,达到优质股票的筛选。由于代码较多影响阅读效果,文中不再显示具体代码,感兴趣的朋友欢迎关注数据小匠(ID:dataxiaojiang),后台回复“Python选股”免费获取。


数据获取

获取股票列表:


输出:


获取各股基本面数据,查询个股财务指标


输出结果:


获取最近一个交易日的交易数据


输出:


合并基本面数据和股价数据,并清洗:


输出:


选择股票组合

根据以上信息,设置各指标参数进行股票筛选,在这里根据自己的选股策略自由调整,可不断调整参数,达到满足自己的选股要求。


选股是一个不断剔除股票,留下自己“中意”股票的过程。不同的人,不同的投资预期,会有不同的投资策略,针对上述基本面和交易数据设置参数和过滤值,使用Python编程一步步的剔除了大部分股票。


需要注意的是,由于这里用到的基本面数据用的是2021年二季度,交易数据是2021年截止到某日的,而企业的经营数据是动态的,市场行情瞬息万变,因而对股票的筛选也应该是一个动态的过程,这里给出的只是一个静态的选股思路,并且只选取了部分参考指标进行过滤,所选股票并也不构成投资建议,切记!


根据以上阈值可以得到以下股票池。再次重申:每个人有不同的视角,不同的选股策略,本文只是选取了部分指标进行参数过滤,并没有考虑到宏观因素、板块、行业等因素,因此这里只作为一个选股思路的参考,并不构成投资建议。



结语

此次项目利用Python编程批量获取了上市公司的基本面和交易数据,通过设置各指标阈值达到筛选股票的目的,可初步作为自动化选股的一种思路,进一步体会到了Python的伟大。决定后期通过业余时间开发一款选股应用,寓学于乐。如嵌入自己的个人网站或开发一款选股小程序。