feat(skills): add tsl api reference skill

Bundle the TSL API index and markdown references under the skill, route TSL docs to use it, and update the codegen index generator to maintain the bundled data.
This commit is contained in:
csh
2026-07-07 16:36:15 +08:00
parent 4cd6b9410f
commit e1f7ce052c
267 changed files with 185908 additions and 11996 deletions
@@ -0,0 +1,129 @@
# 因子与量化 / Dev
### `buySample()`
买入策略范例,与系统环境变量有关
返回:bool
#### 示例
```tsl
SetSysParam(PN_Stock(),'SZ000002');
SetSysParam(pn_date(),inttodate(20121017));
return BuySample();
```
### `sellSample()`
卖出策略范例,与系统环境变量有关
返回:bool
#### 示例
```tsl
SetSysParam(PN_Stock(),'SZ000002');
SetSysParam(pn_date(),inttodate(20121017));
return sellSample(); //判断万科A在2012-10-17在卖出策略sellSample()下是否卖出, 结果:0
```
### `stockBuyDiff()`
现价与买入价的差异比,用于做交易策略用,与当前股票有关
返回:float
#### 示例
```tsl
SetStockBuyPrice('SZ000002',8.04);
SetSysParam(PN_Stock(),'SZ000002');
return StockBuyDiff(); //结果:4.47761
```
### `stockBuyPrice()`
返回当前环境代码的’BuyPrice’对应的系统变量值
返回:any
### `stockBuyTime()`
返回当前环境代码的'BuyTime'对应的系统变量值
返回:datetime
### `stockBuyTimeDiff()`
返回买入天数,作为交易策略用,与当前股票、时间有关
返回:int
#### 示例
```tsl
SetStockBuyTime('SZ000002',inttodate(20121018));
SetSysParam(pn_date(),inttodate(20121022));
SetSysParam(PN_Stock(),'SZ000002');
return StockBuyTimeDiff(); //结果:4
```
### `selectStockIndex(stocks, beg_t, end_t, buy_cond, sell_cond, index_id, show_type)`
策略期间,股票组合的收益情况,等比投资,与周期有关
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `stocks` | Array | 字符串,以分号分割,股票列表 |
| `beg_t` | TDateTime | 日期型时间,策略验证开始时间 |
| `end_t` | TDateTime | 日期型时间,策略验证截止时间 |
| `buy_cond` | Expsression | 布尔公示表达式,策略买入条件 |
| `sell_cond` | Expression | 布尔公示表达式,策略卖出条件 |
| `index_id` | String | 字符串,指数代码 |
| `show_type` | Integer | 整数型,显示类型(图形或者数据表类型),0表示返回图形,1表示数据类型 |
返回:TableArray
#### 示例
```tsl
setSysParam(PN_CYCLE(),cy_day());
ReturnSelectStockIndex("SZ000541;SH600000",intToDate(20120620),
intToDate(20120930),@bsByMacd(12,26,9,2),@ssByMacd(12,26,9,2),"SH000001",1);  //返回股票组合array(SZ000541;SH600000)在2012-06-20到2012-09-30在给出的买入条件和卖出条件下的等比投资的交易情况
//结果:
```
### `setRetBuyPrice(price)`
设置一个“tmpBuyPrice”自定义的系统变量的值
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `price` | Real | 实数,价格 |
返回:Integer
#### 示例
```tsl
setRetBuyPrice(20);
return getSysParam('tmpBuyPrice'); //结果:20
```
### `setRetSellPrice(price)`
设置一个“tmpSellPrice”自定义的系统变量的值
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `price` | Real | 实数,价格 |
返回:Integer
#### 示例
```tsl
setRetSellPrice(50);
return getSysParam('tmpSellPrice'); //结果:50
```
@@ -0,0 +1,142 @@
# 因子与量化 / 因子研究
### `fundCl(fund_id, index_id, beg_t, end_t, rf)`
基金选股择时能力-CL模型
| 参数 | 类型 | 说明 |
| ---------- | -------- | ------------------------ |
| `fund_id` | string | 字符串类型,基金代码 |
| `index_id` | string | 字符串类型,市场基准代码 |
| `beg_t` | datetime | 日期类型,开始日 |
| `end_t` | datetime | 日期类型,截止日 |
| `rf` | float | 日无风险收益率(%) |
返回:array
### `fundsRptPersistence(funds, begt, endt, cycle, bk_name, feature, zbqk_type, index_id, rf, alian_type, alpha)`
业绩延续性
| 参数 | 类型 | 说明 |
| ------------ | -------- | -------------------------------------------------------------- |
| `funds` | array | 一维字符串数组,基金序列 |
| `begt` | datetime | 日期,开始日 |
| `endt` | datetime | 日期,截止日 |
| `cycle` | string | 字符串,周期,根据指定周期划分begt至endt区间,获得待测时间序列 |
| `bk_name` | string | 字符串,基金业绩指标排名板块 |
| `feature` | any | 整数型,业绩指标 |
| `zbqk_type` | any | 整数型,业绩指标计算区间 |
| `index_id` | string | 字符串,市场基准代码 |
| `rf` | float | 实数型,年无风险收益率(%) |
| `alian_type` | any | 整数型,前后两期样本对齐方式 |
| `alpha` | float | 实数型,显著性水平 |
返回:array
### `indexFdFee(indexid, endt)`
Index_FD_Fee 相关函数。
| 参数 | 类型 | 说明 |
| --------- | -------- | ---------------- |
| `indexid` | string | 字符串,指数代码 |
| `endt` | datetime | 日期,截止日 |
返回:float
### `mfGroupCrossGroup(data, f_name, g_name, g_num, score)`
中性化-交叉分层分组(分层中性化) 注意:结果跟中性化因子的顺序有关。
| 参数 | 类型 | 说明 |
| -------- | ------ | --------------------------------------------------------------- |
| `data` | array | 数据表类型,因子数据 |
| `f_name` | string | 字符串, 目前只支持单个因子值字段名 |
| `g_name` | string | 一维字符串数组,待中性因子值的字段名,可以为多个字段名组成的数组 |
| `g_num` | any | 整数,控制每一层的分组数 |
| `score` | any | 数据表类型,中性得分 |
返回:any
### `mulfactorInvokerExportfactorBackTestData(obj_ts_multi_factor, vtype, advance_config)`
101-单因子评价体系可选模板
| 参数 | 类型 | 说明 |
| --------------------- | ------ | --------------- |
| `obj_ts_multi_factor` | any | 整数, |
| `vtype` | string | 字符串,命令版本 |
| `advance_config` | any | 表达式,高级设置 |
返回:array
### `mulFactorInvokerGetFactorMetricsTimeSeries(obj_ts_multi_factor, vtype, advance_config)`
v1:分组收益 + 多空收益 日线 v2:分组收益 + 多空收益 + IC 按调仓周期绘图查看 范例见 mulfactor_Invoker_ExportfactorBackTestData 说明详见多因子框架文档
| 参数 | 类型 | 说明 |
| --------------------- | ------ | ----------------------- |
| `obj_ts_multi_factor` | any | 整数, |
| `vtype` | string | 字符串, |
| `advance_config` | array | 一维字符串数组,高级设置 |
返回:array
### `stockMomCgoFactor(end_t, ndays)`
CGO指标
| 参数 | 类型 | 说明 |
| ------- | -------- | ----------------- |
| `end_t` | datetime | TDateTime,截止日 |
| `ndays` | any | int,天数 |
返回:float
### `stockRdSkew(rsp_cycle, n)`
已实现偏度
| 参数 | 类型 | 说明 |
| ----------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `rsp_cycle` | any | 采样小周期 |
| `n` | any | 整型,当前时间向历史推移N个周期长度作为采样的时间区间(大区间),与当前时间,周期相关。默认为 1,与市场周期对齐;N为0时,返回最后一个高频时刻 |
返回:float
### `stockRdVar(rsp_cycle, n)`
已实现方差
| 参数 | 类型 | 说明 |
| ----------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `rsp_cycle` | any | 采样小周期 |
| `n` | any | 整型,当前时间向历史推移N个周期长度作为采样的时间区间(大区间),与当前时间,周期相关。默认为 1,与市场周期对齐;N为0时,返回最后一个高频时刻 |
返回:float
### `stocksFdFee(stocks_arr, endt)`
Stocks_FD_Fee 相关函数。
| 参数 | 类型 | 说明 |
| ------------ | -------- | ---------------------- |
| `stocks_arr` | array | 一维字符串数组,股票池 |
| `endt` | datetime | 日期,截止日 |
返回:float
### `tsmfFactoryByUserDataAndFactorarr(my_factor_arr, factor_arr, begt, end_t, index_id)`
多因子评价构造器-02.1-导入外部计算好的因子
| 参数 | 类型 | 说明 |
| --------------- | -------- | ----------------------- |
| `my_factor_arr` | any | 数据表类型,用户外部因子 |
| `factor_arr` | any | 数据表类型,因子选择 |
| `begt` | datetime | 日期,开始日 |
| `end_t` | datetime | 日期,截止日 |
| `index_id` | string | 指数,基准 |
返回:array
@@ -0,0 +1,11 @@
# 因子与量化
函数数:342
| 叶子 | 文件 | 函数数 |
| --- | --- | ---: |
| 因子与量化 / Dev | [因子与量化 / Dev](dev.md) | 9 |
| 因子与量化 / 因子研究 | [因子与量化 / 因子研究](factor.md) | 11 |
| 因子与量化 / 均线指标 | [因子与量化 / 均线指标](ma_indicator.md) | 278 |
| 因子与量化 / 其他 | [因子与量化 / 其他](misc.md) | 41 |
| 因子与量化 / 风险分析 | [因子与量化 / 风险分析](risk_analysis.md) | 3 |
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,666 @@
# 因子与量化 / 其他
### `adjustSmaple(bk_name, beg_t, from_no, to_no)`
根根据FromNoToNo选取StockArr在EndT的市盈率升序后的股票组合,再根据PercentType确定股票的比例,根据比例分配资金,返回股票的资金分配及购买股数
| 参数 | 类型 | 说明 |
| --------- | -------- | --------------------------------------------------------------------------------------------- |
| `bk_name` | string | 字符串,板块名称,在第二次跟踪时要选股的板块名称StockArr:数据表,初始股票组合 |
| `beg_t` | datetime | 日期型时间,开始跟踪日期EndT:日期型时间,结束跟踪日期AdjustMonth:整数,在跟踪期间调整的月份数 |
| `from_no` | int | 整数,起始行号 |
| `to_no` | int | 整数,截止行号 |
返回:array
### `bsByMacd(short, _type)`
MACD买入条件选股,DIF上穿(即突破)DEA。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数。
| 参数 | 类型 | 说明 |
| ------- | ---- | ------------------------------------------------------------------------------------------- |
| `short` | int | 整数,计算MACD指标线的短线Long:整数,计算MACD指标线的长线M:整数,计算MACD指标线的交易日长度 |
| `_type` | int | 结果类型 |
返回:bool
#### 示例
```tsl
oV:=BackUpSystemParameters();
setsysparam(pn_stock(),'SH600004');
setsysparam(pn_date(),inttodate(20110913));
setsysparam(pn_cycle(),cy_day());
Short:=12;
Long:=26;
M:=9;
Type:=2;
v:= SsByMACD(Short,Long,M,type);
RestoreSystemParameters(oV);
return v;
```
### `cbBalanceRatio()`
1)当指定日不在在计息日与实际到期日之间,转债余额比例为nil; 2)当指定日在在计息日与实际到期日之间,返回转债余额比例。
返回:float
### `class()`
策略回测框架。 提供天软策略回测框架、策略清算、策略绩效评价。用户只需: a)设置回测时的基本属性(成员变量) b)重载GetTimeSeries方法提供调仓周期 c)重载GetTradeOrder方法提供目标比例(比例类组合)或交易明细(数量类组合) d)调用BackTest方法进行回测 e)调用查询结果,获得资产配置、持仓、交易、绩效评价等常见评价类指标 详细说明及相关范例见专题,如下链接。
返回:any
### `fiRtToDrawdownUnderwater(r)`
高点回撤序列(%)
| 参数 | 类型 | 说明 |
| ---- | ----- | ---------------------------------------------------------------------------------- |
| `r` | array | 数组,收益率(%),可为一维数字数组,或者用一列表示一个资产收益率(%)序列的二维数组 |
返回:array
### `frameCovRblw(data, alpha)`
协方差RBLW压缩估计
| 参数 | 类型 | 说明 |
| ------- | ----- | ---------------------------------------------------------------------------- |
| `data` | array | 二维数据表,T×N,T期样本数量,N个股票 |
| `alpha` | float | 实数,压缩系数,0到1,缺省时系统自动计算(推荐),计算方式见RBLW协方差压缩估计 |
返回:array
### `indexDataToShowable(index_table, base_value)`
把计算存贮好的指数数据转换
| 参数 | 类型 | 说明 |
| ------------- | ----- | ----------------------------------------------- |
| `index_table` | array | 数据表,指数结果表,必须含有’Date’,’Close’字段 |
| `base_value` | float | 实数,基准值 |
返回:array
#### 示例
```tsl
SetSysParam(PN_Stock(),'SZ000002');
SetSysParam(PN_DATE(),IntToDate(20121026));
t:=Nday(20,'Date',sp_time(),'Close',close());
Return array('转换前':t,'转换后':IndexDataToShowable(t,1000));
```
### `kline(n1, n2, n3, n4)`
K线;蜡烛线
| 参数 | 类型 | 说明 |
| ---- | ---- | ---- |
| `n1` | int | 整数 |
| `n2` | int | 整数 |
| `n3` | int | 整数 |
| `n4` | int | 整数 |
返回:Graph
#### 示例
```tsl
SetSysParam(pn_stock(),'SH000001');
SetSysParam(pn_date(),inttodate(20140123));
Return KLine(5,10,20,60);
```
### `mfIsMissValue(a, _type, zero_eps)`
是否缺失值判断
| 参数 | 类型 | 说明 |
| ---------- | ----- | -------------------------------------- |
| `a` | float | 实数, 可以为数组或者标量 |
| `_type` | any | 整数, |
| `zero_eps` | float | 实数, 与0的差距范围,实数;默认 epsi() |
返回:array
### `micdF(n, n1, n2, _type)`
异同离差动力指数,与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()和执行点数PN_nDay()相关。调用时需注意设置系统参数。
| 参数 | 类型 | 说明 |
| ------ | ---- | ---------------- |
| `n` | any | 整数,交易日天数 |
| `n1` | any | 整数,交易日天数 |
| `n2` | any | 整数,交易日天数 |
| `_type` | any | 结果类型 |
返回:array
### `obvMaV(n, m)`
能量潮的M日移动平均,与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()和复权基准日pn_rateday()相关。调用时需注意设置系统参数。
| 参数 | 类型 | 说明 |
| ---- | ---- | ---------------- |
| `n` | any | 整数,交易日天数 |
| `m` | any | 整数,交易日天数 |
返回:float
### `optionsSkewCalDetail(option_arr, op_type)`
多个期权Skew计算详情,与系统时间、周期相关,返回每个期权的隐含波动率、期权类型、Delta
| 参数 | 类型 | 说明 |
| ------------ | ----- | ------------------------ |
| `option_arr` | array | 多个期权代码,数组类型 |
| `op_type` | any | 期权类型,整型,取值如下 |
返回:array
### `pfInverstmentRatio(wp, wb)`
投资比例与超配。总表为wb左连接wp,超配比例=wp表’比例’字段-wb表’比例’字段,若不存在该字段则用0代替。
| 参数 | 类型 | 说明 |
| ---- | ----- | ---------------- |
| `wp` | array | 数据表类型,组合 |
| `wb` | array | 数据表类型,基准 |
返回:any
### `pfRachev(t, fname1, alpha, beta, rf)`
Rachev比率。
| 参数 | 类型 | 说明 |
| -------- | ------ | --------------------- |
| `t` | array | 数据表类型 |
| `fname1` | string | 字符串,列名 |
| `alpha` | float | 实数,盈利置信度 |
| `beta` | float | 实数,亏损的置信度 |
| `rf` | float | 实数,无风险收益率(%) |
返回:float
### `rccdF(n, n1, n2, _type)`
异同离差变化率指数,与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()、复权基准日pn_rateday()和执行点数PN_nDay()相关。调用时需注意设置系统参数。
| 参数 | 类型 | 说明 |
| ------ | ---- | ---------------- |
| `n` | any | 整数,交易日天数 |
| `n1` | any | 整数,交易日天数 |
| `n2` | any | 整数,交易日天数 |
| `_type` | any | 结果类型 |
返回:array
### `schmidtOrth(data, if_std)`
施密特正交化,对矩阵进行正交,区别于SymOrthogonal,不会改变第一列
| 参数 | 类型 | 说明 |
| -------- | ----- | ----------------------------------------------------- |
| `data` | array | 二维数字数组, 二维数组 行下标为数字或字符串的二维数组 |
| `if_std` | any | 用户自定义, 是否标准化 |
返回:array
### `ssByMtm(n, m)`
MTM卖出条件选股,MTM的M日均线下穿(即跌破)0。与系统证券pn_stock()、系统时间pn_date()和系统周期pn_cycle()有关。调用时需注意设置系统参数。
| 参数 | 类型 | 说明 |
| ---- | ---- | ----------------------------- |
| `n` | int | 整数,统计天数 |
| `m` | int | 整数,计算MTM均线的交易日长度 |
返回:bool
#### 示例
```tsl
oV:=BackUpSystemParameters();
setsysparam(pn_stock(),'SH600004');
setsysparam(pn_date(),inttodate(20110913));
setsysparam(pn_cycle(),cy_day());
N:=12;
M:=6;
v:=SsByMTM(N,M);
RestoreSystemParameters(oV);
return v;
```
### `stocksAssocConcept(stocksarr, endt, concept_bk_arr)`
基于概念的股票关联网络
| 参数 | 类型 | 说明 |
| ---------------- | -------- | ---------------------------------------------- |
| `stocksarr` | array | 一维数组类型,股票序列 |
| `endt` | datetime | 日期类型,截止日 |
| `concept_bk_arr` | array | 一维数组类型,概念板块代码序列,默认为全部板块 |
返回:array
### `voscV(short, long)`
成交量震荡,与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()和复权基准日pn_rateday()相关。调用时需注意设置系统参数。
| 参数 | 类型 | 说明 |
| ------- | ---- | -------------------- |
| `short` | any | 整数,短期交易日天数 |
| `long` | any | 整数,长期交易日天数 |
返回:float
### `getDateArr(begt, endt, days_interval, show_cycle, t)`
获取时间序列。生成字段’计算指标开始日’,’持仓截止日’,其中’计算指标开始日’为begt到Endt的时间往前推一年,’持仓截止日’为begt到endt。
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `begt` | TdateTIME | TdateTIME 开始日期 |
| `endt` | | Tdatetime 截止日期 |
| `days_interval` | integer | integer 指标开始计算日向前推移年份 |
| `show_cycle` | String | String 周期 |
| `t` | | 数据表类型,源数据 |
返回:any
#### 示例
```tsl
return getDateArr(20111230T,20120914T,1,'日线');
返回:
```
### `splitDiv(len, n)`
网格参数划分,分不平均时,余数给最后一个网格
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `len` | int | 整型,参数个数 |
| `n` | int | 整型,网格个数 |
返回:array
#### 示例
```tsl
return unit(multi_proc_unit).splitDiv(14,5); // array(0,2,4,6,8,14)
```
### `splitDiv2(len, n)`
网格参数划分,分不平均时,前面M个网格加一
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `len` | int | 整型,参数长度 |
| `n` | int | 整型,网格个数 |
返回:array
#### 示例
```tsl
return unit(multi_proc_unit).splitDiv2(14,5); // array(0,3,6,9,12,14)
```
### `splitArrayQk(arr)`
数组等分区间,余数给最后一个网格
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `arr` | array | 数组,要划分数组 |
返回:array
#### 示例
```tsl
arr := array(2,1,3,4,9,5,7,8,9,10,11,12,13,15);
return unit(multi_proc_unit).splitArrayQk(arr,5); //array((2,1),(3,4),(9,5),(7,8),(9,15))
```
### `splitArrayQk2(arr)`
数组等分区间,分不平均时,前面M个网格加一
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `arr` | array | 数组,要划分数组 |
返回:array
#### 示例
```tsl
arr := array(2,1,3,4,9,5,7,8,9,10,11,12,13,15);
return unit(multi_proc_unit).splitArrayQk2(arr,5);
// array((2,3),(4,5),(7,9),(10,12),(13,15))
```
### `addTitle(t, title)`
增加表头。
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `t` | array | 数据表类型,源数据 |
| `title` | String | 字符串,表头 |
返回:any
#### 示例
```tsl
return addTitle(``array('a':1),'b');
返回:
```
### `gridLogo(str, dir)`
网格写日志,一个网格id一个文件
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `str` | string | 字符串型,任务名称 |
| `dir` | string | 字符串型,日志文件路径 ,默认为:C:\\temp\\Gridlog |
返回:int
#### 示例
```tsl
//在C:\\temp\\Gridlog默认路径下写日志文件
return unit(multi_proc_unit).gridLogo('测试');
```
### `setToFirstValue(t1, t2)`
归一处理,用于在计算复合指数时,在基准数据t2的基础上对t1归一化
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `t1` | TableArray | 数据表,必须含有’close’字段 |
| `t2` | TableArray | 数据表,必须含有’close’字段 |
返回:TableArray
### `wacc(rf, rm, beta, kd, delta)`
加权资本成本WACC%
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `rf` | Real | 实数,无风险利率(%) |
| `rm` | Real | 实数,市场预期收益率(%) |
| `beta` | Real | 实数,β系数 |
| `kd` | Real | 实数,债务成本(%) |
| `delta` | Real | 实数,资产负债率(%) |
返回:Real
#### 示例
```tsl
return wacc(3.84,10.84,0.637,4.1,40); //结果:6.6194
```
### `getTrueRp(w)`
计算资产组合的期望收益率,与自定义的系统变量’TZZHRiMatrix’有关,调用之前先设置该系统变量。并且w的长度必须跟该系统变量的值的长度一致
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `w` | Array | 一位数字数组,投资品种比例 |
返回:TableArray
#### 示例
```tsl
a:=array(2,3,4,5,8);
setSysParam('TZZHRiMatrix',a);
w:=array(1,4,6,3,7);
return getTrueRp(w); //结果:5.19048
```
### `adjustSampleByAny(bk_name, beg_t, money, eval_exp, sort_dir, range_type, range_beg, range_end, percent_type, condition)`
计算满足条件Condition的股票的EvalExp,选取值在RangeBeg跟RangeEnd之间,按照不同的RangeType类型选择股票,并分配资金
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `bk_name` | Striong | 字符串,板块名称 |
| `beg_t` | TDateTime | 日期型时间,开始时间 |
| `money` | Real | 实数,初始资金 |
| `eval_exp` | Expression | 表达式 |
| `sort_dir` | Boolean | 真假,排序方向 |
| `range_type` | Integer | 整数,范围类型 |
| `range_beg` | Real | 实数,范围上限 |
| `range_end` | Real | 实数,范围下限 |
| `percent_type` | Integer | 整数,资金分配方法,用户自定义,含义如下表: |
| `condition` | Expression | 表达式,条件选择 |
返回:TableArray
#### 示例
```tsl
return adjustSampleByAny(
"深证A股",
intToDate(20120916),
500,
@close(),
false,
0,
7,
9,
0,
@true);
//结果:
```
### `needAdjustSampleByDays(beg_t, current_date, adjust_days)`
判断起始日期BegT间隔相应天数AdjustDays是否在系统限定的当前日期CurrentDate内
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `beg_t` | | 日期型时间,起始日期 |
| `current_date` | | 日期型时间,当前时间 |
| `adjust_days` | | 整数 |
返回:Boolean
#### 示例
```tsl
begt:=intToDate(20121018);
endt:=intToDate(20121026);
return needAdjustSampleByDays(begt,endt,9); //结果:0
```
### `encodePortfolioName(name, beg_t, end_t, method_type, yh_type, predict_yield, max_risk)`
用于生成投资组合的结果保存的名称
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `name` | String | 字符串,股票列表 |
| `beg_t` | TDateTime | 日期型时间,开始时间 |
| `end_t` | TDateTime | 日期型时间,结束时间 |
| `method_type` | Ingteger | 整数,0表示’Markowitz法’,1表示’单指数法’ |
| `yh_type` | Integer | 整数,0表示’收益,风险最小’,1表示’风险,收益最大’ |
| `predict_yield` | Real | 实数 |
| `max_risk` | Real | 实数 |
返回:String
#### 示例
```tsl
return encodePortfolioName(
"某股票",
intToDate(20120618),i
nttodate(20120919),0,0,0,0);
//结果:’某股票,从20120618到20120919,Markowitz法,限定收益为0求风险最小’
```
### `allBkYieldAndRisk(period, start_date)`
所有板块Period期的预期收益和风险
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `period` | Integer | 整数,做足period期 |
| `start_date` | TDateTime | 日期型时间,开始时间 |
返回:TableArray
#### 示例
```tsl
return allBkYieldAndRisk(20,intToDate(20120628));
//结果:
```
### `needAdjustSmaple(beg_t, current_date, adjust_month)`
判断CurrentDate是否还在BegT往后推AdjustMonth*30的日期内
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `beg_t` | TDateTime | 日期型时间,起始时间 |
| `current_date` | TDateTime | 日期型时间,当前时间 |
| `adjust_month` | Integer | 整数,往后推的月份数,月份间隔数 |
返回:TableArray
#### 示例
```tsl
return needAdjustSmaple(intToDate(20120618),intToDate(20120926),4);
//结果:0
```
### `emptyvalue()`
返回受pn_emptymode控制的空值(实数)
返回:Real
### `riskFreeRateofReturnDayly(rf, cy, rate_type, days_in1y)`
年化无风险收益率转换非年化收益率,与系统参数(股票,时间)相关。
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `rf` | real | 实数,年化无风险收益率(%) |
| `cy` | String | 周期,非年化收益率周期 |
| `rate_type` | Integer | 用户自定义,年化收益率折算为非年化收益率方法 |
| `days_in1y` | Integer | 用户自定义 |
返回:real
#### 示例
```tsl
setSysParam(pn_stock(),'sz000001');
setSysParam(PN_Date(),20180801T);
return riskFreeRateofReturnDayly(3,cy_day(),'单利',250);
//返回:0.01
```
### `fastmap(grid_no, func, parms, parmstype)`
调用网格执行func
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `grid_no` | int | 整型,网格个数,表示另开的网格数,0表示只使用本地服务器 |
| `func` | string | 字符串型或函数指针,要调用网格计算的函数 |
| `parms` | array | 数组,func的参数列表 |
| `parmstype` | array | 数组,parms的对应类型 |
返回:array
### `gettablebyReg(reg)`
通过正则表达式匹配名称,获取用户数据
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `reg` | string | 字符串型,匹配的字符串 |
返回:array
#### 示例
```tsl
return unit(multi_proc_unit).gettablebyReg('test');
```
### `tryInsetTable(path, value)`
添加用户数据,如果用户数据存在同名,则插入,否则新建
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `path` | string | 字符串型,用户数据存储路径 |
| `value` | array | 数组,要存储的数据 |
返回:int
#### 示例
```tsl
return unit(multi_proc_unit).tryInsetTable('test',array(1,2,3));
```
### `getAllThemespools(end_t, details)`
默认主题池:主题关键字及其对应的代表指数、成分股
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `end_t` | Date | 日期, 截止日 |
| `details` | DBData | 数据表类型, 返回参数,包含主题详情信息 |
返回:array
#### 示例
```tsl
end_t := 20230919T;
return getAllThemespools(end_t);
```
### `fileterValue(v, w)`
找出需要过滤处理的日期
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `v` | TableArray | 数据表,必须含有’time’字段 |
| `w` | Array | 一维日期型时间数组 |
返回:TableArray
#### 示例
```tsl
v:=array(('s':0,'time':41201),('s':6,'time':41202),('s':2,'time':41203),('s':8,'time':41204),('s':2,'time':41207),('s':3,'time':41208));
w:=array(41101,41202,41205,41206,41207,41209);
fileterValue(v,w);
//结果:
```
@@ -0,0 +1,46 @@
# 因子与量化 / 风险分析
### `getDataByDiff(stks, beg_t, end_t, zb_name, zb_exp)`
按条件筛选股票,测试函数。返回包括表达式ZBExp的基本信息,若在begt未上市交易则剔除。
| 参数 | 类型 | 说明 |
| --------- | -------- | -------------- |
| `stks` | array | 一维字符串数组 |
| `beg_t` | datetime | 日期 |
| `end_t` | datetime | 日期 |
| `zb_name` | string | 字符串 |
| `zb_exp` | string | 字符串 |
返回:float
### `pfComponentBetaPercent2(t, index_id, begt, endt, min_trade_days, method_for_no_enough_data)`
成份β贡献,组合中某一证券对组合β的百分比贡献。
| 参数 | 类型 | 说明 |
| --------------------------- | -------- | ---------------------------------------------------------------------- |
| `t` | array | 数据表类型,样本 |
| `index_id` | string | 指数,基准代码 |
| `begt` | datetime | 日期,计算开始日 |
| `endt` | datetime | 日期,计算截止日 |
| `min_trade_days` | any | 整数,区间最少交易点个数阀值 |
| `method_for_no_enough_data` | array | 用户自定义,证券代替方法 (若组合中指定证券区间交易点个数< MinTradeDays) |
返回:any
### `pfVarByHistoricalSimulation(w, beg_t, end_t, confidence_interval, market_value, delta_t, method_type)`
VAR-历史模拟法。
| 参数 | 类型 | 说明 |
| --------------------- | -------- | -------------------------------- |
| `w` | array | 数据表类型,组合信息 |
| `beg_t` | datetime | 日期,开始日期 |
| `end_t` | datetime | 日期,截止日期 |
| `confidence_interval` | any | 整数,置信度(%) |
| `market_value` | float | 实数,组合市值 |
| `delta_t` | any | 整数,未来持有期 |
| `method_type` | any | 用户自定义,组合最大亏损计算方法 |
返回:float