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

发布于:2025-06-28 ⋅ 阅读:(22) ⋅ 点赞:(0)

一、选短线个股的流程

(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}")


网站公告

今日签到

点亮在社区的每一天
去签到