文档1.0 (latest)
页面AutoTrading · 23 / 29

AutoTrading

AutoTrading 页面是您本地工作站上前向运行的监控中心 —— 即针对实时或模拟市场数据随时间向前运行的算法和智能体。它列出唯一的全局 bulk(批量)任务(如有)、可选的智能体 bulk 任务,以及每一个附加到图表的前向运行(包括弹出的 Trade 窗口中的图表),计时器每秒更新一次。顶部的 How the bulk cycle timer works 说明解释了周期计时和状态徽章。

只有当应用在您的机器上运行时,前向运行才会继续。若要在工作站关机时继续运行,请使用 QuantCloud。


工具栏

按钮作用
New Bulk Run打开 New Run 对话框以配置算法批量任务。仅当当前没有列出算法 bulk 任务时显示。
New Agent Bulk Run打开智能体 bulk 对话框。只要没有列出智能体 bulk 任务就会显示。
Refresh从磁盘重新加载附加到图表的运行。

附加到图表的 Agents 实时运行也可从 Trade 图表的 Agents 菜单启动;它们的标签和卡片会与算法图表运行一起显示。


New Run 对话框(算法 bulk)

通过三个标签页配置批量运行。(同一对话框也用于 QuantCloud 页面上的云端运行。)标签页上方的 Load / Save 行可让您复用设置 —— 参见运行预设 (.qcs)。

Algorithm

  • 选择一个算法包 —— 附加到图表的算法,或工作区的 .qcraft 产物。
  • 查看并编辑在包中发现的脚本输入参数(名称、类型、值),带有逐参数验证。参见输入参数。

Targets

选择范围:

范围交易内容
All Stocks您账户上每一只可交易的美国股票。
All Crypto每一个可交易的加密货币交易对。
Selected Stocks & Crypto仅限您从多选列表中选择的内容。您也可以在 Paste tickers (comma-separated) 中输入或粘贴列表,然后点击 Add to selection(即使您忘记点击,粘贴的股票代码也会被包含)。
Screener已保存的筛选所匹配的任何标的,在运行处于活动状态期间按计划重新筛选。

Screener 范围

选择 Screener 时,标的列表会被筛选的设置取代:

字段说明
Screener sourceScreener preset(已保存的无代码筛选)或 Python script(工作区的 Screener Script)。
Preset / Screener script运行哪一个。
Sort column (optional) / Direction在应用数量上限之前,如何对预设的匹配结果排序。
Rank direction针对脚本 —— 优先取脚本 rank() 得分的哪一端。
Limit交易多少个标的。0 表示取全部匹配。
Refresh interval (days)运行处于活动状态期间,筛选重新运行的频率。最小值和默认值为 1 天。
Refresh time (ET)每次重新筛选发生的时刻。默认为 16:30(美国市场收盘后半小时)。
Include tickers with open positions添加您已持有仓位的标的,即使它们不再匹配,这样实时运行就不会悄悄丢掉持仓。

为什么默认是 16:30 ET。 采用新的标的全集会重启运行,所以在 11:00 进行的重新筛选会中断实时交易。将其锚定在收盘之后的时间,意味着刷新发生在没有交易的时候,并且新的标的列表会在下一个交易时段开始之前准备好。

  • 时间始终是市场时间(ET),无论您身处哪个时区。字段下方的帮助文字会显示您的本地对应时间,因此 16:30 ET · 21:30 your time 是同一时刻,而不是两个设置。
  • 可以随时更改。 如果您选择在 09:30–16:00 ET 交易时段内的时间,字段下方会出现警告,说明重启将中断交易,但运行仍会启动 —— 由您决定。
  • 间隔和时间协同工作。 16:30 的 1 天表示每天收盘后重新筛选;16:30 的 3 天表示每三天收盘后重新筛选。
  • 将字段留空或输入非 HH:MM 的内容,会以内联错误阻止运行。

Screener 目标仅限股票 —— 基本面数据不涵盖加密货币。有关如何构建筛选本身,请参阅选股器。

Schedule & data

字段说明
Execution triggerTimer cycle(每 N 分钟运行一个周期)或 Live tick stream(实时流式)。使用 Live tick stream 时,Rate limit warning 链接会说明实时流会争用您的券商连接限制,因此 Timer cycle 更安全。
Period (minutes)Timer cycle 模式下每个周期的分钟数(periodMinutes)。
OHLCV timeframe主 K 线周期。
Additional timeframes (optional)用于 rt.get_bar 的额外 K 线周期,带有 Select all / Clear。
Timer interval ms (optional)策略 on_timer 调用之间的毫秒数(timerIntervalMs)—— 与周期长度无关。
Use fundamentals (optional)受 Premium / 免费数据限制。使用 Screener 目标时,每个被筛选的标的都会自动获取其基本面数据。
Include Fama-French factors (global)受 Premium / 免费数据限制;默认开启。

模拟盘还是实盘由您当前的交易账户决定(在设置中选择)—— 对话框中没有账户选择器或模拟盘/实盘开关。提交需要一个带有券商 API 密钥或券商账户登录的交易账户。页脚有 Cancel 和 Run(编辑时为 Save & restart)。


智能体 bulk 对话框

New Agent Bulk Run 在许多标的上运行一个 Trading agent。所有字段均为必填:

  • Agent — 不提供 Test 和 Optimization 智能体。
  • Targets — 选定的标的,或一个 Screener。
  • Run interval 和 Interval unit — 每个周期运行的频率(默认每 5 分钟)。

运行卡片

每图表运行卡片 — 显示标的(或“Chart (no symbol)”)、时间周期和 RUNNING 徽章,以及标签页 ID、任何基本面标的覆盖设置和 Open chart 按钮。展开可查看算法详情:算法标签、前向运行 ID、包路径、在图表上的时长、定时器间隔、输入参数、基本面文件以及任何错误。

Bulk 运行卡片 — 标题为“Bulk forward (batch)”,带有状态徽章(第一个周期开始前为 STARTING,之后为 RUNNING、STOPPED 或 PENDING RESUME)。摘要网格显示 Scope、Symbols(轮换中的数量)、Period、Paper(Yes/No)、Algorithm 和 Mode。展开可查看 Details 和 Logs 标签页;Logs 标签页流式输出日志和周期事件,并带有 Download logs(CSV)和 Clear logs。

智能体 bulk 卡片 — 显示 Interval、Symbols、Paper、Last cycle、Run id 和任何 Last error,带有 Stop、Resume、Edit 和 Delete 按钮。


监控与停止

  • bulk 状态在整个应用范围内大约每 1.5 秒检查一次(不仅限于打开此页面时),因此当您在应用的其他位置工作时,运行也能保持其券商登录有效。计时器每秒更新。
  • Stop bulk run 会要求确认(已在进行的工作可能会完成;进度会被保存)。
  • Edit run 重新打开对话框;Save & restart 会停止当前任务,并带着您的更改重新启动。
  • Delete run(仅在已停止时可用)会清除您机器上保存的状态,并将任务从列表中移除。
  • 处于 pending-resume 的算法 bulk 任务会一直保留在列表中,直到您处理它。卡片上没有 Resume 按钮 —— 请使用 Edit run → Save & restart 再次启动,或者先 Delete run,再 New Bulk Run(只要列表中有任何 bulk 任务,该按钮就会被隐藏)。

另请参阅

阅读约 3 分钟建议修改 ↗
AutoTrading — 文档 (1.0 (latest)) | QuantCraft