当前位置: 首页 > 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.lryc.cn/news/575365.html

相关文章:

  • uniapp微信小程序:editor组件placeholder字体样式修改
  • vue3 + elementPlus 封装hook,检测form表单数据修改变更;示例用 script setup 语法使用
  • SpringBoot项目快速开发框架JeecgBoot——Web处理!
  • 一次开发,多端适配!全面掌握Dioxus跨平台开发框架!
  • 远程玩3A大作要多少帧?ToDesk、向日葵、UU远程性能对决
  • 面试破局:告别流水账,用“故事思维”重塑自我介绍
  • rocketmq中broker和namesrv的区别和联系?
  • 川翔云电脑全新上线:三维行业高效云端算力新选择
  • 智能化监管:微算法科技(NASDAQ:MLGO)比特币社区分类器助力加密货币市场规范发展
  • CRON表达式编辑器与定时任务实现技术文档
  • 阿里云ACP-检索分析服务
  • fnm node包管理器
  • 《解锁FFmpeg - python:开启多媒体处理新时代》
  • GNSS位移监测站在大坝安全中的用处
  • Lynx vs React Native vs Flutter 全面对比:三大跨端框架实测分析
  • PAT A 1052 Linked List Sorting
  • 解决uniapp vue3版本封装组件后:deep()样式穿透不生效的问题
  • ZYNQ GP总线深度实战:智能灯光控制器的PS-PL交互艺术
  • Python 惰性求值实战:用生成器重构 Sentence 类
  • 从HTML4到HTML5+CSS3,如何快速掌握?(有老版HTML基础或经验)
  • Web基础关键_001_HTML(一)
  • QTextEdit、QTextBrowser右键菜单汉化显示
  • 数据结构大项目
  • 科技与人类贪欲
  • 医疗AI专科子模型联邦集成编程分析
  • 图像质量对比感悟
  • 【RESTful接口设计规范全解析】URL路径设计 + 动词名词区分 + 状态码 + 返回值结构 + 最佳实践 + 新手常见误区汇总
  • 2D 基准情况下贝叶斯优化应用的概率推理
  • centos 7 安装NVIDIA Container Toolkit
  • 云原生 Cloud Native