145 lines
3.2 KiB
Markdown
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); //返回事件样本数据
|
|
```
|