203 lines
4.2 KiB
Markdown
203 lines
4.2 KiB
Markdown
# 策略评价 / 交易评价
|
|
|
|
## `TSTradingEvaluation`
|
|
|
|
声明:class
|
|
|
|
交易策略评价框架
|
|
|
|
<!-- tags: 评估 买卖 交易绩效 策略评估 业绩指标 -->
|
|
|
|
### `fTradeOrder`
|
|
|
|
声明:field
|
|
|
|
用户交易明细数据 空 Array()
|
|
|
|
可见性:`public`
|
|
|
|
类型:array
|
|
|
|
### `fTradeOC`
|
|
|
|
声明:field
|
|
|
|
用户交易逐笔数据 空 Array()
|
|
|
|
可见性:`public`
|
|
|
|
类型:array
|
|
|
|
### `fEvIndColArr`
|
|
|
|
声明:field
|
|
|
|
用户筛选核心关键指标(呈现用) 全部指标
|
|
|
|
可见性:`public`
|
|
|
|
类型:array
|
|
|
|
### `fDaysIn1y`
|
|
|
|
声明:field
|
|
|
|
年化天数 250
|
|
|
|
可见性:`public`
|
|
|
|
类型:numeric
|
|
|
|
### `getEvaluate()`
|
|
|
|
声明:function
|
|
|
|
执行交易策略分层评价并返回汇总、个券及逐笔交易评价结果
|
|
|
|
<!-- tags: 查询 交易评价 绩效指标 -->
|
|
|
|
可见性:`public`
|
|
|
|
返回:array
|
|
|
|
### `summary()`
|
|
|
|
声明:function
|
|
|
|
根据用户的需求获取额外汇总表。该方法用户可以根据自身需求重写
|
|
|
|
<!-- tags: 查询 交易绩效 -->
|
|
|
|
可见性:`public`
|
|
|
|
返回:array
|
|
|
|
### `getHoldData()`
|
|
|
|
声明:function
|
|
|
|
获取交易明细中仍处于持仓状态的数据,可用于调整期初或期末未完整开平的交易明细
|
|
|
|
<!-- tags: 查询 仓位 买卖 交易策略 -->
|
|
|
|
可见性:`public`
|
|
|
|
返回:array
|
|
|
|
### `getCompleteTradeData()`
|
|
|
|
声明:function
|
|
|
|
获取完全匹交易明细数据
|
|
|
|
<!-- tags: 查询 买卖 交易策略 -->
|
|
|
|
可见性:`public`
|
|
|
|
#### 示例
|
|
|
|
范例01:调用示例
|
|
|
|
```tsl
|
|
Function TSFL_TradingEvaluation01(TradeOrder);
|
|
Begin
|
|
//实例化对象
|
|
obj := new TSTradingEvaluation();
|
|
obj.FTradeOrder := TradeOrder;//用户交易数据
|
|
|
|
obj.BackTest();
|
|
return array("评价":"-----",
|
|
"评价(按交易)":obj.getEvaluate(0),
|
|
"评价(按品种)":obj.Summary(),
|
|
"交易":"-----",
|
|
"完整交易":obj.GetCompleteTradeData(),
|
|
|
|
|
|
|
|
|
|
"最新持仓":obj.GetHoldData());
|
|
End;
|
|
```
|
|
|
|
范例02:➢ 需求 1(调用方式):获取对自有交易明细数据进行匹配结果
|
|
|
|
```tsl
|
|
tAllTradeData := MYTradeData;//用户的交易明细表
|
|
return Type := 1;//返回匹配结果类型
|
|
flag := 0; //先建先平
|
|
PfInfoData := array();//初始化回测属性设置
|
|
PfInfoData[0]['分红再投资'] := 0;
|
|
PfInfoData[0]['自动参与配股'] := 0;
|
|
PfInfoData[0]['货币基金自动分红再投资'] := 0;
|
|
|
|
return TE_MatchOCTradeData(tAllTradeData,flag,return Type,pfInfoData);
|
|
```
|
|
|
|
### `initBy_TSTradeorderData(data_traderorder, foptions)`
|
|
|
|
声明:function
|
|
|
|
数据初始化
|
|
|
|
<!-- tags: 交易绩效 策略评估 -->
|
|
|
|
可见性:`public`
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------------------ | ----- | ---------------------------------------------- |
|
|
| `data_traderorder` | array | 标准的交易明细数据 ◼ foptions 无,预留用 |
|
|
| `foptions` | nil | 可选。初始化或评价过程的可选配置;当前版本预留 |
|
|
|
|
### `getTrade_EvByDetail(typ)`
|
|
|
|
声明:function
|
|
|
|
交易统计-按最小交易(单次开平)
|
|
|
|
<!-- tags: 查询 汇总 买卖 交易策略 -->
|
|
|
|
可见性:`public`
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ----- | ------- | ------------------------------------------------------- |
|
|
| `typ` | boolean | 输出是否去除交易详情,0 或 nil:不去除(默认),1:去除 |
|
|
|
|
### `getTrade_EvByStock(typ)`
|
|
|
|
声明:function
|
|
|
|
交易统计-按券
|
|
|
|
<!-- tags: 查询 汇总 买卖 交易策略 证券 个股 -->
|
|
|
|
可见性:`public`
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ----- | ------- | --------------------------- |
|
|
| `typ` | integer | 同 GetTrade_EvByDetail(typ) |
|
|
|
|
### `getTrade_EvByCycle(cy, typ)`
|
|
|
|
声明:function
|
|
|
|
交易统计-按区间段(周期),具体为以开仓日期对应的周期区间进行统计
|
|
|
|
<!-- tags: 查询 汇总 买卖 交易策略 交易日期 日期时间 -->
|
|
|
|
可见性:`public`
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ----- | ------- | --------------------------- |
|
|
| `cy` | string | 周期 |
|
|
| `typ` | integer | 同 GetTrade_EvByDetail(typ) |
|
|
|
|
### `getTrade_Detail()`
|
|
|
|
声明:function
|
|
|
|
交易逐笔(交易小计)
|
|
|
|
<!-- tags: 查询 买卖 交易策略 -->
|
|
|
|
可见性:`public`
|