playbook/docs/tsl/modules/tsbacktesting.md

1.9 KiB
Raw Blame History

策略回测框架 TSBackTesting

定位

  • 提供统一的策略回测框架(股票/期货/期权/组合等),覆盖资金、交易约束、清算与绩效输出。

结构索引

  • 策略回测流程
  • 成员变量
  • 成员方法
  • 查询用接口
  • 回测范例
  • 债券品种回测说明
  • 期权组合策略回测说明
  • 常见问题

回测流程概览

  • 组合类型选择 → 交易数据准备 → 回测执行 → 结果查询与分析。

组合类型

  • 比例类组合:提供目标权重。
  • 数量类组合:提供成交量/成交价等交易明细。

关键成员变量(分组摘要)

  • 时间与周期FBegTFEndTFCycle
  • 组合类型FGroupType(比例类/数量类)
  • 资金与价格FIniCashFPriceTypeFPriceType1..4
  • 交易约束FNoZTFNoDTFMinVolFMinAmountFMaxVolPercentFMaxAmountPercent
  • 费用与分红FFeeTypeFlowestFeeTypeFDividendType
  • 期权与期货特性FOptionRsFMainFutureMap
  • 基准与输出FBMTypeFBMDetailFBMOptionFHFDataOutPut

详细取值及说明以实际接口定义为准。

关键成员方法(常用)

  • BackTest:执行回测
  • GetTimeSeries:返回净值/收益率时间序列
  • GetTradeOrder:返回调仓/成交数据
  • GetNetAssetValue / GetAssetData / GetHoldData:资产与持仓
  • GetPercentGetIRRReturnReturnBenchmark:绩效指标
  • GetClearancePrice / GetIntVol / GetOtherData:扩展查询

最小流程示例(概念化)

// 1) 初始化参数
backtest := new TSBackTesting();
backtest.FBegT := 20240101T;
backtest.FEndT := 20241231T;
backtest.FGroupType := 1; // 比例类
backtest.FIniCash := 1000000;

// 2) 设置交易数据(比例类:目标持仓)
// backtest.SetTradeData(trade_data);

// 3) 执行回测
backtest.BackTest();

// 4) 获取结果
return backtest.GetTimeSeries();