# TSL 语言基础补录函数

这些条目来自旧 TSL language basic 文档中尚未归入现有 codegen 模块的函数/方法。

## `GradVector(fun, x)`

梯度，返回一维数组，为x点在各个方向上的导数

旧定义：`GradVector(fun;x):Array`

来源：TSL语言基础 > 数学与统计教程 > 数值计算函数 > 数值微分和积分

Source ID：30549

| 参数  | 类型 | 说明             |
| ----- | ---- | ---------------- |
| `fun` |      | 字符串，函数名   |
| `x`   |      | 一维数组，指定点 |

返回：Array，一维数组, x点在各个方向上的导数

## `differential(fun, x, toler, m)`

计算微分

旧定义：`differential(fun;x;toler;m):Real`

来源：TSL语言基础 > 数学与统计教程 > 数值计算函数 > 数值微分和积分

Source ID：30548

| 参数    | 类型 | 说明                                                                   |
| ------- | ---- | ---------------------------------------------------------------------- |
| `fun`   |      | 目标函数（字符串类型）                                                 |
| `x`     |      | 数据点（实数类型）                                                     |
| `toler` |      | 精度（实数类型）默认1.490116119384766e-008                             |
| `m`     |      | 方法（字符串extrapolation，外推法，limitation极限法）默认extrapolation |

返回：Real

## `DeleteInstance(obj)`

删除由MakeInstance生成的函数指针。

旧定义：`Function DeleteInstance(obj:pointer):Boolean`

来源：TSL语言基础 > TSL语言基础 > 函数定义体和函数 > 外部交互扩展调用接口

Source ID：36285

| 参数  | 类型 | 说明             |
| ----- | ---- | ---------------- |
| `obj` |      | pointer,函数指针 |

返回：Boolean，删除成功返回真，否则返回假

## `ListGlobalCacheRemoved()`

列出被重置或者过期的全局缓存信息, 需要高级权限HighLevel 2或者系统权限。

旧定义：`ListGlobalCacheRemoved():Array;`

来源：TSL语言基础 > TSL语言基础 > TSL全局缓存的应用说明 > 全局缓存管理 > 全局缓存管理的函数

Source ID：31529

返回：Array，被重置或过期的全局缓存信息以及被引用的用户情况。

## `ListGlobalCache()`

列出现存的全局缓存信息, 需要高级权限HighLevel 2或者系统权限。

旧定义：`ListGlobalCache():Array;`

来源：TSL语言基础 > TSL语言基础 > TSL全局缓存的应用说明 > 全局缓存管理 > 全局缓存管理的函数

Source ID：31528

返回：Array，现存全局缓存信息以及被引用的用户情况。

## `GetGlobalCacheInfo(value)`

获得全局缓存的信息。

旧定义：`GetGlobalCacheInfo(Value:Obj):Array;`

来源：TSL语言基础 > TSL语言基础 > TSL全局缓存的应用说明 > 全局缓存管理 > 全局缓存管理的函数

Source ID：31527

| 参数    | 类型 | 说明                 |
| ------- | ---- | -------------------- |
| `value` | Obj  | 全局缓存的引用类型。 |

返回：Array，缓存的信息，各字段对应的信息如下： 表格：下标 / 说明；name / 名称；memsize / 全局缓存所占用的字节；refs / 引用计数；tmexpired / 是否数据时间已经过期；createtm / 创建的时间；endtm / 设置的过期时间；expired / 是否数据已经过期（被重置）；expiredtm / 数据被重置的时间

## `CombinatorialOptimizer(pf_info_data, constraints, beg_t, end_t)`

范例(t):

旧定义：`CombinatorialOptimizer(PFInfoData;Constraints: Array;BegT;EndT:Date);`

来源：TSL语言基础 > 数学与统计教程 > 优化方法 > 组合优化 > 组合优化接口

Source ID：30650

| 参数           | 类型  | 说明                       |
| -------------- | ----- | -------------------------- |
| `pf_info_data` | Array | 组合基本信息，配置比例     |
| `constraints`  | Array | 优化模型类型及约束条件信息 |
| `beg_t`        | Date  | 数据开始时间               |
| `end_t`        | Date  | 数据截止时间               |

返回：any，优化目标； 组合权重； 最优权重下的约束条件值。 表9-5 输入参数PFInfoData字段 表格：字段 / 含义 / 类型 / 单位 / 缺省值 / 备注；IndexId / 指数代码 / Varchar / - / SH000300 / 优化模型0、1、3；StockId / 股票代码 / Varchar / - / - / 优化模型0、1、2、3；StockName / 股票名称 / Varchar / - / - / -；Weight / 初始权重 / Numeric / (%) / 等比例 / -；Industry / 行业名称 / Varchar / - / 申万一级行业 / - 注意：上表备注中的0、1、2、3表示在对应的优化目标下，该字段不为空，优化模型详细请参考优化模型函数说明： 表9-6 约束信息Constraints 表格：字段 / 类型 / 单位 / 缺省值 / 备注；优化模型 / Int / % / 0(跟踪误差最小) / 详细参考：表9-7；收益数据类型 / Int / - / 0 / 0涨幅，1对数收益率；组合收益计算 / Int / - / 0 / 0:Rebalance 1:非Rebalance；权重和 / Real / % / 100 / 0,1,2,3；分层优化 / Bool / - / False / 使用分层优化方法 (仅对模型0,1有效)；是否用行业指数 / Bool / - / True / False:使用基准提供的个股计算复合指数 （“分层优化”为真时有效）；基准数据 / Array / - / 分层优化不使用行业指数时非空 / 格式参考：表9-5 （“分层优化”为真时有效）；是否返回优化参数 / Bool / - / False / False:不返回优化信息 （“分层优化”为真时有效）；行业约束 / Array / （%） / 0<=W行业<=100 / 详细参考：表9-8；股票约束 / Array / （%） / 0<=W股票<=100 / 详细参考：表9-9；组合期望收益 / Real / (%) / 不能缺省 / 仅对优化模型2有意义；收益率协方差矩阵 / Array / (%) / 取数据计算 / 仅对优化模型2有意义；期望收益率序列 / Array / (%) / 取数据计算 / 仅对优化模型2有意义；组合跟踪误差约束 / Real / （%） / 不能缺省 / 仅对优化模型3有意义 表9-7 优化模型 表格：参数 / 含义 / 备注；0 / 跟踪误差最小 / 指数跟踪模型优化；1 / 信息比率最大 / 指数跟踪模型优化；2 / 风险最小 / Markowitz均值―方差模型；3 / 收益最大 / Roll收益模型 表9-8 行业约束 表格：字段 / 类型 / 含义 / 是否非空 / 备注；Industry / Varchar / 行业名称 / 1 / “ALL”全部的行业范围为Lb到Ub；Lb / Array / 下界 / 1 / -；Ub / Array / 上界 / 1 / - 注：表示某个行业的配比在Lb与Ub之间，如果Lb=Ub，则表示该行业的配比等于Lb。

## `RDo()`

调用本地函数，不等待返回结果而继续执行。 如果本地的函数需要系统参数，则用With带系统参数，例如With Array("abcd":123,"bcd":234); 与RDo2相比，RDo只提交任务而不等待函数的执行的返回。

旧定义：`RDo LocalFunctionName(P1;P2;…) [With SysParams];`

来源：TSL语言基础 > TSL语言基础 > 基础知识 > TSL的符号 > 保留字(关键字) > 远程调用客户端函数的保留字

Source ID：30245

返回：any
