【历史文档】高阶技巧-将自定义python模块封装成你的功能定制模块
由bq7zuymm创建,最终由small_q 被浏览 75 用户
更新
本文内容对应旧版平台与旧版资源,其内容不再适合最新版平台,请查看新版平台的使用说明
新版量化开发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模块时最主要的参数:
- 模块输入(输出)端
若你再模块输入端只输入input_1的话, 封装后只会出现一个点:
上述模块时某用户封装的, 由于再模块输入端只输入了input_1, 所以封装完成后只出现了一个连接点; 类似的改模块封装前在模块输出端只输入了data_1和data_2, 所以该模块输出节点会有两个.
- 自定义输入参数或下拉选项
这时就需要用到模块参数这一功能栏了:
若你需要传入一个浮点型参数num, 你需要进行两步:
(1) 在主函数传参中添加num参数:
(2) 进一步在模块参数中添加对应键值对:
- 实际应用
现在给一个应用场景, 传入数据表, 现在取出数据表中指定的字段列: 如加载日行情数据, 之后选出股票代码、日期、收盘价三列. 我们来分析一下这个业务场景:
1> 传入数据表, 说明这个自定义模块需要一个输入端, 所以模块输入端需要写一个input_1;
2> 指定字段列, 但由于考虑到模块的可复用性, 这里考虑手动输入参数;
3> 考虑到不可能只取一个字段, 所以需要考虑参数以什么样的形式输入;
4> 最后输出包含三列的数据, 所以需要一个输出端口data_1.
首先我们先完成1>和4>
接下来我们需要完成2和3, 传入一个字段的话只需要输入字段名即可, 那么多个字段我们该如何应对, 这里提供一个思路: 特殊字符将字段名隔开, 如&.
首先在主函数参数传入中添加参数;
在模块参数中添加键值对, 默认字段为date和instrument, 并用&隔开.
最后我们来右键封装这个模块:
我们来看看效果