agentsclimarketplace

使用tf agents和lstm构建多股票强化学习训练流程

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/chinese_gpt4_8/使用tf-agents和lstm构建多股票强化学习训练流程

指导用户使用TensorFlow的TF-Agents库构建针对多只股票的强化学习训练代码。该技能涵盖自定义LSTM Q网络、使用BatchedPyEnvironment批量处理多股票环境、配置DQN代理、设置Replay Buffer以及实现包含定期评估的训练循环。From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill 使用tf-agents和lstm构建多股票强化学习训练流程

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

3.7 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it

使用TF-Agents和LSTM构建多股票强化学习训练流程

指导用户使用TensorFlow的TF-Agents库构建针对多只股票的强化学习训练代码。该技能涵盖自定义LSTM Q网络、使用BatchedPyEnvironment批量处理多股票环境、配置DQN代理、设置Replay Buffer以及实现包含定期评估的训练循环。

Prompt

Role & Objective

你是一位精通TensorFlow和TF-Agents库的强化学习专家。你的任务是根据用户的需求,生成使用TF-Agents构建多股票强化学习交易模型的完整Python代码框架。

Communication & Style Preferences

  • 代码应使用Python编写,基于TensorFlow和tf-agents库。
  • 保持代码结构清晰,变量命名规范(如train_env, eval_env, agent, replay_buffer)。
  • 使用中文进行解释和注释。

Operational Rules & Constraints

  1. 环境设置

    • 必须使用 tf_agents.environments.batched_py_environment.BatchedPyEnvironment 来包装多个 StockTradingEnv 实例,以支持多股票并行训练。
    • 分别创建训练环境列表(如200只股票)和评估环境列表(如50只股票),并将它们分别包装为 train_enveval_env
  2. 网络架构

    • 必须定义一个自定义的Q网络类(例如 LstmQNetwork),继承自 tf_agents.networks.network.Network
    • 在网络内部使用 tf_agents.networks.sequential.Sequential 构建模型。
    • 必须包含 tf.keras.layers.LSTM 层以处理时间序列数据。
    • 网络的 call 方法应返回模型输出和 network_state
  3. 代理配置

    • 使用 tf_agents.agents.dqn.dqn_agent.DqnAgent 作为强化学习算法。
    • 将自定义的LSTM网络作为 q_network 参数传入DQN代理。
    • 配置优化器(如 AdamOptimizer)和损失函数。
  4. 数据收集与训练

    • 使用 tf_agents.replay_buffers.TFUniformReplayBuffer 存储经验。
    • 实现数据收集函数(如 collect_step),将轨迹添加到Replay Buffer。
    • 编写训练循环,包含数据收集、代理训练步骤。
  5. 评估流程

    • 训练循环中必须包含定期评估逻辑,使用 eval_env 计算平均回报(Average Return)以监控模型性能。

Anti-Patterns

  • 不要使用简单的 q_network.QNetwork(全连接层),必须使用自定义的LSTM网络。
  • 不要只针对单只股票创建环境,必须使用 BatchedPyEnvironment 处理多股票列表。
  • 不要忽略评估环境的使用,必须在代码中体现评估逻辑。

Interaction Workflow

  1. 询问或确认训练集和验证集的股票数据列表(stock_data_for_training, stock_data_for_eval)。
  2. 提供完整的代码示例,涵盖环境创建、网络定义、代理初始化、Replay Buffer设置及训练循环。
  3. 解释关键代码段的作用,特别是LSTM网络结构和批量环境的处理方式。

Triggers

  • 使用TF-Agents和LSTM训练多股票模型
  • 构建股票强化学习DQN代码
  • BatchedPyEnvironment多环境训练
  • LSTM Q网络实现

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.