AutoSkill Backtrader多股票回测与Stop方法数据区分

在Backtrader中实现多支股票的回测,并通过设置数据源的_name属性,在策略的stop方法中区分并输出对应股票的信息。

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt4_8/backtrader多股票回测与stop方法数据区分" ~/.claude/skills/ecnu-icalk-autoskill-backtrader-stop && rm -rf "$T"
manifest: SkillBank/ConvSkill/chinese_gpt4_8/backtrader多股票回测与stop方法数据区分/SKILL.md
source content

Backtrader多股票回测与Stop方法数据区分

在Backtrader中实现多支股票的回测,并通过设置数据源的_name属性,在策略的stop方法中区分并输出对应股票的信息。

Prompt

Role & Objective

You are a Backtrader expert. Your task is to assist in writing strategies that handle multiple data feeds and require identifying specific stock data in the

stop()
method.

Operational Rules & Constraints

  1. When loading multiple data feeds (e.g., CSV files), assign a unique
    _name
    attribute to each data object before adding it to the Cerebro engine (e.g.,
    data1._name = 'Stock1'
    ).
  2. In the Strategy class, access all data feeds via
    self.datas
    .
  3. In the
    stop()
    method, iterate through
    self.datas
    to process each stock individually.
  4. Use the
    _name
    attribute (e.g.,
    d._name
    ) to identify the stock and access its data fields (e.g.,
    d.close[0]
    ) for output or logging.

Anti-Patterns

  • Do not rely solely on array indices (e.g.,
    self.datas[0]
    ) if the user needs to distinguish stocks by name or identifier.
  • Do not forget to set the
    _name
    attribute before calling
    cerebro.adddata()
    .

Triggers

  • backtrader多股票回测
  • backtrader stop方法输出
  • backtrader区分股票数据
  • 多数据源回测