PandaAI 创建多因子期货案例-实战-1330%回测收益率(上)
1.进入AI工作流
进入到PandaAI官网,点击"AI工作流"
2.认识工作流界面
进入到界面之后,我们可以看到界面分为以下几个部分
3.点击创建工作流
点击"创建工作流",我们可以看到以下界面
4.认识工作流使用界面
相关画布说明已经绘制到图片中,可以查看相关细节
同时要注意:一开始请使用基础服务器,因为工作流运行出错也会消耗算力哦,其次不要点击左侧的工作空间,如果你没有保存,会把你的工作流付之一炬的
5.使用AI助手创建工作流
6.创建工作流存在问题
这里说明一下:AI助手创建好工作流之后,一般来说是没有大问题的,但是这里我遇到了创建失败的经典案例,你的提示词AI可能没有理解,到底是创建因子还是回测,导致我这里把创建的python代码一同输出给了因子和回测两个模块。
所以各位在使用AI助手的时候要清晰自己到底要建立什么,可以把提示词该修改成:
回测策略: ****(这里是你的策略) 需要因子: ****(这里是你需要的因子)
温馨提示:不要写太长的提示词,AI助手理解能力有限,如果太长,生成代码过于复杂,可能会超时,出现network error错误,建议提示词写的简洁,毕竟这个AI助手是帮助你生成工作流节点的,代码内容如果不满意,可以到具体的节点中再次使用AI修改
7.手动修改结果
注意:如果出现我上面的截图,发现一个python代码块既连接了因子构建节点,又连接了回测节点,那么你可以参考我这部分内容进行修改。
回测代码要求:
from panda_backtest.api.api import *
from panda_backtest.api.future_api import *
import panda_data
import numpy as np
import pandas as pd
#initialize和handle_data是必须要有的
def initialize(context):
#以下是你的代码
def handle_data(context, data):
#以下是你的代码
#这个before和after不一定需要,根据你的策略是否需要在交易前或交易后执行某些操作来判断是否需要添加
def before_trade(context):
#以下是你的代码
def after_trade(context):
#以下是你的代码
因子代码要求:
#因子代码,要求一个类,继承Factor类,重写calculate方法
class 自定义因子名称(Factor):
def calculate(self, factors):
7.1 具体修改步骤
首先点击对应的python代码节点
鼠标移动到左侧边缘,出现﹀标志,即可点击进行收敛代码,方便查看框架结构
因为我这里只有因子模块,所以我需要修改一下画布节点,手动添加因子节点,并且把5个因子结合在一起,同时再拉取一个新的python代码节点,用于写回测逻辑。
我们点击新拉取的python代码节点,进行修改回测逻辑代码,这里可以节点内部的Quant-CQ2帮忙修改,逻辑可以写的复杂了,它不会像AI助手一样发生network error错误。但是,还会可能发生转圈圈半天不出来代码,这个时候重新发送一遍对话就行,多半是卡住了
8. 运行工作流
点击右上方的启动工作流,记得选择基础服务器,因为工作流运行出错也会消耗算力哦
成功运行标志可以看下面的gif图,日志内容可以查看当前节点运行状态,完整运行成功会在最下方写出工作流成功执行的日志信息。
你在回测代码中写的print语句,会在日志中打印
9. 查看回测结果
如果一切进展顺利,并且成功运行,那么你就可以查看最终结果了!!
回测结果