67 lines
1.9 KiB
Markdown
67 lines
1.9 KiB
Markdown
# 策略回测框架 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();
|
||
```
|