python数据分析-均线选股策略实践

山有扶苏,隰有荷华。

1 前言

在前文中已经讲述了Java爬虫-股票k线分析实践,在本文中将继续以此为基础分享另一种选股策略-均线选股策略。均线策略是一种慢周期的选股策略,可以剔除那些短期被操作的股票标的。可以选择长期趋势向上的股票择优投资,从概率上提高投资的成功率。

2 选股策略

均线选股策略,就是以股票的 K 线为基础,计算移动平均线,通常以 MA20 即月移动平均线为基准。MA20 可以代表股票的长期趋势,如果股票的价格在月内大部分的时间都在 MA20 之上,而且最近的交易量是逐渐放大的,那么就可以选择加入跟踪标的中。以上是根据定性分析,具体到选股策略上如下所示:

erlang 复制代码
1 最近的 20个交易日中,有 80% 的收盘价高于当日的 MA20 价格即可。
2 当日交易量 > 近3日交易日均量 > 近5日交易日均量 > 近20日交易日均量,则交易量逐渐放大。
3 当日收盘价 > 近5日收盘均价 > 近20日收盘均价, 可以说明价格正在逐步的爬坡。

以上是制定的选股策略,接下来将使用 python 脚本来实现以上的逻辑。

3 代码实践

首先我们需要寻找到所有的股票代码,这个股票代码已经在前文中有所介绍,这里就不再赘述,只是使用其股票代码。

在开始业务之前,需要打印业务的开始时间和结束时间,当业务执行完成之后,需要将选中的代码输出到文件中用于查看。这里使用了文件的读和写知识点,在读写文件时,需要使用默认的字符集 utf8, 防止中文乱码的情况出现。

在处理业务前,需要根据股票代码查询其 K 线数据,这里使用的是东方财富的k线数据,将获取到的数据组装成 pandas 格式,方便后续的数据处理。

在这里处理数据时只获取需要计算的数据,日期,收盘价,均线和交易量数据。然后根据时间倒序排列,首先需要计算的是最近 1/3/5/20 天的平均交易量,以及最近 1/5/20 天的日均收盘价。最后需要判断最近 20 日收盘价高于其 MA20 均线。

最终,我们的选择标准就是 80% 的收盘价高于其均线价格,并且 1/3/5/20的平均交易量逐渐放大,1/5/20 的日均收盘价逐渐抬升。

4 结果分析

根据以上的代码,可以获取到最终的运行结果,如下图所示: 可以看到在如今缅A下行的时间点,还是有一些股票是可以选择的,根据这个策略选择的代码是可以提高投资的成功率,通过筛选出来的数据,可以分析其关联关系,也可以通过筛选出来的代码多寡判断当前大盘的行情好坏,根据其数量趋势,可以分析其行情走势的方向。

5 总结

在本文中,介绍了如何使用 python 语言建立均线策略选股,通过 MA20 的月线趋势结合交易量和交易均价来选择股票,通过以上的方式可以从众多的股票中获取趋势走好的股票,从这种股票池中选择代码,可以获取更高的成功率。以上的策略选出的代码,可以分析出其中的关联,找出其共同的特点以及所处的板块。相关代码已经上传至 github, 欢迎大家 star, 项目地址 fund_python

相关推荐
魔道不误砍柴功44 分钟前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
pianmian11 小时前
python数据结构基础(7)
数据结构·算法
_.Switch1 小时前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
测开小菜鸟2 小时前
使用python向钉钉群聊发送消息
java·python·钉钉
好奇龙猫3 小时前
【学习AI-相关路程-mnist手写数字分类-win-硬件:windows-自我学习AI-实验步骤-全连接神经网络(BPnetwork)-操作流程(3) 】
人工智能·算法
sp_fyf_20243 小时前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01
人工智能·深度学习·神经网络·算法·机器学习·语言模型·数据挖掘
萧鼎4 小时前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
学地理的小胖砸4 小时前
【一些关于Python的信息和帮助】
开发语言·python
疯一样的码农4 小时前
Python 继承、多态、封装、抽象
开发语言·python
香菜大丸4 小时前
链表的归并排序
数据结构·算法·链表