当前位置: 首页 > news >正文

2-深度学习挖短线股-1-股票范围选择

一、选短线个股的流程

(1)数据预处理,根据短线个股筛选标准,给个股日线数据打标。
(2)模型训练,针对每只股票,训练得到分类模型。
(3)结果预测,根据训练得到的模型,计算股票每日的分类预测值。
(4)策略回测,基于股票每日的分类预测值,回测策略收益情况。
(5)个股筛选,如果策略验证可行,即可根据模型筛选出当前符合买入条件的股票。

二、数据预处理

       将短线个股的筛选问题处理为使用深度学习解决的分类问题,目标是筛选出10个交易日内,上涨幅度大于10%的股票。这里选择2017年12月31日及之前的数据作为训练数据,2018年1月1日之后的数据用于做预测。

     2.1 股票范围选择

        为了应用深度学习算法,需要有足够的训练数据。程序用于筛选出在 2016 年至 2017 年期间交易天数超过 300 天的股票,为后续的量化分析提供高质量的股票样本。程序从本地读取股票列表和日线数据,通过日期筛选和交易天数统计,最终将符合条件的股票代码保存为新的 CSV 文件。

     2.2 功能总结

  1. 数据读取:从stk_list.csv读取全部股票代码列表。
  2. 筛选逻辑:遍历每支股票的日线数据,统计 2016 年 1 月 1 日至 2017 年 12 月 31 日期间的交易天数。
  3. 条件过滤:保留交易天数超过 300 天的股票,确保数据连续性和分析可靠性。
  4. 结果输出:将符合条件的股票代码保存到dp_stock_list.csv,作为后续分析的基础。
# -*- coding: utf-8 -*-
"""
Created on Wed Jun  4 10:42:49 2025@author: Administrator
"""
import pandas as pd  # 导入pandas库用于数据处理# 定义股票代码文件路径和结果保存路径
stk_code_file = './stk_data/stk_list.csv'  # 全部股票代码列表文件
output_file = './stk_data/dp_stock_list.csv'  # 符合条件的股票保存路径# 读取全部股票代码列表
stk_list = pd.read_csv(stk_code_file)['code'].tolist()  # 从CSV读取股票代码并转换为列表# 初始化符合条件的股票列表
pd_stocks_list = []# 遍历每支股票,筛选符合条件的股票
for stk_code in stk_list:# 读取单支股票的日线数据df = pd.read_csv('./stk_data/d/{}.csv'.format(stk_code))  # 读取日线数据文件# 筛选2016年至2017年的数据并统计交易天数filtered_df = df[(df['date'] >= '2016-01-01') & (df['date'] <= '2017-12-31')]  # 时间范围筛选valid_days = filtered_df.shape[0]  # 获取筛选后的行数(交易天数)# 判断交易天数是否超过300天if valid_days > 300:  # 交易天数阈值判断pd_stocks_list.append(stk_code)  # 将符合条件的股票代码加入结果列表# 将符合条件的股票代码保存为CSV文件
out_df = pd.DataFrame(pd_stocks_list, columns=['code'])  # 创建结果DataFrame
out_df.to_csv(output_file, index=False)  # 保存为CSV,不包含索引列print(f"筛选完成,共{len(pd_stocks_list)}支股票符合条件,已保存至{output_file}")

http://www.lqws.cn/news/536239.html

相关文章:

  • Linux 高效网络调试命令
  • 同步互斥与通信-有缺陷的同步示例FreeRTOS笔记
  • window显示驱动开发—支持 DXGI DDI(四)
  • 21.合并两个有序链表
  • vscode运行c++文件和插件的方法
  • C语言专题:15.宏定义与控制指令(#define、#ifndef、#undef、#defined)
  • MySQL(基础篇)
  • [特殊字符] Windows 查看端口占用及服务来源教程(以 9018 端口为例)
  • Oracle LogMiner分析日志的三种方法示例
  • UDP 和 TCP 可以同时使用相同的端口号
  • el-table表头添加说明
  • Excel基础:数据编辑
  • Excel:filter函数实现动态筛选的方法
  • 网络分层模型与协议体系技术研究报告
  • 微信小程序<rich-text>支持里面图片点击放大
  • 物联网与低代码:Node-RED如何赋能工业智能化与纵横智控的创新实践
  • 【51单片机5毫秒定时器】2022-6-1
  • 机器学习---正则化、过拟合抑制与特征筛选
  • 抖音图文带货权限怎么开通
  • Vue3 中 Axios 深度整合指南:从基础到高级实践引言总结
  • 《解锁FFmpeg - python:开启多媒体处理新时代》
  • 多线程编程 ----线程主动退出pthread_exit与线程被动退出pthread_cancel
  • DAY 33 简单的神经网络
  • 前端面试专栏-主流框架:14. Vue Router与Vuex核心应用
  • Spring Boot使用Redis常用场景
  • Python爬虫多线程并发时的503错误处理最佳实践
  • HTTP-Cookie和Session
  • 算法第48天|单调栈:42. 接雨水、84.柱状图中最大的矩形
  • 鸿蒙边缘智能计算架构实战:从环境部署到分布式推理全流程
  • window显示驱动开发—DirectX 图形内核子系统(一)