# Builtin - 资源 / 网络

## `Network_Conv_AdjDir(matrix, matrix_type, dir_type)`

图结构算法-矩阵转换：方向调整 将3类关联矩阵转为方向统一的矩阵： 1）正向处理 统计类矩阵，越大越好，value 相关系数矩阵，绝对值越大越好，abs(value) 距离类矩阵，越小越好，1/value 2）反向处理：上述取倒数

| 参数          | 类型  | 说明                         |
| ------------- | ----- | ---------------------------- |
| `matrix`      | array | 二维数字数组, 关联矩阵       |
| `matrix_type` | any   | 用户自定义, 关联矩阵类型     |
| `dir_type`    | any   | 用户自定义, 关联矩阵调整方向 |

返回：array

## `Network_Conv_ToDist(matrix)`

将关联矩阵转换为距离矩阵 要求关联矩阵是正数矩阵，且值越大表示关联性越强

| 参数     | 类型  | 说明                                                        |
| -------- | ----- | ----------------------------------------------------------- |
| `matrix` | array | 二维数字数组, 关联矩阵，其中值大于0表示两节点之间的关联强度 |

返回：array

## `NetProfitGrowRatio_12(r_date)`

最近12个月的净利润增长率(%)。 （1）归属于母公司所有者净利润数据取自合并利润分配表； （2）V1：RDate报告期最近12个月的归属于母公司所有者净利润； （3）V2：上年同期PRDate最近12个月的归属于母公司所有者净利润； （4）最近12个月的净利润增长率(%)=(V1-V2)/abs(V2)\*100。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期。 |

返回：float

## `NetDebt_12(r_date)`

最近12个月的净债务=付息债务-最近12个月的期末现金余额。 （1）付息债务=短期借款+长期借款。 （2）从资产负债表中取短期债务和长期债务，从现金流量表中取得期末现金余额。根据算法得到净债务。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期。 |

返回：float

## `NetAssetsPS_12(r_date)`

最近12个月的每股净资产。 （1）最近12个月的每股净资产=最近12个月归属母公司股东权益合计/总股本； （2）归属母公司股东权益合计取自合并资产负债表，根据最近12个月的算法计算得到最近12个月归属母公司股东权益合计【注1】； （3）总股本取RDate当天的数据。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期。 |

返回：float

## `NetAssetsPSGrowRatio_12(r_date)`

最近12个月的每股净资产增长率(%)。 （1）函数从合并利润分配表中取该报告期归属母公司股东权益合计，根据算法得到最近12个月的归属母公司股东权益合计【注1】； （2）取Rdate当日的总股本； （3）最近12个月的每股净资产V1=最近12个月的归属母公司股东权益合计/总股本； （4）同理计算上年同期的最近12个月的每股净资产V2； （5）最近12个月的每股净资产增长率(%)=(V1-V2)/abs(V2)\*100。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期。 |

返回：float

## `NetEquityReturn_12(r_date)`

最近12个月的净资产收益率(%)。 （1）净资产收益率(%)=最近12个月净利润/股东权益×100； （2）净利润取自合并利润分配表，根据最近12个月的算法得到最近12个月净利润【注1】； （3）股东权益取自合并资产负债表，只取报告期RDate的数据。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期。 |

返回：float

## `NetCashfromIA_12(r_date)`

最近12个月的投资活动产生的现金流量净额。 （1）投资活动产生的现金流量净额取自合并现金流量表； （2）根据最近12个月的算法得到最近12个月的投资活动产生的现金流量净额【注1】。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期。 |

返回：float

## `NetCashfromOAGrowRatio_12(r_date)`

最近12个月的经营活动产生的现金流量净额增长率(%)。 （1）经营活动产生的现金流量净额取自合并现金流量表；根据最近12个月的算法得到最近12个月的经营活动产生的现金流量净额V1【注1】； （2）同理取得上年同期最近12个月的经营活动产生的现金流量净额V2； （3）最近12个月的经营活动产生的现金流量净额增长率(%)=(V1-V2)/abs(V2)\*100。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期。 |

返回：float

## `NetCashFromOA_12(r_date)`

最近12个月的经营活动产生的现金流量净额。 （1）经营活动产生的现金流量净额取自合并现金流量表； （2）根据最近12个月的算法得到最近12个月的经营活动产生的现金流量净额【注1】。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期。 |

返回：float

## `NetCashFromFA_12(r_date)`

最近12个月的筹资活动产生的现金流量净额。 （1）筹资活动产生的现金流量净额取自合并现金流量表； （2）根据最近12个月的算法得到最近12个月的筹资活动产生的现金流量净额【注1】。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期。 |

返回：float

## `NetIncrease_12(r_date)`

最近12个月的现金及现金等价物净增加额。 （1）现金及现金等价物净增加额取自合并现金流量表； （2）根据最近12个月的算法得到最近12个月的现金及现金等价物净增加额【注1】。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期。 |

返回：float

## `NetProfit_12(r_date)`

最近12个月的归属于母公司所有者的净利润。 （1）母公司所有者的净利润取自合并利润分配表； （2）根据最近12个月的算法得到最近12个月的母公司所有者的净利润【注1】。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期。 |

返回：float

## `NetProfit2_12(r_date)`

最近12月净利润(业绩快报)，与系统参数(股票)相关。

| 参数     | 类型     | 说明         |
| -------- | -------- | ------------ |
| `r_date` | datetime | 整数。报告期 |

返回：float

## `NetEquityReturn_Year(r_date, n)`

最近N年的净资产收益率(%)。 （1）取向后兼容的最新年报Q1，取N-1年前同期的年报Q2； （2）取Q2报告期的归属于母公司所有者的净利润（合并利润分配表）v1，以及Q2报告期的归属母公司股东权益合计（合并资产负债表）v2； （3）最近N年的净资产收益率(%)=v1/v2\*100。

| 参数     | 类型     | 说明            |
| -------- | -------- | --------------- |
| `r_date` | datetime | 整数，报告期；  |
| `n`      | any      | 整数，最近N年。 |

返回：float

## `NetAssetsPerShare_Year(r_date)`

最近1年的每股净资产。 （1）取向后兼容RDate的最新报告期NewRDate； （2）从资产负债表中取报告期NewRDate的归属母公司股东权益合计V1，以及NewRDate当天的总股本V2； （3）最近1年的每股净资产=V1/V2； （4）注意，资产负债表的科目不统计最近12个月的数据，只返回报告期的数据。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期； |

返回：float

## `NetProfit_Year(r_date, n)`

最近N年的归属于母公司所有者的净利润。 （1）取向后兼容的最新年报Q1，取N-1年前同期的年报Q2； （2）在合并利润分配表取Q2报告期的归属于母公司所有者的净利润。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期； |
| `n`      | any      | 整数，最近N年  |

返回：float

## `NetIncrease_Q(r_date)`

季度的现金及现金等价物净增加额。 （1）从合并现金流量表中取出现金及现金等价物净增加额； （2）按照季度的算法，计算出RDate季度的现金及现金等价物净增加额【注1】。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期。 |

返回：float

## `NetCashfromIA_Q(r_date)`

季度的投资活动产生的现金流量净额。 （1）从合并现金流量表中取出投资活动产生的现金流量净额； （2）按照季度的算法，计算出RDate季度的投资活动产生的现金流量净额【注1】。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期。 |

返回：float

## `NetCashFromOA_Q(r_date)`

季度的经营活动产生的现金流量净额。 （1）从合并现金流量表中取出经营活动产生的现金流量净额； （2）按照季度的算法，计算出RDate季度的经营活动产生的现金流量净额【注1】。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期。 |

返回：float

## `NetCashFromFA_Q(r_date)`

计算指定报告期最近1季度的筹资活动产生的现金流。 根据季度数据的算法【注3】，函数从合并现金流量表中取出多个报告期的筹资活动产生的现金流，计算最近1季度的筹资活动产生的现金流。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期； |

返回：float

## `NetProfit_Q(r_date)`

计算指定报告期最近1季度的净利润。 根据季度数据的算法【注3】，函数从合并现金流量表中取出多个报告期的筹资活动产生的现金流，计算最近1季度的净利润。

| 参数     | 类型     | 说明           |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数，报告期； |

返回：float

## `NetProfit2_Q(r_date)`

归属于母公司所有者净利润(业绩快报)，与系统参数(股票)相关。 实数。归属于母公司所有者净利润(业绩快报)。

| 参数     | 类型     | 说明         |
| -------- | -------- | ------------ |
| `r_date` | datetime | 整数。报告期 |

返回：float

## `Network_Node_DegreeCentrality(matrix)`

度中心度

| 参数     | 类型  | 说明                       |
| -------- | ----- | -------------------------- |
| `matrix` | array | 二维数字数组类型，关联矩阵 |

返回：array

## `Network_Node_ClosenessCentrality(matrix, matrix_type)`

邻近中心度

| 参数          | 类型  | 说明                       |
| ------------- | ----- | -------------------------- |
| `matrix`      | array | 二维数字数组类型，关联矩阵 |
| `matrix_type` | any   | 整数型，关联矩阵类型       |

返回：array

## `Network_Node_BetweennessCentrality(matrix, matrix_type)`

中介中心度

| 参数          | 类型  | 说明                       |
| ------------- | ----- | -------------------------- |
| `matrix`      | array | 二维数字数组类型，关联矩阵 |
| `matrix_type` | any   | 整数型，关联矩阵类型       |

返回：array

## `Network_Node_NetCentrality(matrix, matrix_type)`

网络中心度

| 参数          | 类型  | 说明                       |
| ------------- | ----- | -------------------------- |
| `matrix`      | array | 二维数字数组类型，关联矩阵 |
| `matrix_type` | any   | 整数型，关联矩阵类型       |

返回：array

## `Network_Node_EigenvectorCentrality(matrix, matrix_type)`

特征向量中心度

| 参数          | 类型  | 说明                       |
| ------------- | ----- | -------------------------- |
| `matrix`      | array | 二维数字数组类型，关联矩阵 |
| `matrix_type` | any   | 整数型，关联矩阵类型       |

返回：array

## `Network_Density(matrix)`

网络密度

| 参数     | 类型  | 说明                       |
| -------- | ----- | -------------------------- |
| `matrix` | array | 二维数字数组类型，关联矩阵 |

返回：float

## `Network_AveragePathLength(matrix, matrix_type)`

平均路径长度

| 参数          | 类型  | 说明                       |
| ------------- | ----- | -------------------------- |
| `matrix`      | array | 二维数字数组类型，关联矩阵 |
| `matrix_type` | any   | 整数型，关联矩阵类型       |

返回：float

## `Network_MeanOccupiedLayer(matrix, matrix_type)`

平均占有层

| 参数          | 类型  | 说明                       |
| ------------- | ----- | -------------------------- |
| `matrix`      | array | 二维数字数组类型，关联矩阵 |
| `matrix_type` | any   | 整数型，关联矩阵类型       |

返回：float

## `netassetweeklylist_call(fund_arr, end_t, beg_t, sort_by, sort_order, return_number)`

基金列表指定区间单位净值、累计净值及其变化。

| 参数            | 类型     | 说明                                   |
| --------------- | -------- | -------------------------------------- |
| `fund_arr`      | array    | 数组。基金列表。                       |
| `end_t`         | datetime | 日期。截止日期。                       |
| `beg_t`         | datetime | 日期。同比日期。                       |
| `sort_by`       | string   | 字符串。排序字段，取值如下:            |
| `sort_order`    | any      | 整数。排序方法，1表示正序，0表示逆序。 |
| `return_number` | any      | 整数。返回个数。                       |

返回：array

## `sysSendMail()`

（参考文档未提供简述。）

返回：any

## `setHttpAcceptencodingon(session, is_zip)`

设定是否支持压缩。

| 参数      | 类型   | 说明                       |
| --------- | ------ | -------------------------- |
| `session` | comobj | session ID                 |
| `is_zip`  | bool   | 是否支持压缩传输，默认支持 |

返回：any

### 示例

```tsl
url := "http://www.baidu.com";
sid := createHttpSession();
setHttpAcceptencodingon(sid, false); // 设定为不允许压缩传输
setHttpCallBack(sid, findfunction("DownProg01")); // 进度回调
r := getHttp(url, 60000, v, code);
echo "\r\nDone", '->code:', code, '->返回内容总长度:', length(v), "\r\n";
return 0;
// --------------进度回调函数---------------------
function DownProg01(sid, alldn_b, dn_b, allup_b, up_b); // progresscallback-不提前结束
begin
if dn_b > 0 then // 如果大于0则打印
begin
echo "AlldnB:", alldn_b, ",dnB:", dn_b, ",AllupB:", allup_b, ",upB:", up_b, "\r\n";
end;
return 0; // not done
end;
// 打印信息如下：
```

## `setHttpAcceptencoding(session, acceptencodingstr)`

设定压缩格式编码类型。

| 参数                | 类型   | 说明                |
| ------------------- | ------ | ------------------- |
| `session`           | comobj | session ID          |
| `acceptencodingstr` | string | Accept-Encoding类型 |

返回：any

### 示例

```tsl
url := "http://www.baidu.com";
sid := createHttpSession();
setHttpAcceptencoding(sid, "gzip"); // 设定压缩格式编码类型
setHttpCallBack(sid, findfunction("DownProg01")); // 进度回调
r := getHttp(url, 60000, v, code);
echo "\r\nDone", '->code:', code, '->返回内容总长度:', length(v), "\r\n";
return 0;
// --------------进度回调函数---------------------
function DownProg01(sid, alldn_b, dn_b, allup_b, up_b); // progresscallback-不提前结束
begin
if dn_b > 0 then // 如果大于0则打印
begin
echo "AlldnB:", alldn_b, ",dnB:", dn_b, ",AllupB:", allup_b, ",upB:", up_b, "\r\n";
end;
return 0; // not done
end;
// 打印结果：
// 注：当http进度回调时，当服务器使用分块传输（启用压缩通常会使用分块传输）时， 无法预先知道总大小所以可能出现为0的情况，属于正常现象。
```

## `getUrl(src_url, parse_url)`

解析在HTML中出现的URL，返回全路径URL串。

| 参数        | 类型   | 说明                                       |
| ----------- | ------ | ------------------------------------------ |
| `src_url`   | string | 字符串类型，所需解析的URL所在HTML的源URL。 |
| `parse_url` | string | 字符串类型，所需要解析的URL。              |

返回：string

### 示例

```tsl
getUrl('http://www.tinysoft.com.cn', 'index.html')
// 结果为：http://www.tinysoft.com.cn/index.html
```

## `createHttpSession()`

创建一个http Session对象，并返回会话ID，即Session id。仅新一代TSL语言支持该函数。

返回：integer

### 示例

```tsl
// 获取指定网页的头部信息
sid := createHttpSession();
url := "http://www.baidu.com";
r := getHttp(sid, url, 60000, v, code);
hd := getHttpResponseHeader(sid);
echo hd, "\r\n";
return 1;
```

## `parseHtml(html, parsed, attr_name_is_index)`

将指定的Html字符串解析成为类似于DOM格式的结构。

| 参数                 | 类型       | 说明                                                                                                                  |
| -------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------- |
| `html`               | string     | 字符串类型，所需解析的HTML串。                                                                                        |
| `parsed`             | array      | 存放返回的类DOM结构。                                                                                                 |
| `attr_name_is_index` | bool=false | 节点的属性是否以属性名作为下标。缺省值为假，属性以0,1,2自然下标序列的数字下标排列，为真则属性值以属性名为字符串下标。 |

返回：bool
