# paddlets-gold **Repository Path**: AlEX_2473/paddlets-gold ## Basic Information - **Project Name**: paddlets-gold - **Description**: paddlets vs lstm vs timesnet - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-28 - **Last Updated**: 2026-01-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 黄金价格预测 > 数据集来自: ## 1. 项目概述 ### 背景与目标 本项目专注于利用先进的深度学习时间序列模型预测黄金价格。主要目标是利用历史价格数据和技术指标来预测未来趋势,辅助数据驱动的投资分析。 ### 主要功能与特点 - **全流程数据管道**: - 自动清洗和预处理原始金融数据。 - 生成关键技术指标:**MA**(移动平均线)、**RSI**(相对强弱指数)、**MACD**(异同移动平均线)和 **KDJ**。 - **先进建模技术**: - **TimesNet**:利用最先进的 TimesNet 架构捕捉时间变化。 - **LSTM (LSTNet)**:实现长短期记忆网络以捕捉长期依赖关系。 - **PP-TS 集成模型**:构建了一个稳健的集成框架,融合了多个模型(DLinear, RLinear, NLinear, PatchTST, TiDE, Nonstationary Transformer)以增强稳定性。 ~~- **智能优化**:~~ ~~- **ETO 优化器**:自定义“指数三角优化”算法自动调整超参数,确保模型稳定性(例如,强制 TimesNet 的维度参数为偶数)。~~ - **可视化与分析**: - 自动绘制预测结果与真实值的对比图。 - 提供详细的性能指标(MSE, MAE, R2)。 ### 技术栈与架构 - **编程语言**:Python - **深度学习框架**:PaddlePaddle, PaddleTS - **数据分析**:Pandas, NumPy - **可视化**:Matplotlib - **项目结构**: - `utils/`:核心逻辑,包含~~优化 (`eto_optimizer.py`)~~、特征工程 (`feature_engineer.py`)、模型工厂 (`model.py`) 和可视化。 - `script/`:可执行工作流,用于预处理、训练和预测。 - `output/`:存储训练好的模型、日志和结果图表。 ## 2. 开发过程 ### 关键里程碑 1. **基础设施搭建**:建立了目录结构和配置管理 (`config.py`)。 2. **特征工程**:实现了 `GoldFeatureEngineer`,将原始 OHLC 数据转换为包含技术指标的丰富特征集。 3. **模型集成**:将 `TimesNet` 和 `LSTNet` 封装到统一的 `ModelFactory` 中,以实现一致的训练接口。 ~~4. **优化器开发**:创建了 `ETOOptimizer` 以自动化超参数搜索,专门解决了复杂模型所需的约束条件。~~ 5. **集成与评估**:配置了 `PP-TS` 集成系统,并构建了回测框架 (`predict.py`) 以验证 200 天窗口内的性能。 ## 3. 成果展示 ### 完成的功能清单 - [x] 数据预处理与特征工程 - [x] TimesNet 训练与推理 - [x] LSTM 训练与推理 - [] ETO 超参数优化 - [x] 多模型集成 (PP-TS) - [x] 结果可视化与回测 ### 性能指标 - **集成模型表现**:`PP-TS` 集成模型在验证集上实现了约 **0.1916** 的均方误差 (MSE)(基于 `score.json`)。 - **可视化结果**: - 对比图生成在 `output/gold/plots/` 中,展示了预测趋势与实际市场走势的一致性。 - *请参考 `output/gold/plots/Final_Result_Comparison.png` 查看可视化基准。* ## 4. 经验与未来展望 ### 需要改进的地方 - **特征多样性**:目前主要依赖于价格衍生的指标。引入外部变量(如美元指数、利率、新闻情绪)可能会提高准确性。 - **训练速度**:深度学习模型(尤其是集成模型)训练速度可能较慢。实施分布式训练或模型蒸馏可能会有所帮助。 ### 未来建议 - **实时部署**:将 `predict.py` 逻辑封装为 Web 服务(例如使用 Flask 或 FastAPI)以进行实时推理。 - **持续再训练**:建立管道,随着新的每日数据可用自动重新训练模型,以防止模型漂移。