@@ -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 @@
|
||||
# 因子与量化 / 因子研究
|
||||
|
||||
## `Fund_CL(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
|
||||
|
||||
## `funds_rpt_Persistence(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
|
||||
|
||||
## `Index_FD_Fee(indexid, endt)`
|
||||
|
||||
Index_FD_Fee 相关函数。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | -------- | ---------------- |
|
||||
| `indexid` | string | 字符串,指数代码 |
|
||||
| `endt` | datetime | 日期,截止日 |
|
||||
|
||||
返回:float
|
||||
|
||||
## `MF_Group_CrossGroup(data, f_name, g_name, g_num, score)`
|
||||
|
||||
中性化-交叉分层分组(分层中性化) 注意:结果跟中性化因子的顺序有关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------ | --------------------------------------------------------------- |
|
||||
| `data` | array | 数据表类型,因子数据 |
|
||||
| `f_name` | string | 字符串, 目前只支持单个因子值字段名 |
|
||||
| `g_name` | string | 一维字符串数组,待中性因子值的字段名,可以为多个字段名组成的数组 |
|
||||
| `g_num` | any | 整数,控制每一层的分组数 |
|
||||
| `score` | any | 数据表类型,中性得分 |
|
||||
|
||||
返回:any
|
||||
|
||||
## `mulfactor_Invoker_ExportfactorBackTestData(obj_ts_multi_factor, vtype, advance_config)`
|
||||
|
||||
101-单因子评价体系可选模板
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------------------- | ------ | --------------- |
|
||||
| `obj_ts_multi_factor` | any | 整数, |
|
||||
| `vtype` | string | 字符串,命令版本 |
|
||||
| `advance_config` | any | 表达式,高级设置 |
|
||||
|
||||
返回:array
|
||||
|
||||
## `mulFactor_Invoker_GetFactorMetricsTimeSeries(obj_ts_multi_factor, vtype, advance_config)`
|
||||
|
||||
v1:分组收益 + 多空收益 日线 v2:分组收益 + 多空收益 + IC 按调仓周期绘图查看 范例见 mulfactor_Invoker_ExportfactorBackTestData 说明详见多因子框架文档
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------------------- | ------ | ----------------------- |
|
||||
| `obj_ts_multi_factor` | any | 整数, |
|
||||
| `vtype` | string | 字符串, |
|
||||
| `advance_config` | array | 一维字符串数组,高级设置 |
|
||||
|
||||
返回:array
|
||||
|
||||
## `Stock_MOM_CGOFactor(end_t, ndays)`
|
||||
|
||||
CGO指标
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | -------- | ----------------- |
|
||||
| `end_t` | datetime | TDateTime,截止日 |
|
||||
| `ndays` | any | int,天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
## `Stock_RD_Skew(rsp_cycle, n)`
|
||||
|
||||
已实现偏度
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `rsp_cycle` | any | 采样小周期 |
|
||||
| `n` | any | 整型,当前时间向历史推移N个周期长度作为采样的时间区间(大区间),与当前时间,周期相关。默认为 1,与市场周期对齐;N为0时,返回最后一个高频时刻 |
|
||||
|
||||
返回:float
|
||||
|
||||
## `Stock_RD_VAR(rsp_cycle, n)`
|
||||
|
||||
已实现方差
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `rsp_cycle` | any | 采样小周期 |
|
||||
| `n` | any | 整型,当前时间向历史推移N个周期长度作为采样的时间区间(大区间),与当前时间,周期相关。默认为 1,与市场周期对齐;N为0时,返回最后一个高频时刻 |
|
||||
|
||||
返回:float
|
||||
|
||||
## `Stocks_FD_Fee(stocks_arr, endt)`
|
||||
|
||||
Stocks_FD_Fee 相关函数。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | -------- | ---------------------- |
|
||||
| `stocks_arr` | array | 一维字符串数组,股票池 |
|
||||
| `endt` | datetime | 日期,截止日 |
|
||||
|
||||
返回:float
|
||||
|
||||
## `tsmf_factory_byUserDataAndFactorarr(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
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,666 @@
|
||||
# 因子与量化 / 其他
|
||||
|
||||
## `adjustSmaple(bk_name, beg_t, from_no, to_no)`
|
||||
|
||||
根根据FromNo,ToNo选取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;
|
||||
```
|
||||
|
||||
## `CB_BalanceRatio()`
|
||||
|
||||
1)当指定日不在在计息日与实际到期日之间,转债余额比例为nil; 2)当指定日在在计息日与实际到期日之间,返回转债余额比例。
|
||||
|
||||
返回:float
|
||||
|
||||
## `class()`
|
||||
|
||||
策略回测框架。 提供天软策略回测框架、策略清算、策略绩效评价。用户只需: a)设置回测时的基本属性(成员变量) b)重载GetTimeSeries方法提供调仓周期 c)重载GetTradeOrder方法提供目标比例(比例类组合)或交易明细(数量类组合) d)调用BackTest方法进行回测 e)调用查询结果,获得资产配置、持仓、交易、绩效评价等常见评价类指标 详细说明及相关范例见专题,如下链接。
|
||||
|
||||
返回:any
|
||||
|
||||
## `FI_rt_To_DrawdownUnderwater(r)`
|
||||
|
||||
高点回撤序列(%)
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ----- | ---------------------------------------------------------------------------------- |
|
||||
| `r` | array | 数组,收益率(%),可为一维数字数组,或者用一列表示一个资产收益率(%)序列的二维数组 |
|
||||
|
||||
返回:array
|
||||
|
||||
## `frameCov_RBLW(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);
|
||||
```
|
||||
|
||||
## `MF_isMissValue(a, _type, zero_eps)`
|
||||
|
||||
是否缺失值判断
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ----- | -------------------------------------- |
|
||||
| `a` | float | 实数, 可以为数组或者标量 |
|
||||
| `_type` | any | 整数, |
|
||||
| `zero_eps` | float | 实数, 与0的差距范围,实数;默认 epsi() |
|
||||
|
||||
返回:array
|
||||
|
||||
## `MICD_f(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
|
||||
|
||||
## `OBVMa_v(n, m)`
|
||||
|
||||
能量潮的M日移动平均,与系统证券pn_stock()、系统时间pn_date()、系统周期pn_cycle()、复权方式pn_rate()和复权基准日pn_rateday()相关。调用时需注意设置系统参数。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ---- | ---------------- |
|
||||
| `n` | any | 整数,交易日天数 |
|
||||
| `m` | any | 整数,交易日天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
## `Options_SkewCal_Detail(option_arr, op_type)`
|
||||
|
||||
多个期权Skew计算详情,与系统时间、周期相关,返回每个期权的隐含波动率、期权类型、Delta
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ----- | ------------------------ |
|
||||
| `option_arr` | array | 多个期权代码,数组类型 |
|
||||
| `op_type` | any | 期权类型,整型,取值如下 |
|
||||
|
||||
返回:array
|
||||
|
||||
## `pf_InverstmentRatio(wp, wb)`
|
||||
|
||||
投资比例与超配。总表为wb左连接wp,超配比例=wp表’比例’字段-wb表’比例’字段,若不存在该字段则用0代替。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ----- | ---------------- |
|
||||
| `wp` | array | 数据表类型,组合 |
|
||||
| `wb` | array | 数据表类型,基准 |
|
||||
|
||||
返回:any
|
||||
|
||||
## `pf_Rachev(t, fname1, alpha, beta, rf)`
|
||||
|
||||
Rachev比率。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------ | --------------------- |
|
||||
| `t` | array | 数据表类型 |
|
||||
| `fname1` | string | 字符串,列名 |
|
||||
| `alpha` | float | 实数,盈利置信度 |
|
||||
| `beta` | float | 实数,亏损的置信度 |
|
||||
| `rf` | float | 实数,无风险收益率(%) |
|
||||
|
||||
返回:float
|
||||
|
||||
## `RCCD_f(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
|
||||
|
||||
## `Schmidt_orth(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;
|
||||
```
|
||||
|
||||
## `Stocks_Assoc_Concept(stocksarr, endt, concept_bk_arr)`
|
||||
|
||||
基于概念的股票关联网络
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------------- | -------- | ---------------------------------------------- |
|
||||
| `stocksarr` | array | 一维数组类型,股票序列 |
|
||||
| `endt` | datetime | 日期类型,截止日 |
|
||||
| `concept_bk_arr` | array | 一维数组类型,概念板块代码序列,默认为全部板块 |
|
||||
|
||||
返回:array
|
||||
|
||||
## `VOSC_v(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
|
||||
|
||||
## `pf_ComponentBetaPercent2(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
|
||||
|
||||
## `pf_VARByHistoricalSimulation(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
|
||||
Reference in New Issue
Block a user