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
英文地址,請注明出處:http://en.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;是…