Python量化交易实战:获取股票数据并做分析处理Python教程

量化交易(也称自动化交易)是一种应用数学模型帮助投资者进行判断,并且根据计算机程序发送的指令进行交易的投资方式,它极大地减少了投资者情绪波动的影响。量化交易的主要优势如下:

量化交易的核心是筛选策略,策略也是依靠数学或物理模型来创造,把数学语言变成计算机语言。量化交易的流程是从数据的获取到数据的分析、处理。

因为我们不生产数据,所以只能从外部获取数据。其获取途径是第三方开源库tushare。

使用tushare获取历史股票数据

tushare是一个免费、开源的Python财经数据接口包。其主要实现对股票等金融数据从数据采集、清洗加工到数据存储的过程,能够为金融分析人员提供快速、整洁和多样的便于分析的数据,以减轻他们在数据获取方面的工作量。

安装tushare库,在JupterNotebook下输入以下命令:

重启kernel,然后输入以下命令。

返回值说明如下。

turnover:换手率(注:指数无此项)。

使用tushare获取所有股票即时数据

个股历史交易数据属于延迟数据。面对即时变动的价格数据,我们可以使用更加便捷的当日实时行情,以便在Python量化中快速把握行情,选择出当目符合条件的优秀股票。

下面使用第三方库tushare中的get_today_all()两数获取所有股票的即时数据(如果是节假日,即为上一交易日)。代码如下:

因为先前本书采集的都是规整股票数据,因此本章要介绍的数据预处理就是预先剔除掉不符合条件的股票数据,然后对剩余股票进行优化筛选。本章主要使用的是Pandas库,读者应该着重理解筛选思路。

清洗掉ST股票

ST股票通常表示对财务状况或其他状况出现异常的上市公司股票,对其交易要进行特别处理(SpecialTreatment)。由于“特别处理”,在简称前冠以ST,因此这类股票称为ST股。

哪支股票的名称前加上ST,就是给市场一个警示,该股票存在投资风险,起警告作用,但这种股票风险大,收益也大,如果加上*ST,就表示该股票有退市风险,要警惕的意思,具体就是在2021年4月左右,如果公司向证监会交的财务报表连续了年亏损,就有退市的风险。股票的交易规则也由报价日涨跌幅限制为涨幅5%、跌幅5%。

我们要回避这类“地雷股”(ST股票),因而可以使用如下代码来清洗掉ST股票。

清洗掉没成交量的股票

下面开始清洗没成交量的股票,在原来的基础上增加代码如下:

其运行结果为:

Index出现了调行现象,即为去掉成交量小手15万手的股票。

清洗掉成交额过小的股票

成交额是成交价格与成交数量的乘积,它是指当天已成交股票的金额总数。成交最的至少取决于市场的投资热情。我们每天看大盘,一个重要的指标就是大A股成交量是否超过一万亿元,超过即为成交活跃。

筛选成交额超过1亿元的股票,代码如下:

用户可以对1亿元这个参数进行调参,不过笔者不是特别支持。因为将成交额变大即是对大盘股产生偏重,而前面成交量的筛选也己经对大盘股的成交量进行了偏重筛选,这样双重筛选下来,就会全部变成大盘股,数据偏置严重,没有合理性。预处理的思想也是先将数据进行简单的筛选。笔者认为后期的策略相对于这里的调参更为重要,策略是日后交易的核心。

清洗掉换手率低的股票

换手率=某一段时期内的成交量/流通总股数×100%。一般情况下,大多数股票每日换手率在1%~2.5%之间(不包括初上市的股票)。70%股票的换手率基本在3%以下,3%就成为一种分界。

当一支股票的换手率在3%~7%之间时,该股进入相对活跃状态。当换手率在7%~10%之间时,则为强势股的出现,股价处于高度活跃中。

筛选换手率超过3的股票,代码如下:

换手率商一般意味股票流通性好,进出市场比较容易,不会出现想买买不到、想卖卖不出的现象,具有我较强的变现能力。然而值得注意的是,换手率较高的股票,往往也是短线资金追逐的对象,投机性较强,股价起伏较大,风险也相对较大。

将换手率降序排列并保存数据

换手率是最重要的一个指标,所以将筛选出来的股票换手率进行降序排列并保存,以备日后取证与研究。

将序排列用sort_values()两数,保存用to_csv()函数。这两个函数都很常用,也比较简单。代码如下:

以后,只要运行如下代码,就会将得到的csv_data显示出来:

模块化后,将去掉大量重复代码,重加专注一个功能,也会增强代码的可读性。

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

THE END
1.练习清理和准备数据你需要先了解数据集的内容和结构,然后才能准备数据集。 在上一实验室中,你导入了包含美国一家主要航空公司的准点到达信息的数据集。 该数据包含 26 列和数千行,其中每行代表一个航班,包含航班的出发地、目的地和计划出发时间等信息。 你还将数据加载到 Jupyter Notebook 中,并使用简单的 Python 脚本从中创建 Pahttps://docs.microsoft.com/zh-cn/training/modules/predict-flight-delays-with-python/2-clean-and-prepare-data
2.数据清洗的概念常见问题及实践方法处理缺失值非常重要,因为缺失值会影响数据的分析和决策。因此,正确选择填充或删除策略是很必要的,同时也可以根据具体情况使用不同的统计方法或数据工具进行数据清洗。具体处理方法如下: 1.计算缺失比例 首先,我们可以计算每个字段的缺失值比例,然后根据比例和字段的重要性设置不同的策略。 https://blog.csdn.net/weixin_44958787/article/details/141850204
3.如何利用数据分析来提高客户留存率利用数据分析提高客户留存率的步骤:一、收集数据;二、数据清洗和整合;三、数据分析和建模;四、制定营销策略;五、实施和监测;六、持续优化。数据分析可以帮助企业提高客户留存率,从而降低成本、提高利润并增加口碑。 一、收集数据 企业需要收集客户的行为、交易、反馈等数据,可以通过网站分析工具、社交媒体分析工具、客户https://www.linkflowtech.com/news/1025
4.实践中的数据碎片化治理:策略与实施为了有效治理数据碎片化,可以采取以下策略: 建立统一的数据标准:制定统一的数据标准和规范,确保不同系统、数据库和应用程序之间的数据结构和格式一致。 数据清洗与整合:通过数据清洗和整合,消除重复、不一致和错误的数据,提高数据质量。 采用数据治理工具:利用数据治理工具对数据进行自动化管理,包括数据清洗、数据整合、数https://blog.itpub.net/31547898/viewspace-3009807/
5.大数据毕设基于Hadoop的音乐推荐系统的设计和实现(六)数据清洗模块:将指定的原始数据进行初步的清洗操作,将不需要的数据列清除。 数据上传模块:利用指定的类将数据清洗模块处理后的数据上传至提前运行的HDFS分布式系统的指定目录上。 数据分析模块:将提前写好的数据分析模块代码打包上传至HDFS集群上运行,然后在HDFS分布式系统上指定的目录得到推荐结果。 https://developer.aliyun.com/article/1404874
6.>监控平台>嘲案例>策略&告警相关>如何监控计算平台的数据在以下路径配置告警:导航 → 监控配置 → 策略 → 新建,先配置要告警的指标项: 监控对象:选择其他 添加监控指标,并在数据平台中选择对应的结果表数据和指标项 注意:监控识别指标维度是两种途径: 第一:清洗表设置维度,long 类型会出现在指标列表,其他出现在维度列表 第二:通过数据计算转换成结果表,默认 group byhttps://bk.tencent.com/docs/document/6.0/134/6175
7.如何进行数据清洗和预处理?数据清洗和预处理是数据分析和机器学习任务中不可或缺的步骤。通过适当的处理,可以提高数据的质量和可用性,并为后续分析和建模奠定基础。在进行数据清洗和预处理时,需要理解数据、制定处理策略、保留备份和总结经验等,才能取得更好的效果。 CDA数据分析师考试相关入口一览(建议收藏): https://www.cda.cn/bigdata/202679.html
8.数据清洗规则引擎数据清洗华为云帮助中心为你分享云计算行业信息,包含产品介绍、用户指南、开发指南、最佳实践和常见问题等文档,方便快速查找定位问题与能力成长,并提供相关资料和解决方案。本页面关键词:数据清洗规则引擎。https://support.huaweicloud.com/topic/1434468-1-S
9.数据资产企业内部数据价值如何挖掘?焦点这个表格展示了CRM系统中可能包含的客户数据类型。实际的CRM系统可能会包含更多的字段,如客户的生日、性别、职业、家庭状况等,以及更详细的购买记录和互动历史。这些数据可以帮助企业更好地理解客户需求,提供个性化的服务和营销策略。如果上述数据信息错误,重复或者与分析无关的就需要对数据进行清洗,确保数据的质量和准确性http://www.databanker.cn/info/354128