智能助手

Starfish 智能助手可在因子、策略和分析等方面为用户带来方便。本节将介绍智能助手的部署及相关使用示例。

部署

根据部署所述完成 Starfish 部署后,执行以下命令进入 /server/web/starfish 目录:

cd /home/dolphindb/server/web/starfish/starfish_ai_backend
为 starfish_ai_backend 赋予可执行权限
chmod +x starfish_ai_backend

启动智能助手,其中 IP 和端口请根据实际进行调整:

nohup ./starfish_ai_backend --host 192.168.100.77 --port 8669 > server.log 2>&1 &

开启对话

点击因子平台上方工具栏中的 “AI 助手” ,开启会话窗口,用户在此进行对话交互。

1. 图 10-1 工具栏 AI 助手
2. 图 10-2 助手对话窗口

配置

创建配置

点击聊天框左上角,展开列表后选择“管理设置”,即可进入配置管理页面。

创建新配置

点击“新建设置”按钮,进入配置编辑页面。填写相关参数后,点击右下角的“保存”按钮即可保存。每个用户均可保存自己的配置。

3. 图 10-3 助手配置页

配置参数说明:

字段 含义
AI Endpoint AI 服务的接口地址,如 http://api.openai.com/v1/chat/completions
AI Backend URL 部署在本地用于转发 AI 请求的后端地址,默认值为 http://localhost:3789
API Key 访问 AI 接口所需的鉴权令牌
Model Name 使用的 AI 模型名称
Temperature 控制生成内容随机性的参数:
  • 温度较低(如 0.1 或 0.2):生成内容更确定、连贯
  • 温度较高(如 0.8 或 1.0 以上):内容更具创造性,但连贯性可能较弱

系统配置与私有配置:

  • Admin 用户权限:

    Admin 用户可选择将配置类型设为“系统配置”,供所有用户使用。系统配置只能由 Admin 用户创建,且可创建多个。

  • 私有配置:

    普通用户可创建属于自己的“私有配置”,并可将任意配置设为默认。默认配置将在聊天启动时自动激活。

注意,因子平台 Agent 支持以流式传输的,且 chunk 符合以下格式的 API:

interface ChatCompletionChunk {
  id: string;
  choices: Array<{
    delta: {
      content?: string | null;
      // 推理时,推理内容必须在该字段内
      reasoning_content?: string | null;
      // 部分平台会在 reasoning 字段内,比如 OpenRouter
      reasoning?: string | null
      function_call?: {
        arguments?: string;
        name?: string;
      };
      refusal?: string | null;
      role?: 'system' | 'user' | 'assistant';

    };
    finish_reason: 'stop' | 'length' | 'tool_calls' | 'content_filter' | 'function_call' | null;
    index: number;
  }>;
  model: string;
  usage?: {
    completion_tokens: number;
    prompt_tokens: number;
    total_tokens: number;
  } | null;
}

选择配置

点击聊天框左上角,即可展开可用模型列表。当前激活的配置在左侧显示绿色圆点,点击其他配置可快速切换。

因子生成

因子开发

输入因子描述:

点击对话框右上角的下拉菜单,切换为因子模式。然后在对话栏中输入因子的自然语言描述。例如:

“我要用DolphinDB计算world quant因子中的alpha41,怎么算?公式按照这个:(((high * low)^0.5) - vwap)。”

生成因子函数代码:

发送后,等待 AI 思考完成,将返回包含因子函数代码的完整回答。该代码即为因子脚本。

4. 图 10-4 生成因子代码

首次筛选与试运行:

浏览返回的因子函数,选取符合要求的因子,点击下一步。

5. 图 10-5 选择因子代码

执行试运行,即执行函数定义。

6. 图 10-6 试运行

创建因子模块:

试运行成功后,点击“基于该脚本创建因子”,即可创建新的因子模块,模块将包含已选的因子函数。

7. 图 10-7 创建因子模块

模块编辑与计算评价设置:

系统自动跳转至因子模块编辑页,同时在对话框中展示可选的计算与评价模板。

8. 图 10-8 因子模块配置

运行与结果查看:

设置完成后点击“执行”,系统将启动因子的计算与评价任务。右上角弹窗可查看任务状态,点击“查看”即可查看运行详情与因子评价,内容包括因子表现、计算数据和可视化结果。

进阶用法

你可以:

  • 一次性生成多个因子;
  • 或者在已有因子基础上提出新指令,例如:“请基于这个因子,衍生出 4 个其他的因子。”

AI 将返回 4 个新因子函数,可对其进行多选、筛选与进一步使用。

策略生成

输入策略描述:

点击对话框右上角的下拉菜单,切换为策略模式。然后在对话框中描述你的策略内容。需包含品种类型和行情频率。目前支持的品种包括:股票、期货、期权、通用、数字货币、上交所债券、cfets x_Bond 行情债券、融资融券;行情频率支持:日频、分钟频、快照频。

示例输入:“用 DolphinDB 创建一个策略,基于股票快照行情数据,实现当委托买量大于委托卖量的 2 倍时买入 200 股,当委托卖量大于委托买量的 2 倍时卖出 200 股,不需要考虑复杂的持仓情况,也不需要订阅任何指标”

生成策略代码:

发送描述后,AI 开始生成策略代码。输出内容通常包含:

  • 策略类型
  • 行情类型
  • 回调函数代码
9. 图 10-9 生成策略代码

确认策略逻辑:

确认返回的策略代码逻辑无误后,点击“创建策略”,系统会根据品种和行情频率创建对应的策略,并且将自动跳转至策略的编辑页面,并更新代码内容。

策略试运行与回测:

策略创建后,将出现预设选择与“运行”按钮。点击“运行”后,系统将进入回测运行页面,任务完成后可查看回测报告,包含交易详情、绩效表现及可视化结果。

10. 图 10-10 运行策略

数据分析

点击对话框右上角的下拉菜单,切换为分析模式。然后在对话栏中输入因子的自然语言描述。例如:

“基于 1 分钟行情数据,计算每只股票每分钟成交量的标准差。”

系统将会寻找所有的库表信息,返回对应的数据脚本,并且尝试执行:

  • 若执行成功,返回结果;
  • 若执行失败,系统会收集错误信息,并提交给大模型修正,直至脚本无误。