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

网极科技2年前代码笔记559

将股票日K转换为半年K数据,可以用每年的7-1日作为分割点,分为上半年和下半年,开盘价应为分组开始的第一条数据的开盘价,收盘价应为分组数据的最后一条收盘价,最高和最低则为分组中的最高最低,成交量是累加的,如此计算,这里给出php的转换函数:

    // 将日K线数据转换为半年K线数据
    function convertToHalfYearKLine($data)
    {             
        $daily_k_data = $data;

        usort($daily_k_data, function($a, $b) {
            return strtotime($a['date']) - strtotime($b['date']);
        });


        $k_line_data = array();
        $last_group_end_date = '';

foreach ($daily_k_data as $key => $daily_data) {
    // 如果是第一个日期,则直接添加到一个新的分组里面
    if ($key == 0) {
        $k_line_data[] = array($daily_data);
        $last_group_end_date = $daily_data['date'];
        continue;
    }


        //获取当前日期的所在年份的上半年还是下半年
        $cur_time = date('md',strtotime($daily_data['date']))<701?date('Y',strtotime($daily_data['date'])).'13':date('Y',strtotime($daily_data['date'])).'14';

        //获取上个日期的所在年份的上半年还是下半年
         $last_time = date('md',strtotime($last_group_end_date))<701?date('Y',strtotime($last_group_end_date)).'13':date('Y',strtotime($last_group_end_date)).'14';
    // echo $cur_time.' '.$last_time;

    // 如果当前日期与上一个分组结束日期不是一个半年,则将当前日期的K线数据添加到一个新的分组里面
  
            
已隐藏部分内容,支付后自动显示
如有疑问请联系QQ:706448591
支付38元查看
print_r($k_line_data); }

相关文章

centos设置计划任务 定时运行php文件

centos设置计划任务 定时运行php文件

1.新建一个sh文件,上传到服务器例如文件名为 cron.sh文件内容为 php test.php 2.给这个文件设置可执行权限chmod +x cron.sh 3.增加计划任务A、安装cron...

省市区四级地址编码下载_国家标准行政区划代码映射表【最后更新于2025年1月】

省市区四级地址编码下载_国家标准行政区划代码映射表【最后更新于2025年1月】

产品介绍:省市区四级地址编码_国家标准行政区划代码映射表最后更新于2025年1月产品概述本产品为 省市区四级地址编码与国家标准行政区划代码映射表,旨在为用户提供全面、准确、标准化的行政区划代...

Qt Installer FrameWork制作中文版windows安装包_QtIFW 4.7.0设置中文

Qt Installer FrameWork制作中文版windows安装包_QtIFW 4.7.0设置中文

Qt Installer FrameWork下载地址:https://download.qt.io/official_releases/qt-installer-framework/ 环境配置将bi...

如何避免数据库被黑客入侵或者被误删除?

如何避免数据库被黑客入侵或者被误删除?

经常遇到火急火燎的客户,因为数据库被黑或者被误删,找到我们要求修复数据库。但是修复数据库没有那么容易,费用动辄上万元,还有很复杂的必须人工操作的过程。平均恢复周期在1-2周,数据量越大会恢复的越久...

批量计算自驾通勤距离网页程序

批量计算自驾通勤距离网页程序

近日给客户做了一个网页小工具,方便客户批量计算通勤距离 运行截图: html代码 <!DOCTYPE html>...

fastadmin对接火车头采集器

fastadmin对接火车头采集器

fastadmin默认没有对接火车头采集器,本文介绍下对接方法: 1、创建获取栏目列表api 因为cms扩展应用中api获取栏目列表需要post提交apikey,在火车头中不支持使用,所以重新创建...