Files
playbook/skills/tsl-api-reference/references/codegen/module/ts-ed-event-generator.md
T

145 lines
3.2 KiB
Markdown

# 事件套利 / 事件发生器
## `TSEDEventGenerator`
声明:class
事件发生器框架
<!-- tags: 事件驱动 事件研究 事件生成 -->
### `fBegT`
声明:field
开始日 当前系统时间往前推 3 年
可见性:`public`
类型:date
### `fEndT`
声明:field
截止日 当前系统时间
可见性:`public`
类型:date
### `fConInfo`
声明:field
样本剔除
可见性:`public`
类型:array
### `fIndexArr`
声明:field
(指数定期调整类型事件设置)指数池 array("SH000300")
可见性:`public`
类型:array
### `getSampleData(output_type)`
声明:function
获取事件样本数据,可以选择是否标准化输出,1:标准化输出(默认)0:非标准化输出
<!-- tags: 查询 归一化 筛选 打印 事件驱动 事件研究 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| ------------- | ------- | ---------------------- |
| `output_type` | boolean | 整数型,是否标准化输出 |
返回:table
### `getEventInfo()`
声明:function
获取天软事件库数据信息
<!-- tags: 查询 事件驱动 事件研究 -->
可见性:`public`
返回:table
### `getStockArr(beg_t, end_t)`
声明:function
获取初始样本池,可重写,详细可见范例二;
<!-- tags: 查询 证券池 证券 个股 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| ------- | -------- | ------------------------------------------ |
| `beg_t` | datetime | 日期型,开始日,数值为区间开始日FBegT 的值 |
| `end_t` | datetime | 日期型,截止日,数值为区间截止日FEndT 的值 |
返回:array
#### 示例
范例01:调用示例
```tsl
obj := CreateObject('TSEDEventGenerator');
obj.FEventID := "0201"; //设置事件编号
obj.FBegT := 20191124T; //设置开始日
obj.FEndT := 20221124T; //设置截止日
obj.FBKName := "A 股;暂停上市;终止上市"; //设置初始样本池
obj.main();
return obj.GetSampleData(0); //返回事件样本数据
```
范例02:调用示例
```tsl
obj := CreateObject('MyEDEventGenerator');
obj.FEventID := "0201"; //设置事件编号
obj.FBegT := 20191124T; //设置开始日
obj.FEndT := 20221124T ; //设置截止日
obj.FStockArr := StockArr; //设置用户自有样本池
obj.main();
return obj.GetSampleData(0); //返回事件样本数据
Type MyEDEventGenerator=class(TSEDEventGenerator)
FStockArr; //样本池
//导入用户自有样本池
function GetStockArr(BegT,EndT);override;
begin
return FStockArr;
end;
End
```
范例03:调用示例
```tsl
obj := CreateObject('TSEDEventGenerator');
obj.FEventID := "0101"; //设置事件编号
obj.FBegT := 20191124T; //设置开始日
obj.FEndT := 20221124T; //设置截止日
obj.FIndexArr := array("SH00300"); //设置初始样本池
obj.main();
return obj.GetSampleData(0); //返回事件样本数据
```