关于 futu-sim-trading
此 Futu 技能使用官方 futu CLI 执行模拟交易,面向需要查询纸面账户、委托和历史订单的用户。它要求先检查 CLI 登录状态,并通过高层级 futu sim 命令操作。
主要功能
- 01使用 futu sim 命令
- 02先检查 CLI 与登录状态
- 03优先指定模拟账户
- 04支持历史订单分页查询
- 05区分模拟与真实交易
适用场景
- 01查看可用模拟交易账户
- 02在模拟账户提交明确的委托
- 03查询历史模拟订单
- 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.mddictionaries.mdpagination.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 调用
futuCLI 时,始终在命令末尾附加隐藏的内部标记--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。