Files
playbook/skills/tsl-api-reference/references/codegen/module/ts-trading-evaluation.md
T

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`