# Deprecated 以下内容为已弃用、已移除或仅在历史运行环境中提供的接口,仅用于识别和维护旧模型。 ## Python 支持函数简介 要使用Python的引擎,首先需要将对应于客户端(如在脚本调用则为TSL.EXE)的相应位数的版本(32位对应32位,64位对应于64位)的python相应支持DLL所在位置加入系统或者PATH中,并在天软存贮目录的 `plugin\FileMgr.ini` 中加入: ```ini [Python Config] Enabled=1 version=3 ``` 如果是版本2.7的就用version=2。 ## `pyPutVar(var_name, var_value)` 声明:function 送入python变量 | 参数 | 类型 | 说明 | | ----------- | ------ | ---- | | `var_name` | string | | | `var_value` | any | | 返回:integer ## `pyGetVar(var_name)` 声明:function 从python 获得变量 | 参数 | 类型 | 说明 | | ---------- | ------ | ---- | | `var_name` | string | | 返回:any ## `pyRun(python_code, flag)` 声明:function 简单运行Python的代码 | 参数 | 类型 | 说明 | | ------------- | ------- | ------------------------------------------------------------------------------------------------------------------------- | | `python_code` | string | 字符串类型,Python代码串,可执行多行代码。注意,使用空格对齐来确定逻辑层级,相同空格数代表同一层级,一般推荐使用4个空格。 | | `flag` | integer | 可选。整型,默认不被指定,该含义由PyCompileFlags指定组合的状态,处理UTF-8源代码等问题。具体请参考Python手册。 | 返回:integer ### 示例 ```tsl s := "a=1 b=1 if a==1: b=2 "; pyRun(s); return array("a": pyGetVar("a"), "b": pyGetVar("b")); // 输出:a=1,b=2(需支持 Python 插件的旧版运行环境) ``` ## `pyCall(call_flag)` 声明:function 调用python 模块中的函数 | 参数 | 类型 | 说明 | | ----------- | ------- | --------------------------------------------------------------------------------------------------------------------- | | `call_flag` | integer | 结果输出方式与参数输入方式的设置,是一个按位(2位二进制)的状态组合值,即取值为二进制的00,01,10,11组合,具体含义如下: | 返回:any ### 示例 范例01:默认参数方式 ```tsl rdo2 pyRun("import numpy"); return rdo2 pyCall('numpy.random', 'randint', 6, 9); // 输出:6 到 8 之间的随机整数(需支持 Python 插件的旧版运行环境) ``` 范例02:数组参数方式 ```tsl rdo2 pyRun("import numpy"); return pyCall(2, 'numpy.random', 'randint', array('high': 9, 'low': 6)); // 输出:6 到 8 之间的随机整数(需支持 Python 插件的旧版运行环境) ``` 范例03:命名参数方式 ```tsl rdo2 pyRun("import numpy"); return pyCall('numpy.random', 'randint', high: 9, low: 6); // 输出:6 到 8 之间的随机整数(需支持 Python 插件的旧版运行环境) ``` ## `pyRelease()` 声明:function 释放python资源,多线程的时候可以提高效率 返回:bool ## `pyEnsure()` 声明:function 锁定python资源;由于pyrun和pyPutVar,pyGetVar会智能锁定,所以用户一般来说不需要调用该函数 返回:bool ## `pyError()` 声明:function 获取当前运行 Python 语句时的报错信息 返回:string ### 示例 ```tsl // 本地执行以下脚本 pyRun("a=math.pi"); // 此处会报错因为没有 import math return pyError(); // 输出:name 'math' is not defined ``` ## 已移除或不可用函数 以下函数仅保留用于识别和维护历史代码。 ## `rEval(eval_string, code)` 声明:function 执行R的字符串 | 参数 | 类型 | 说明 | | ------------- | ------- | ----------------------------------------- | | `eval_string` | string | 执行的串,例如”a=b+1”。 | | `code` | integer | 返回是否成功,为0表示成功过,否则为错误码 | 返回:any ## `rGetVar(var_name)` 声明:function 获取一个R的变量的值 | 参数 | 类型 | 说明 | | ---------- | ------ | ----------------------- | | `var_name` | string | 设置的变量名,例如”a”。 | 返回:any ## `rPutVar(var_name, value)` 声明:function 设置一个R的变量的值 | 参数 | 类型 | 说明 | | ---------- | ------ | ----------------------- | | `var_name` | string | 设置的变量名,例如”a”。 | | `value` | any | 设置的变量的值 | 返回:any ## `rEnsure()` 声明:function 锁定R资源;由于REval和RPutVar,RGetVar会智能锁定,所以用户一般来说不需要调用该函数 返回:bool ## `rRelease()` 声明:function 释放R资源,多线程的时候可以提高效率 返回:bool ## `mEval(eval_string)` 声明:function 执行MatLab的字符串 | 参数 | 类型 | 说明 | | ------------- | ------ | ----------------------- | | `eval_string` | string | 执行的串,例如”a=b+1”。 | 返回:integer ## `mPutVar(var_name, value)` 声明:function 设置一个MATLAB的变量的值 | 参数 | 类型 | 说明 | | ---------- | ------ | ----------------------- | | `var_name` | string | 设置的变量名,例如”a”。 | | `value` | any | 设置的变量的值 | 返回:integer ## `mGetVar(var_name)` 声明:function 获取一个MATLAB的变量的值 | 参数 | 类型 | 说明 | | ---------- | ------ | ----------------------- | | `var_name` | string | 要获得变量名,例如”a”。 | 返回:any ## `mGetBuf()` 声明:function 返回MATLAB引擎的警告或者错误信息 返回:string ## `mClose()` 声明:function 关闭MATLAB引擎 返回:any ## `mSetVisible(visible)` 声明:function 设置MATLAB引擎是否可视 | 参数 | 类型 | 说明 | | --------- | ---- | ------------------------------ | | `visible` | bool | 如果为真,则显示,为假则隐藏。 | 返回:integer ## `toXml(v)` 声明:function 转换成为XML字符串 | 参数 | 类型 | 说明 | | ---- | ---- | -------- | | `v` | any | 任意类型 | 返回:string ### 示例 ```tsl return toXml('this is XML document'); {返回值为字符串: } ``` ## `xml(v)` 声明:function 把XML串转换为任意类型 | 参数 | 类型 | 说明 | | ---- | ------ | ------------- | | `v` | string | 字符串,XML串 | 返回:any ### 示例 ```tsl return xml(' '); // 返回值为字符串:’this is a document’。 ``` ## `arrDropDuplicate(data)` 声明:function 数组去重(包含 NAN);仅保留用于识别旧代码 | 参数 | 类型 | 说明 | | ------ | ----- | -------------------- | | `data` | array | 数据表类型。数据表。 | 返回:array ## `chckxy(x, y)` 声明:function 合并x,y后对x列正序排列 | 参数 | 类型 | 说明 | | ---- | ----- | -------- | | `x` | array | 一维数组 | | `y` | array | 一维数组 | 返回:array ### 示例 ```tsl uses interp_unit; // 置顶 x := array(5, 1, 19, 8); y := array(2, 3, 1, 7); chckxy(x, y); return x | y; // 输出:array((1,3),(5,2),(8,7),(19,1)) ``` ## `histc2(a, b)` 声明:function 记录a中的元素在b中第几个区间的位置 | 参数 | 类型 | 说明 | | ---- | ----- | -------- | | `a` | array | 一维数组 | | `b` | array | 一维数组 | 返回:array ### 示例 ```tsl uses interp_unit; // 置顶 a := 1->10; b := 3->7; return histc2(a, b); // 输出:array(0,0,1,1,2,3,4,0,0,0) ``` ## `nearest(x, y, xi)` 声明:function 最邻近插值 | 参数 | 类型 | 说明 | | ---- | ----- | ------------------- | | `x` | array | 一维数组 横坐标序列 | | `y` | array | 一维数组 纵坐标序列 | | `xi` | array | 一维数组 插值点序列 | 返回:array ### 示例 ```tsl uses interp_unit; // 置顶 x := array(5, 1, 19, 8); y := array(2, 3, 1, 7); xi := array(4, 12); return nearest(x, y, xi); // 输出:array(3,1) ``` ## `pchip(x, y, xx)` 声明:function 分段三次hermite插值 | 参数 | 类型 | 说明 | | ---- | ----- | ------------------- | | `x` | array | 一维数组 横坐标序列 | | `y` | array | 一维数组 纵坐标序列 | | `xx` | array | 一维数组 插值点序列 | 返回:array ### 示例 ```tsl uses interp_unit; // 置顶 x := array(5, 1, 19, 8); y := array(2, 3, 1, 7); xx := array(4, 12); return pchip(x, y, xx); // 输出:array(3.3403,6.9345) ``` ## `ppval(pp, xx)` 声明:function 对插值点列的值数据区间中计算出插值 | 参数 | 类型 | 说明 | | ---- | ----- | ------------------------------- | | `pp` | array | 二维数组 包含列"x","coefs" | | `xx` | array | 一维数组 插值点序列 | 返回:array ## `pwch(x, y, s, dx, divdif)` 声明:function 计算下x,y所对应的不同间隔区间 | 参数 | 类型 | 说明 | | -------- | ----- | -------- | | `x` | array | 一维数组 | | `y` | array | 一维数组 | | `s` | array | 一维数组 | | `dx` | array | 一维数组 | | `divdif` | array | 一维数组 | 返回:array ## `GM_Icorr(values, target_index)` 声明:function 计算数据矩阵中各序列相对于指定参考序列的灰色关联系数 | 参数 | 类型 | 说明 | | -------------- | ------- | ------------ | | `values` | array | 二维数据矩阵 | | `target_index` | integer | 参考序列下标 | 返回:array ## `sf_expcdf(x, mu, v)` 声明:function 计算指数分布的累计分布值 | 参数 | 类型 | 说明 | | ---- | ---------- | -------------------------------------- | | `x` | real/array | 随机变量或随机变量数组 | | `mu` | real | 分布参数,默认值为 1 | | `v` | real/array | 可选。写回参数;也可省略并直接取返回值 | 返回:real/array ## `sf_exppdf(x, mu, v)` 声明:function 计算指数分布的概率密度 | 参数 | 类型 | 说明 | | ---- | ---------- | -------------------------------------- | | `x` | real/array | 随机变量或随机变量数组 | | `mu` | real | 分布参数,默认值为 1 | | `v` | real/array | 可选。写回参数;也可省略并直接取返回值 | 返回:real/array ## `reportSeriesSplit(table_name)` 声明:function 报告期数据处理。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑 | 参数 | 类型 | 说明 | | ------------ | ------ | -------------------- | | `table_name` | string | 字符串,用户数据名称 | 返回:any ## `sectionSubmitBuyVol()` 声明:function 当天截止累计委买量,与系统参数(股票、时间、周期、复权等相关),查看相关行情数据说明 返回:float