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

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

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

相关文章

仿真气球冒险任务(BART)的简单网页版实现

仿真气球冒险任务(BART)的简单网页版实现

仿真气球冒险任务(BART)模拟真实世界的风险情境, 具有高生态性, 稳定性和可靠性等优点, 已经成为风险决策研究中最常用的实验范式之一。我们用纯html+js+css简单实现了下,可以在浏览器中运行...

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

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

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

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

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

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

利用php函数获取中文汉字拼音首字母

利用php函数获取中文汉字拼音首字母

要获取中文汉字拼音的首字母,你可以使用第三方库,例如 pinyin。以下是使用 pinyin 库的示例代码: 首先,你需要安装 pinyin 库。你可以通过 Composer 进行安装,在项目根目录...

使用Cloudfare R2云存储替代阿里云腾讯云存储_使用php进行Cloudfare R2存取操作

使用Cloudfare R2云存储替代阿里云腾讯云存储_使用php进行Cloudfare R2存取操作

Cloudfare主要是做全球CDN加速,他的存储R2功能只计算存储和请求费用,不计算流量费用,这点在目前云存储市场上算是独一无二了。比如我们常用的阿里云,他OSS云存储主要构成是流量费用。然后我们看...

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

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

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