历史文档

【历史文档】策略-自定义模块创建

由clearyf创建,最终由small_q 被浏览 617 用户

更新

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

新版量化开发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

\

导语

在上一篇文章,我们介绍了BigStudio可视化研究的各个模块。今天我们介绍最重要的一个模块:自定义模块,之所以说最重要,是因为策略实验开发需求多样,掌握了如何自定义模块才能在策略实验开发中更加自由灵活。

什么是模块?

模块可以将其理解为函数,目的是实现某些功能。模块的示意图如下

{w:80}{w:100}

整个流程是$x$作为输入,进入函数$f$,然后得到输出结果$f(x)$,这就是我们日常理解的函数。

在BigStudio中,模块的概念和函数一样,拥有输入(可以多个输入)和输出(也可以多个输出)。因此在画布中,每一个拥有输入连接线和输出连接线的矩形框都可以看成模块,仅有输出连接线的矩形框可以看成数据。

在示意图上,只有一个输入,一个输出,但BigStudio上的模块可以最多支持三个输入,三个输出。

示意图如下:

{w:80}{w:100}

如何自定义模块?

我们以这样的例子举例:

假设我们希望对一段时间的股票数据进行过滤,去除st股票和上市天数小于120天的股票。我们一共构建了三个模块,第一个模块有三个输出,分别是时间、股票列表、数据字段,然后第二个模块根据三个输入通过D.history_data()接口加载数据,最后,第三个模块对数据进行过滤,去除st股和上市天数小于120天的股票。详细流程见下文。

直接拖取 自定义Python模块到画布,连拖三次

{w:100}{w:100}{w:100}{w:100}选中第一个模块,点击右侧代码编辑器窗口,输入以下代码

{w:100}{w:100}{w:100}{w:100}同理,选中第二个模块,点击右侧代码编辑器窗口,输入以下代码

{w:100}{w:100}{w:100}{w:100}最后,选中第三个模块,点击右侧代码编辑器窗口,输入以下代码

{w:100}{w:100}{w:100}{w:100}模块如下连线,并为每个模块添加注释

{w:100}{w:100}{w:100}{w:100}

运行,并打印m3模块输出数据

{w:100}{w:100}{w:100}{w:100}

代码编辑器窗口

  • 什么是代码编辑器窗口?

代码编辑器窗口是BigStudio为特定模块需要输入代码进行编辑的一个窗口

{w:100}{w:100}{w:100}{w:100}

这是模块m1的右侧的代码编辑器窗口,其中点击红色箭头所指的类似于两个矩形框堆叠的按钮可以 弹出该代码编辑器窗口

  • 支持代码补齐功能

代码编辑器窗口和策略研究界面的单元格一样,同样具备 代码补齐功能。比如输入 “fs_” 这样就能弹出财务相关的因子,而且能够知道各个因子的具体含义

{w:100}{w:100}{w:100}{w:100}

今天就介绍到这里,希望大家能够自由灵活地使用自定义模块


\

标签

函数
{link}