2-深度学习挖短线股-3-训练数据计算

2-3 合并输入特征

     首先定义了数据预处理函数,将连续 n 天的 K 线数据(如开盘价、收盘价、成交量等)合并为一行特征,同时保留对应的目标标签(buy 列,表示是否应该买入);然后读取股票代码列表,对每只股票的数据进行检查,如果尚未预处理,则读取扩展数据,筛选出 2017 年底前的数据,并调用预处理函数将多日数据合并为单行特征,最后保存预处理后的文件。这种处理方式将时间序列数据转换为适合机器学习模型输入的格式,便于后续进行训练和预测。为了应用时序上的信息,将前10日的指标数据合并到当日,作为输入特征。

       程序的核心功能是将股票的时序数据转换为适合机器学习模型输入的格式,通过滑动窗口方法构建特征矩阵。具体来说,程序将前 N 天的多项技术指标合并为一行特征向量,并将当日的交易信号作为目标值,为后续的预测模型提供数据准备。

功能总结

  1. 数据预处理:删除日期和目标值列,保留技术指标作为特征
  2. 时序特征构建:使用滑动窗口(长度为 FEATURE_N)将历史数据转换为特征向量
  3. 目标值对齐:将当日的buy信号作为对应特征向量的预测目标
  4. 批量处理:对所有符合条件的股票执行相同的预处理操作
# -*- coding: utf-8 -*-
"""
Created on Thu Jun  5 09:20:50 2025
为了应用时序上的信息,将前10日的指标数据合并到当日,作为输入特征
@author: Administrator
"""import numpy as np  # 导入数值计算库
import pandas as pd  # 导入数据处理库
import os  # 导入操作系统接口库# 使用前FEATURE_N的K线数据作为输入特征
FEATURE_N = 10  # 定义时间窗口大小,即使用前10天的数据构建特征# 预处理,将n行数据作为输入特征
def data_preprocessing(df, stk_code, n):df = df.copy()  # 创建数据副本,避免修改原始数据# 删除无效数据列,保留特征数据ft_df = df.drop(columns=['date', 'buy'])  # 移除日期和目标值列,保留技术指标# 返回值out_df = pd.DataFrame()  # 初始化输出DataFrame# 生成新特征数据for i in range(n, df.shape[0]):  # 从第n行开始遍历,确保有足够的历史数据# 取n行数据part_df = ft_df.iloc[i - n : i]  # 获取当前行前n天的技术指标数据# 将n行合并为一行new_ft_df = pd.DataFrame(part_df.values.reshape(1, -1))  # 将n行数据展平为一行# 添加到输出DataFrameout_df = out_df.append(new_ft_df)# 添加目标值(当日的buy信号)out_df['target'] = df.iloc[n:df.shape[0]]['buy'].values  # 将当日的交易信号作为预测目标# 重置索引并保存out_df = out_df.reset_index(drop=True)  # 重置索引out_df.to_csv('./baostock/data_pre/{}.csv'.format(stk_code), index=False)  # 保存处理后的数据return out_df  # 返回处理后的DataFrame# 主程序:批量处理所有股票
stk_code_file = './stk_data/dp_stock_list.csv'  # 定义股票代码文件路径
stk_list = pd.read_csv(stk_code_file)['code'].tolist()  # 读取股票代码列表for stk_code in stk_list:  # 遍历所有股票# 判断是否已经经过预处理(文件是否存在)data_file = './baostock/data_pre/{}.csv'.format(stk_code)  # 定义预处理后的数据文件路径if not os.path.exists(data_file):  # 检查文件是否已存在print('processing {} ...'.format(stk_code))  # 打印正在处理的股票代码# 读取数据并限制时间范围df = pd.read_csv('./baostock/data_ext/{}.csv'.format(stk_code))  # 读取扩展后的股票数据df = df[df['date'] <= '2017-12-31']  # 仅保留2017年底前的数据# 执行数据预处理df = data_preprocessing(df, stk_code, FEATURE_N)  # 调用预处理函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/912552.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/912552.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringMVC系列(四)(请求处理的十个实验(下))

0 引言 作者正在学习SpringMVC相关内容&#xff0c;学到了一些知识&#xff0c;希望分享给需要短时间想要了解SpringMVC的读者朋友们&#xff0c;想用通俗的语言讲述其中的知识&#xff0c;希望与诸位共勉&#xff0c;共同进步&#xff01; 本系列会持续更新&#xff01;&…

产线通信“变形记”:PROFIBUS-DP与ETHERNET/IP的食品饮料跨界融合

在食品饮料加工行业&#xff0c;为实现不同设备间高效通信&#xff0c;JH-PB-EIP疆鸿智能PROFIBUS DP转ETHERNET/IP网关发挥着关键作用。西门子PLC常采用PROFIBUS DP协议&#xff0c;而码垛机器人等设备多使用ETHERNET/IP协议&#xff0c;网关成为连接二者的桥梁。 将DP作为从站…

设计模式-观察者模式(发布订阅模式)

一、需要的类 一个发布类&#xff1a;里面一个是别人需要订阅的属性&#xff0c;以及用于存储订阅者的list&#xff0c;attach方法是往list集合里面添加元素&#xff0c;notifyObservers通知方法&#xff0c;也就是循环调用订阅者里面的一个方法&#xff0c;这个notifyObserve…

Linux测试是否能联网

ping百度看是否有返回包&#xff1a; ping www.baidu.com ping -c可以通过参数提前设置发送的包数量&#xff1a; ping -c 4 www.baidu.com 终止ping快捷键&#xff1a; 按下 Ctrl C&#xff1a;立即终止ping进程&#xff0c;并显示统计信息。按下 Ctrl Z&#xff1a;将进…

TOGAF® 架构分区:优秀架构的秘密

TOGAF &#xff08;The Open Group架构框架&#xff09;已成为企业架构事实上的全球标准, 是世界上使用最广泛的企业架构框架。 它为企业 IT 架构的设计、规划、实施和管理提供了一套全面的方法和工具。但是&#xff0c;即使是经验丰富的架构师也经常会忽略 TOGAF 中隐藏的宝…

如何让视频在特定的网站上播放/禁止播放?(常见的视频防盗链技术之一)

一、需求背景 在各行各业中,不论是教育、贸易还是医疗领域,视频内容都存在被盗用的风险。为加强视频安全性,我们可以采取特殊设置措施,例如限制视频仅在高安全性网站播放,或屏蔽高风险网站。那么,具体有哪些方法可以有效保护视频安全呢? 二、需求解决 通过OVP防盗链技…

如何调鼠标的灵敏度 快速调节超简单

鼠标灵敏度是指鼠标在移动时&#xff0c;指针在屏幕上移动的速度。适当的鼠标灵敏度不仅能够提高工作效率&#xff0c;还能减少手部疲劳&#xff0c;优化游戏体验。那么不同的使用场景&#xff0c;鼠标灵敏度怎么调呢&#xff1f;本文将详细探讨如何调整鼠标灵敏度&#xff0c;…

基于单次常规脑MRI的深度学习检测多发性硬化症急性和亚急性病变活动性|文献速递-最新论文分享

Title 题目 Deep learning detection of acute and sub-acute lesion activity from single-timepoint conventional brain MRI in multiple sclerosis 基于单次常规脑MRI的深度学习检测多发性硬化症急性和亚急性病变活动性 01 文献速递介绍 多发性硬化症&#xff08;MS&am…

CloudFormation 实现 GitHub Actions OIDC 与 AWS ECR 的安全集成

引言:现代 CI/CD 的安全挑战 在容器化应用部署流程中,传统长期凭证管理已成为主要安全痛点。本文将详细介绍如何通过 AWS CloudFormation 实现 GitHub Actions 与 Amazon ECR 的安全集成,利用 OIDC(OpenID Connect)技术消除长期凭证风险,构建符合企业级安全标准的 CI/CD…

JMeter常用断言方式

简介 接口断言是接口测试中用于验证响应结果是否符合预期的关键机制&#xff0c;根据业务需求编写脚本添加断言&#xff0c;可验证接口的正确性。以下内容仅记录常用的断言方式&#xff0c;多个接口都有断言时可以使用事务控制器来隔离不同的断言。 断言方式 1、响应断言 1.…

web服务器搭建nginx

1 配置主机ip 1.1获取主机ip ip a rootpc:/home/ruxin# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft foreve…

ubuntu ollama 遇到的若干问题

服务器原先有ollama&#xff0c;想要重装&#xff0c;遇到一系列问题 安装下载连接&#xff1a;https://github.com/ollama/ollama/blob/main/docs/linux.md模型下载链接&#xff1a;https://ollama.com/library/deepseek-r1:1.5b 一、安装新的ollama 在root用户下操作 1.卸…

Linux: errno: EMSGSIZE 5

最近看到一个envoy在发送UDP包时返回的错误:sendmsg failed with error code 5 这里的error code 5其实是,envoy自己定义的error code: case SOCKET_ERROR_MSG_SIZE:return IoErrorCode::MessageTooBig;class IoError {public:enum class

深度剖析 LNK 参数隐藏攻击 (ZDI-CAN-25373)

1、漏洞描述 ZDI-CAN-25373 是一个 Windows 快捷方式文件(.LNK)漏洞,它允许攻击者通过精心制作的恶意快捷方式文件来执行隐藏的恶意命令。攻击者通过在 .LNK 文件的 COMMAND_LINE_ARGUMENTS 结构中填充大量空白字符(如空格、水平制表符、换行符等)来隐藏恶意命令。这些填…

Linux操作系统笔记3

接口管理命令&#xff1a; ip命令 字符终端 nmcli命令 字符终端 nmtui命令 可视化终端 ip命令&#xff1a; 使用 ip 命令可以配置临时网络的连接信息&#xff0c;相关命令如下&#xff1a; ip link&#xff1a;显示网络设备运行状态 ip -s link&#xff1a;显示更详细的设备信…

Vue3 根据路由配置实现动态菜单

前言 最近在学习Vue3的相关语法&#xff0c;在阅读官方文档的时候觉得官方文档的菜单栏比较简洁美观&#xff0c;于是想着能不能自己实现一个类似的多级菜单。代码大部分由AI所做&#xff08;感谢活在这个人工智能时代&#xff09;。 设计 主要就是路由设计以及菜单设计 路…

C#中 Winform如何实现跨页面调用

设计页面 如下 其中Form2为启动项 当点击订阅消息的时候 会创建Form1页面 当 Form1页面的点击发送的时候 自动将发送的消息同步到label1中 Form2的代码如下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using S…

一个完整的Python解决方案,用于使用机器学习筛选最优模型并分析纳米酶特征与Km/Vmax的相关性

以下是一个完整的Python解决方案,用于使用机器学习筛选最优模型并分析纳米酶特征与Km/Vmax的相关性。代码包含数据预处理、模型选择、特征相关性分析和结果可视化,并附带详细注释。 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn…

用python可视化南方大暴雨及洪水数据分析

用python可视化南方大暴雨及洪水数据分析 截至20250621,南方地区(特别是广东、广西、湖南等地)遭遇的极端暴雨和洪水灾害&#xff0c;斑点鱼将使用Python进行数据分析和可视化&#xff0c;展示洪水影响区域、雨势强度以及经济损失等情况。 数据搜集如下&#xff1a; import …

DeepSPV:一个用于从二维超声图像进行三维脾脏体积估算的深度学习流程|文献速递-最新论文分享

Title 题目 DeepSPV: A deep learning pipeline for 3D spleen volume estimation from 2D ultrasound images DeepSPV&#xff1a;一个用于从二维超声图像进行三维脾脏体积估算的深度学习流程 01 文献速递介绍 1.1 临床背景 脾肿大&#xff0c;即脾脏增大&#xff0c;是…