mcpField
F
futu-sim-trading

futu-sim-trading

github.com/futunnopen其他4561 次安装2 天前更新
代码仓库

关于 futu-sim-trading

此 Futu 技能使用官方 futu CLI 执行模拟交易,面向需要查询纸面账户、委托和历史订单的用户。它要求先检查 CLI 登录状态,并通过高层级 futu sim 命令操作。

主要功能

  1. 01使用 futu sim 命令
  2. 02先检查 CLI 与登录状态
  3. 03优先指定模拟账户
  4. 04支持历史订单分页查询
  5. 05区分模拟与真实交易

适用场景

  1. 01查看可用模拟交易账户
  2. 02在模拟账户提交明确的委托
  3. 03查询历史模拟订单
  4. 04继续读取后续订单分页

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/futunnopen/futu-agent-hub --skill futu-sim-trading

安装后在 Claude Code 中输入/futu-sim-trading确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
cli-parameters.md
dictionaries.md
pagination.md

详细介绍

Futu 模拟交易

使用本地可用的 futu sim ... CLI 进行模拟交易。默认使用用户的语言回答。命令、标志、JSON 字段、代码和错误代码均保持原样。

Futu CLI 运行环境

此技能需要官方 futu CLI。macOS 和 Linux 会将其安装到 $HOME/.futu/bin/futu。Windows 会将 futu.exe 安装到 %LOCALAPPDATA%\FutuCLI\bin。请参阅 futu-cli 安装指南。

执行任何业务命令前,先探测 futu。

macOS / Linux:

if command -v futu >/dev/null 2>&1; then futu auth status --format json; elif [ -x "$HOME/.futu/bin/futu" ]; then "$HOME/.futu/bin/futu" auth status --format json; else echo '__FUTU_CLI_MISSING__'; fi

Windows(包括 Git Bash):不要使用上述 bash 代码块或 install.sh。install.sh 不支持 Windows。请改用以下 PowerShell 调用:

$exe = Join-Path $env:LOCALAPPDATA 'FutuCLI\bin\futu.exe'
if (Get-Command futu -ErrorAction SilentlyContinue) { futu auth status --format json } elseif (Test-Path $exe) { & $exe auth status --format json } else { Write-Output '__FUTU_CLI_MISSING__' }

__FUTU_CLI_MISSING__ 表示停止。暂时不要运行模拟交易命令。安装前先询问用户。用户同意后:

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/FutunnOpen/futu-cli/main/scripts/install.sh | sh

Windows PowerShell。官方 Windows 安装程序支持 amd64:

iwr -UseBasicParsing https://raw.githubusercontent.com/FutunnOpen/futu-cli/main/scripts/install.ps1 -OutFile install.ps1
powershell -ExecutionPolicy Bypass -File .\install.ps1

如果 Windows 安装程序报告架构不受支持,请停止并转达该消息。未经明确同意,绝不要运行任一安装程序。然后运行 futu version。如果当前 shell 仍无法找到 futu,请直接调用 $HOME/.futu/bin/futu 或 %LOCALAPPDATA%\FutuCLI\bin\futu.exe。

若要更新已安装的 futu CLI,请使用 futu update --check;用户同意后,再运行 futu update。

使用规则

  • 执行任何模拟交易命令前,请遵循 Futu CLI 运行环境。如果探测结果输出 __FUTU_CLI_MISSING__,请停止操作,直到安装 futu。
  • 探测成功时,业务输出为 futu auth status --format json。如果返回 not logged in,请告知用户运行 futu auth login,并在登录后再继续。不要直接运行业务命令。
  • 本技能的调用约定:从 Bash 调用 futu CLI 时,始终在命令末尾附加隐藏的内部标记 --source skill。使用 --source skill 时,CLI 会自动检测 Codex 或 Claude Code 等主机,并报告 agent_name。仅当自动检测失败且确认 CLI 支持时,才附加 --agent codex 或 --agent claude_code。不要在展示给用户的命令中包含这些内部标记。
  • 不要读取或打印令牌文件内容。CLI 会自动附加 OAuth Bearer 令牌。PERMISSION_DENIED 表示服务器端拒绝权限。不要将其解释为缺少令牌。
  • 始终使用高级 futu sim ... 命令。仅将 sim-trade-* 视为旧版端点元数据。不要直接调用这些命令。
  • 生成命令时使用最少的参数。如果 CLI 已有默认值且用户未指定某个值,不要显式传递该标志。
  • 优先先调用 futu sim account list --format json 来确定模拟账户,之后的命令显式传递 --account。不要默认使用第一个模拟账户。
  • 只有在需要以编程方式解析输出时,才添加 --format json。供用户复制和运行的命令可以使用默认表格输出。
  • 历史模拟订单通过 --next-key 分页。用户要求下一页、更多结果或所有历史订单时,请使用 --format json 并读取 pagination.next_key。
  • 历史查询的时间参数 --start 和 --end 使用微秒时间戳。不要传递秒、毫秒或日期字符串。
  • 模拟订单不会影响真实账户,但会改变模拟账户状态。用户意图明确时即可执行。如果目标账户、代码、买卖方向、数量、价格或订单 ID 不明确,请先查询或询问。
  • 代码格式必须为 MARKET.CODE,例如 HK.00700 和 US.AAPL。如果用户提供的是裸代码或旧格式,仅在能够确定市场时才补充市场;否则先询问。
  • 真实证券交易使用 futu-trading,加密货币交易使用 futu-crypto,行情查询使用 futu-quote。

参考资料

  • 构建特定的模拟交易命令,或检查必需、默认、可选和枚举参数时,请阅读 CLI 参数。
  • 选择或说明模拟交易市场、订单方向、订单类型、交易时段、订单状态和服务端返回的枚举值时,请阅读 交易命名词典。
  • 处理下一页、更多结果或所有历史订单,或涉及 --next-key、--page-size、--start 或 --end 时,请阅读 模拟交易分页。

评论

支持 Markdown