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

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

以下是将股票日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数据即可。

相关文章

win11右键菜单改回win10小工具

win11右键菜单改回win10小工具

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

如何解决服务器每天固定时间点流量带宽异常?

如何解决服务器每天固定时间点流量带宽异常?

处理服务器流量高峰问题服务器在每天固定的时间点流量消耗很大,这可能是因为这个时间段是用户活跃度的高峰期,导致请求量猛增,让服务器承受不小的压力。但是,如果没有进行有效的流量管理和负载均衡,这种情况可能...

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

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

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

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

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

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

windows下composer简单使用

windows下composer简单使用

在windows下执行composer,可直接下载composer.phar文件,控制台运行即可此处下载composer.zip然后将该文件composer.phar放置到需要执行composer安装...

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

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

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