【精选】PHP将股票日K线数据转换为周K线数据

网极科技1年前代码笔记259

可以使用PHP来将股票日K线数据转换为周K线数据。具体实现方法如下:
获取日K线数据,例如从数据库中查询出所有日期的股票数据,保存在一个数组中,每个元素包含如下信息:

$day_data = [
  ['date' => '2021-10-01', 'open' => 11.2, 'high' => 12.4, 'low' => 10.8, 'close' => 11.6],
  ['date' => '2021-10-04', 'open' => 11.5, 'high' => 11.7, 'low' => 10.6, 'close' => 10.8],
  ['date' => '2021-10-05', 'open' => 10.7, 'high' => 11.2, 'low' => 10.5, 'close' => 11.0],
  ['date' => '2021-10-06', 'open' => 11.3, 'high' => 11.6, 'low' => 10.8, 'close' => 11.5],
  // ...
];

对日K线数据按周进行分组,即将每周的数据合并成一个元素。对于每周末休市的数据,可以简单判断日期是否连续,不连续则为1周数据

已隐藏部分内容,支付后自动显示
如有疑问请联系QQ:706448591
支付68元查看

这样就可以将日K线数据转换为周K线数据了。转换后的数据类似如下格式:

$week_data = [
  '2021-10-04' => [
    'week_start' => '2021-10-04',
    'open' => 11.2,
    'high' => 12.4,
    'low' => 10.6,
    'close' => 10.8,
    'rate' => null,
    'volume' => 123456,
  ],
  '2021-10-11' => [
    'week_start' => '2021-10-11',
    'open' => 10.7,
    'high' => 11.6,
    'low' => 10.5,
    'close' => 11.5,
    'rate' => 0.06481579,
    'volume' => 98765,
  ],
  // ...
];

PHP
其中,每个元素的键名为该周的起始日期。

相关文章

https网页无法加载http的文件,给html头部添加一段代码搞定

https网页无法加载http的文件,给html头部添加一段代码搞定

在强制要求https协议的情况下,一年一签的SSL很多时候忘记续签,导致成为http协议,进而引发文件加载不到的问题 https与http能否共存https地址中,如果加载了http资源,浏...

迁移wordpress站点到阿里云函数计算

迁移wordpress站点到阿里云函数计算

wordpress作为一款常用的建站工具,存在大量的老站需要维护升级,本文讲一下如何迁移到阿里云函数计算,使用Serverless架构进行部署wordpress 在函数计算上全新安装wordpres...

win11右键菜单改回win10小工具

win11右键菜单改回win10小工具

最近将电脑升级到了windows11,但是右键菜单显示不完整,需要点击两侧才有重命名那些功能,感觉很不方便,需要改回win10那样的菜单,于是做了这个小工具,直接运行即可修改。如下图: 提交修改后,...

【精选】PHP将股票日K线数据转换为季K线数据

【精选】PHP将股票日K线数据转换为季K线数据

使用PHP来将股票日K线数据转换为季度K线数据。具体实现方法如下:获取日K线数据,例如从数据库中查询出所有日期的股票数据,保存在一个数组中,每个元素包含如下信息: $day_data = [...

jQuery uploadify上传插件修改为ajax上传

jQuery uploadify上传插件修改为ajax上传

近期客户找到我们升级他们的老古董系统,这个系统创建于十几年前,使用了大量过时老旧的组件,需要更新替换,其中就包括了让很多程序员头疼的Flash组件。本篇文章记录下如何将jQuery uploadify...

使用xbstream打包的物理备份恢复腾讯云云数据库MySQL数据库

使用xbstream打包的物理备份恢复腾讯云云数据库MySQL数据库

腾讯云为节约存储空间,云数据库 MySQL 的物理备份和逻辑备份文件,都会先经过 qpress 压缩,后经过 xbstream 打包(xbstream 为 Percona 的一种打包/解包工具)进行压...