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.深度学习数据清洗的目的mob649e81673fa5的技术博客深度学习的成功依赖于高质量的数据。在深度学习之前,数据清洗是一个至关重要的步骤。本文将详细介绍数据清洗的目的,流程及实现步骤,帮助初学者更好地理解这一过程。 数据清洗目的 数据清洗的主要目的是去除噪声和不一致的数据,确保输入到深度学习模型中的数据是准确和高效的。具体包括: https://blog.51cto.com/u_16175512/12697067
2.数据分析中的数据清洗方法策略数据清洗策略csdn数据分析中的数据清洗方法策略 由于原始数据中或多或少存在一些缺失、损坏的脏数据。如果不处理会导致模型失效。就好比一个水平很高的厨师,给到的原材料如果不卫生不干净,那也很难做出一道让人满意的菜品。因此在整合数据建立模型之前, 应先评估数据的质量,对数据进行清洗。https://blog.csdn.net/qq_22201881/article/details/142056502
3.部署数据治理解决方案MicrosoftLearn使用Microsoft Purview 数据生命周期管理(以前为 Microsoft 信息治理)保留所需内容并删除不需要的内容。展开表 步骤说明更多信息 1 了解Microsoft 365 服务保留和删除工作原理。 了解如何使用保留策略和保留标签后,确定需要保留策略的工作负荷,以及是否需要为异常创建保留标签。 了解保留策略和保留标签 2 创建保留策略,https://docs.microsoft.com/microsoft-365/compliance/data-governance-solution
4.数据清洗范例6篇因此,如何制定和执行安全、高效的数据清洗策略,实现对图书馆大数据资源的检测、校验、修正、整合与分解,及时发现并纠正大数据中存在的错误、缺失、异常和可疑数据,确保图书馆大数据资源结构完整、正确和无重复,是关系图书馆大数据应用与决策安全、科学、高效、经济和可控的重要问题。https://www.baywatch.cn/haowen/155864.html
5.一文看懂风控模型所有(应该)银行信息5)样本设计和抽取策略 6)数据清洗 7)特征衍生 8)特征变量筛选 9)模型变量分箱 10)模型拟合 11)模型评估常用指标 12)模型预测概率校准 13)模型违约概率误差校准 五.评分模型如何应用于决策 六.技术的升华之路 01 风控模型概要 在社会数据厚度和纬度不断增加的当下,大数据与金融服务的跨界结合越加紧密,互联网技术http://www.sinotf.com/GB/SME/Bankinfo/2020-05-07/2OMDAwMDM0MzE2OA.html
6.大数据分析对企业营销有哪些帮助二、优化营销策略; 三、提升用户体验。近年来,随着互联网的发展和数字化时代的到来,大数据分析已经成为企业发展和竞争的重要手段。 一、提高营销效率 传统的营销方法往往是基于经验和直觉,缺乏科学的依据。而大数据分析可以对海量的数据进行采集、整理、分析和挖掘,从而为企业提供科学的数据支持,更好地理解目标客户,决https://www.linkflowtech.com/news/2697
7.历史数据内容清洗解决方案用户存量数据清洗内容过滤引擎无法快速清洗 针对需要在指定时间节点集中处理的海量历史数据,无法在预期时间达到全量快速清洗目标 缺乏布控经验 政策解读不系统,对策略布控经验不足,无法精准从海量数据中清洗出问题数据,达不到内容过滤目的 没有定期回溯过滤 内容安全意识相对薄弱,对存量历史数据没有定期过滤,内容安全风险似隐形炸弹,随时可能爆发 方案https://m.dun.163.com/solution/history-data
8.如何进行数据清洗和预处理?数据清洗和预处理是数据分析和机器学习任务中不可或缺的步骤。通过适当的处理,可以提高数据的质量和可用性,并为后续分析和建模奠定基础。在进行数据清洗和预处理时,需要理解数据、制定处理策略、保留备份和总结经验等,才能取得更好的效果。 CDA数据分析师考试相关入口一览(建议收藏): https://www.cda.cn/bigdata/202679.html
9.数据清洗的方法包括哪些?数据清洗常见六大问题及处理方法!处理缺失值非常重要,因为缺失值会影响数据的分析和决策。因此,正确选择填充或删除策略是很必要的,同时也可以根据具体情况使用不同的统计方法或数据工具进行数据清洗。具体处理方法如下: 1.计算缺失比例 首先,我们可以计算每个字段的缺失值比例,然后根据比例和字段的重要性设置不同的策略。 https://www.fanruan.com/bw/sjqxcjldwt
10.如何对数据进行清洗以下是对数据进行清洗的一般步骤和方法: 数据探索与评估: 在开始清洗之前,先对数据进行初步的探索,了解数据的整体情况,包括数据的类型、范围、缺失值、异常值等。 缺失值处理: 识别数据中的缺失值,并根据情况采取不同的处理策略,如删除含有缺失值的记录、使用均值、中位数或众数填充缺失值,或使用更复杂的预测模型来https://www.ai-indeed.com/encyclopedia/9102.html
11.Stata数据处理:清洗CFPS数据库我们再在 Result_data 中新建 4 个文件夹: Dofiles 、 Logfiles 、 Temp_data 和 Working_data ,存放数据清洗的 do 文档、 log 文档、产生的过程数据和最终的结果数据。这么复杂的起手式是为了帮助我们在后续清洗过程中理清自己的思路,不至于手忙脚乱,这在处理繁复的数据中尤为重要。https://www.lianxh.cn/news/2916ae8363459.html