将股票日K转换为年K的PHP代码

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

以下是将股票日K转换为年K的PHP代码示例:

<?php

// 股票日K数据
$dailyK = [
    ['date' => '2022-12-31', 'open' => 10, 'high' => 12, 'low' => 8, 'close' => 11],
    ['date' => '2022-12-30', 'open' => 9, 'high' => 11, 'low' => 8, 'close' => 10],
    ['date' => '2022-12-29', 'open' => 8, 'high' => 10, 'low' => 6, 'close' => 9],
    ['date' => '2022-12-28', 'open' => 6, 'high' => 9, 'low' => 5, 'close' => 8],
    ['date' => '2022-12-27', 'open' => 5, 'high' => 7, 'low' => 4, 'close' => 6],
    // 其他日K数据...
];

// 将日K数据转换为年K数据
$yearlyK = [];

$year = '';
$open = 0;
$high = 0;
$low = PHP_INT_MAX;
$close = 0;

foreach ($dailyK as $data) {
    $date = $data['date'];
    $dataYear = substr($date, 0, 4);

    // 如果年份发生变化,则将上一年的K线数据加入结果集
    if ($year && $dataYear !== $year) {
        $yearlyK[] = ['year' => $year, 'open' => $open, 'high' => $high, 'low' => $low, 'close' => $close];
        $open = 0;
        $high = 0;
        $low = PHP_INT_MAX;
        $close = 0;
    }

    if (!$year) {
        $year = $dataYear;
        $open = $data['open'];
    }

    // 记录最高价、最低价
    $high = max($high, $data['high']);
    $low = min($low, $data['low']);

    // 记录最后一个交易日的收盘价
    $close = $data['close'];
}

// 将最后一年的K线数据加入结果集
if (!empty($year)) {
    $yearlyK[] = ['year' => $year, 'open' => $open, 'high' => $high, 'low' => $low, 'close' => $close];
}

// 输出年K数据
foreach ($yearlyK as $data) {
    echo $data['year'] . ' ' . $data['open'] . ' ' . $data['high'] . ' ' . $data['low'] . ' ' . $data['close'] . "\n";
}

PHP
以上代码会把$dailyK中的日K数据转换为年K数据,并输出结果。你只需要将$dailyK替换为你所需要转换的股票日K数据即可。

相关文章

centos7.6安装php7.4

centos7.6安装php7.4

在CentOS 7.6上安装PHP 7.4,你可以按照以下步骤进行操作: 首先,确保你的系统已经更新到最新的软件包版本。你可以使用以下命令来更新系统: sudo yum update 接下来,添...

不懂技术也能将网页制作成Windows桌面exe文件

不懂技术也能将网页制作成Windows桌面exe文件

基于electron将网页制作成Windows桌面exe文件,使用开源的nativefier可以简单将网页打包成Windows桌面exe文件效果如下图:nativefier开源地址: https:/...

简单实用NSIS制作windows安装程序美化版

简单实用NSIS制作windows安装程序美化版

在使用electron将网站项目打包成桌面客户端后,制作exe安装包就是必须要做的了,通过使用QT、NSIS等制作工具,最后整理出来了一套美化版NSIS安装包制作流程。最终成品软件:链接:https:...

使用xunsearch进行php全文检索

使用xunsearch进行php全文检索

迅搜(xunsearch)是采用 C/C++ 基于 xapian 和 scws 开发的全文搜索引擎解决方案,适用于php全文检索、mysql全文检索和各种站内搜索。支持海量数据高速检索,功能强大、...

wordpress标题重复检测插件,发布文章时检测标题是否重复

wordpress标题重复检测插件,发布文章时检测标题是否重复

当我们的wordpress网站有越来越多的内容时,很难发现自己发布了重复的文章,所以写了个这个插件。 在发布文章时候,自动检测是否和已有文章标题重复,如果重复就拦截发布,存入草稿箱,并且页面...

win11右键菜单改回win10小工具

win11右键菜单改回win10小工具

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