锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

从实例学Kettle(一):获取股票行情数据

时间:2023-08-20 16:37:02 ktr自动复位电阻尺ktr微型自恢复直线位移传感器

你买股票吗?Kettle吗?

前两个问题,任何回答是,都值得一读。如果两者都感兴趣,那么这篇文章就值得一尝。最好花时间分析获得的数据,以赚更多的钱。

一、背景概述

如果你买股票,你肯定会对股价感兴趣,那就是真金白银!如果你喜欢一家上市公司,过去每个开盘日的股价是多少?有什么规则可以遵循?值得买入的价格是多少?卖出的价格是多少?每个投资者都必须考虑这一系列问题。你可能学过K线图、各种计算公式,甚至概率统计。但所有分析的前提是有数据。

如果学习Kettle,最好有一些实际的战斗案例供参考,以便快速学习。我们可以尝试根据问题的背景来思考自己的解决方案。如果你遇到障碍,你可以看看案例是如何跨越的;如果你能自己做,你也可以比较案例,找到自己的优缺点,以提高内部力量。

二、问题思路

现在具体化问题。

输入:股票代码和名称列表格式CSV如下图所示。

图1:股票代码数据

输出:每个开盘日获得开盘价、收盘价、最高价、最低价,格式为CSV,如下图所示。

图2:股价数据

解决问题的思路:

1.明确数据源。有许多网站可以提供股价数据。本文专注于技术研究,尽量不涉及特定的三方公司,尊重数据所有权。总之,首先要找到数据源URL。这对于购买股票的人来说,应该不难。

2.梳理提取方法。有了地址,可以通过HTTP协议获取数据。然而,网站数据往往混合着大量的干扰信息。我们需要考虑我们真正需要的数据在哪里?形式是什么?规则是什么?然后使用字符串和正则表达式JSON Path、XPath处理文本的技术,提取目标数据。

3.输出文件数据。根据指定的格式和类型,将提取的数据输出到符合命名规范的文件中。

4、批量处理。前三步解决了某一支股票的数据获取问题,但我们感兴趣的股票显然不止一支,而是来自于文件(如图1)的一个系列。这个文件,我们可以按需删减,系统能够自动将文件中的每一支股票数据下载。所以还需要一个批量处理的技术,即将清单文件中的股票信息提取,并逐一执行数据萃取过程。

三、实例要点

1、总管作业(kd-sample001-j1.kjb)

股票列表的数据提取只需每天执行一次总管作业。如图3所示。其中,转换T1(kd-sample001-t1.ktr)提取股票清单,批量执行T提供数据;转换T2(kd-sample001-t2.ktr)每只股票的数据提取负责,参数来自T1的执行结果需要检查Options标签页执行每个输入行和命名参数标签页将上一步结果复制到命名参数。

图3:总管作业

2.股票清单转换(kd-sample001-t1.ktr)

将股票清单数据提取并复制到后续操作中的其他节点。主要配置如图4所示。

图4:股票清单转换

3.股价数据转换(kd-sample002-t1.ktr)

提取股价数据主要需要三个环节。一是环境准备,包括根据当前日期获取变量、构建目标文件名称、判断文件是否存在;二是提取cookie,目标网站不允许直接访问数据提取地址,需要先访问主页,获取cookie,并将其带入后续的访问步骤;三是访问数据地址,获取数据,分析导出。

图5:股价数据转换

以下是详细列出的主要步骤。

环境准备部分的主要步骤如图6所示。E获取环境变量,gpdm代表股票代码,fn代表输出文件在当前路径下的最终存储位置;C1使用公式计算和格式化当前日期,添加文件名称,以区分不同日期获得的数据;O1用于判断文件是否存在,避免重复下载。

图6:环境准备部分配置细节

cookie获取部分的主要步骤如图7所示。E第一次访问主页,并将响应头字段设置为httpheader;E3从响应头httpheader的JSON中、分析得到cookie部分;C6/C7/C8使用字符串替换获得的方法cookie格式化。

图7:cookie获取部分配置细节

数据分析部分的主要步骤如图8所示。E5采用HTTP协议获取结构化数据,并注意格式化cookie带入;E6采用JSON分析数据的主要字段包括日期、开盘价格、最高价格和收盘价JSON Path获取;L2采用CSV将数据输出到文件中的格式。

图8:数据分析部分配置详情

四、总结展望

本文通过从股票数据网站获取开盘价、收盘价、最高价、最低价数据的过程,学习Kettle操作和转换的基本使用方法。如需下载案例中的转换和操作,可使用微信扫描码免费下载。二维码如下:

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章