1. 项目背景与核心思路
去年第三季度开始,我尝试将A股市场近5年的日K线数据(包括开盘价、收盘价、最高价、最低价、成交量等关键指标)输入到经过微调的LLaMA-2 13B大模型中,让AI学习识别技术形态与市场情绪的关联规律。这个想法的诞生源于两个观察:一是传统技术分析存在主观性强、维度单一的问题;二是现代大模型在时序数据处理方面展现出惊人的模式识别能力。
具体操作时,我采用了"分阶段渐进式训练"策略:
- 基础数据清洗阶段:使用Python的pandas库处理了2018-2023年间沪深300成分股的日线数据,剔除停牌日、异常波动日(如涨跌幅超过10%的极端情况)
- 特征工程阶段:除了原始价格数据,还计算了20日均线、MACD、RSI等14个技术指标作为附加特征
- 模型微调阶段:在AWS p4d.24xlarge实例上,使用PyTorch框架对模型进行了6000步的监督微调
关键发现:当输入数据包含连续30个交易日的完整K线组合时,模型对后续5日走势预测的准确率达到68.3%,显著高于传统技术分析55%左右的平均水准
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 数据准备与特征工程详解
2.1 数据源选择与清洗
我从Tushare Pro API获取了2018年1月至2023年12月的完整日K数据,包含以下字段:
- 股票代码(如600519.SH)
- 交易日期(YYYY-MM-DD格式)
- 开盘价/收盘价/最高价/最低价(精确到小数点后2位)
- 成交量(股数)
- 成交金额(万元)
清洗流程特别注意:
python复制# 异常值处理示例代码
def clean_data(df):
# 剔除涨跌幅超过11%的异常记录
df['pct_chg'] = df['close'].pct_change() * 100
df = df[(df['pct_chg'] >= -11) & (df['pct_chg'] <= 11)]
# 处理停牌日(成交量为0)
df = df[df['volume'] > 0]
# 前复权处理
df['adj_factor'] = (df['close'] / df['pre_close']).cumprod()
for col in ['op
