1.9 KiB
1.9 KiB
策略回测框架 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:扩展查询
最小流程示例(概念化)
// 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();