这周 PandaAI 内测第四周的学习任务。本阶段的核心目标是带我们由浅入深地掌握“专家模式”,从理解底层节点逻辑到亲手编写自定义插件。专家模式不仅将复杂的低代码工作流转化为透明的 Python 代码,更赋予了用户通过编程扩展平台能力的无限可能。
一、 开启专家模式:探索节点的底层逻辑
专家模式是连接可视化界面与底层代码的桥梁。通过该模式,我们可以实时查看每个功能节点对应的 Python 实现,理解数据是如何在不同环节之间流转与处理的。
1.进入路径:登录 PandaAI 官网,进入 “AI 工作流” 模块。
2.切换视图:在已创建或现有的工作流中点击“查看”,随后在左侧的伸缩边框中找到并点击“专家模式”。
3.逻辑拆解:在专家模式下,每个节点框都会展示其详细的 Python 代码。例如,在股票回测框架中,我们会看到代码输入节点如何通过 AI 交互生成函数结构,并将其传递给回测引擎进行数据收集与参数设置。
二、 核心实战:编写自定义插件
这是本周任务的重头戏。在 PandaAI 中,自定义插件是功能扩展的核心。编写一个标准的插件需要遵循特定的结构:继承 BaseWorkNode 类,并实现 input_model、output_model 和 run 这三个核心方法。
1. 插件结构三要素
- input_model:定义节点的输入参数,使用 Pydantic 进行数据验证。
- output_model:定义节点的输出格式,确保数据流向下游节点时的规范性。
- run:编写核心业务逻辑,即节点具体要执行的计算或处理任务。
2. 示例代码:两数求和插件
以下是一个完整的自定义插件模板,展示了如何创建一个名为“示例-两数求和”的测试节点:
from typing import Optional, Type
from panda_plugins.base import BaseWorkNode, work_node
from pydantic import BaseModel
# 1. 定义输入模型:指定需要输入两个整数
class InputModel(BaseModel):
number1: int
number2: int
# 2. 定义输出模型:指定输出结果为一个整数
class OutputModel(BaseModel):
result: int
# 3. 实现插件逻辑
@work_node(name="示例-两数求和", group="测试节点")
class ExamplePluginAddition(BaseWorkNode):
"""
实现一个示例节点, 完成一个简单的加法运算, 输入 2 个数值, 输出 2 个数值的和.
"""
@classmethod
def input_model(cls) -> Optional[Type[BaseModel]]:
return InputModel
@classmethod
def output_model(cls) -> Optional[Type[BaseModel]]:
return OutputModel
def run(self, input: BaseModel) -> BaseModel:
# 具体的运行逻辑:将输入的两个数相加
result = input.number1 + input.number2
return OutputModel(result=result)
# 本地调试代码
if __name__ == "__main__":
node = ExamplePluginAddition()
input_data = InputModel(number1=1, number2=2)
print(node.run(input_data))
3. 创建、使用及保存
在专家模式的代码编辑器中点击如下图的 “+” 或者 “python”
点击之后,会出现一个 python cell .我们的自定义节点就是要写在这个里面.按插件开发要求实现自己的插件之后,使用节点有两种方法.
方式1:直接从从专家模式中拖拽出去,如下图
方式2:从节点库 用户自定义 里面拖拽到画布
完成编写后,点击保存。新生成的节点会出现在节点库的“用户自定义”分类中。如上图,点击上图标注1的节点库,向下找到上图标注2的用户自定义.然后找到自己的因子节点,鼠标放在因子名称上面,按住左键,然后拖动到画布即可,像使用原生节点一样进行连接和调试。
三、 期货仿真交易与全流程回测
将自己编写的工作流进行期货仿真盘验证,打开 https://www.pandaai.online/quantflow/charts
- 账号连接:在页面左下角可以进行实盘操作,如果没有实盘账号需要先创建并连接仿真交易账号。
- 工作流配置:选择刚刚创建的“期货回测工作流”。
- 运行与注意:期货回测需要缓存基础数据,只有当数据满足开仓条件时才会产生交易记录。如果运行过程中出现报错,可以通过AI助手寻求帮助。
四、 进阶建议
专家模式不仅是工具,更是一种思维方式。建议大家在完成基础的两数求和插件后,尝试结合 pandas 或 numpy 编写更复杂的金融指标计算节点。通过不断调试自定义节点,我们将能构建出完全属于自己的量化交易系统。
如果下图,我在AI助手的协助下,编写了几个节点,虽然工作流可以成功运行,但是,回测结果查看不到结果.还得继续研究.