历史文档

【历史文档】高阶技巧-将自定义python模块封装成你的功能定制模块

由bq7zuymm创建,最终由small_q 被浏览 71 用户

更新

本文内容对应旧版平台与旧版资源,其内容不再适合最新版平台,请查看新版平台的使用说明

新版量化开发IDE(AIStudio):

https://bigquant.com/wiki/doc/aistudio-aiide-NzAjgKapzW

新版模版策略:

https://bigquant.com/wiki/doc/demos-ecdRvuM1TU

新版数据平台:

https://bigquant.com/data/home

https://bigquant.com/wiki/doc/dai-PLSbc1SbZX

新版表达式算子:

https://bigquant.com/wiki/doc/dai-sql-Rceb2JQBdS

新版因子平台:

https://bigquant.com/wiki/doc/bigalpha-EOVmVtJMS5

\

简介

我们来看看再封装自定义python模块时最主要的参数:

  1. 模块输入(输出)端

若你再模块输入端只输入input_1的话, 封装后只会出现一个点:

上述模块时某用户封装的, 由于再模块输入端只输入了input_1, 所以封装完成后只出现了一个连接点; 类似的改模块封装前在模块输出端只输入了data_1和data_2, 所以该模块输出节点会有两个.

  1. 自定义输入参数或下拉选项

这时就需要用到模块参数这一功能栏了:

若你需要传入一个浮点型参数num, 你需要进行两步:

(1) 在主函数传参中添加num参数:

(2) 进一步在模块参数中添加对应键值对:

  1. 实际应用

现在给一个应用场景, 传入数据表, 现在取出数据表中指定的字段列: 如加载日行情数据, 之后选出股票代码、日期、收盘价三列. 我们来分析一下这个业务场景:

1> 传入数据表, 说明这个自定义模块需要一个输入端, 所以模块输入端需要写一个input_1;

2> 指定字段列, 但由于考虑到模块的可复用性, 这里考虑手动输入参数;

3> 考虑到不可能只取一个字段, 所以需要考虑参数以什么样的形式输入;

4> 最后输出包含三列的数据, 所以需要一个输出端口data_1.

首先我们先完成1>和4>

接下来我们需要完成2和3, 传入一个字段的话只需要输入字段名即可, 那么多个字段我们该如何应对, 这里提供一个思路: 特殊字符将字段名隔开, 如&.

首先在主函数参数传入中添加参数;

在模块参数中添加键值对, 默认字段为date和instrument, 并用&隔开.

最后我们来右键封装这个模块:

我们来看看效果

标签

Python
{link}