# 策略回测框架 TSBackTesting ## 定位 - 提供统一的策略回测框架(股票/期货/期权/组合等),覆盖资金、交易约束、清算与绩效输出。 ## 结构索引 - 策略回测流程 - 成员变量 - 成员方法 - 查询用接口 - 回测范例 - 债券品种回测说明 - 期权组合策略回测说明 - 常见问题 ## 回测流程概览 - 组合类型选择 → 交易数据准备 → 回测执行 → 结果查询与分析。 ## 组合类型 - 比例类组合:提供目标权重。 - 数量类组合:提供成交量/成交价等交易明细。 ## 关键成员变量(分组摘要) - **时间与周期**:`FBegT`、`FEndT`、`FCycle` - **组合类型**:`FGroupType`(比例类/数量类) - **资金与价格**:`FIniCash`、`FPriceType`、`FPriceType1..4` - **交易约束**:`FNoZT`、`FNoDT`、`FMinVol`、`FMinAmount`、`FMaxVolPercent`、`FMaxAmountPercent` - **费用与分红**:`FFeeType`、`FlowestFeeType`、`FDividendType` - **期权与期货特性**:`FOptionRs`、`FMainFutureMap` - **基准与输出**:`FBMType`、`FBMDetail`、`FBMOption`、`FHFDataOutPut` > 详细取值及说明以实际接口定义为准。 ## 关键成员方法(常用) - `BackTest`:执行回测 - `GetTimeSeries`:返回净值/收益率时间序列 - `GetTradeOrder`:返回调仓/成交数据 - `GetNetAssetValue` / `GetAssetData` / `GetHoldData`:资产与持仓 - `GetPercent`、`GetIRRReturn`、`ReturnBenchmark`:绩效指标 - `GetClearancePrice` / `GetIntVol` / `GetOtherData`:扩展查询 ## 最小流程示例(概念化) ```tsl // 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(); ```