FinXData A 股与港股模拟交易
使用内置 Python 客户端管理 FinXData 自选股和模拟交易。专用 Trading Key 拥有全部模拟交易权限,与普通数据 API Key 及套餐额度相互独立。
当前市场范围:
- A 股:支持自选股、模拟账户、下单、订单、持仓、成交、资金、资产和收益查询。
- 港股:支持已进入证券主数据的港股自选股;模拟账户、交易规则、费用和下单接口尚未开放。
配置
将用户后台创建的专用 Key 写入 FINXDATA_TRADING_KEY。如需切换服务地址,可设置 FINXDATA_BASE_URL;默认地址为 https://api.finxdata.ai。
不要打印、记录或复述完整 Key。鉴权失败时,请用户在系统外创建或轮换 Trading Key,不要要求用户再次把 Key 粘贴到对话中。
执行
在本 Skill 目录运行 python3 scripts/finxdata_simtrading.py。脚本输出 JSON;接口或配置出错时以非零状态退出。客户端使用稳定的 FinXData Agent User-Agent,避免 Python urllib 默认签名触发生产环境 Cloudflare 拦截。
管理 A 股或港股自选股:
python3 scripts/finxdata_simtrading.py watchlist list
python3 scripts/finxdata_simtrading.py watchlist add --code 600519 --note "A股长期观察"
python3 scripts/finxdata_simtrading.py watchlist add --code 00700 --note "港股长期观察"
python3 scripts/finxdata_simtrading.py watchlist remove --code 600519
查询 A 股模拟账户和组合:
python3 scripts/finxdata_simtrading.py accounts list
python3 scripts/finxdata_simtrading.py accounts list --status archived --limit 20
python3 scripts/finxdata_simtrading.py positions list --account-id 1
python3 scripts/finxdata_simtrading.py assets get --account-id 1
python3 scripts/finxdata_simtrading.py performance get --account-id 1 --period 3m
提交 A 股模拟订单前生成稳定的 client_order_id。相同请求超时或断线重试时必须复用原值,不要重新生成:
python3 scripts/finxdata_simtrading.py orders place --account-id 1 --client-order-id skill-20260721-0001 --code 600519 --side buy --order-type market --quantity 100
操作流程
- 写操作前先读取当前自选股、账户、持仓或订单状态。
- 仅在用户明确要求时添加或删除自选股。
- 下单前确认证券市场。当前只提交 A 股订单;港股交易接口开放前,不要尝试通过 A 股账户提交港股订单。
- 下单前复述账户、市场、证券代码、方向、订单类型、数量和限价,仅在用户明确要求模拟买卖后执行。首次请求前生成一个稳定的
client_order_id,超时或连接失败时复用同一值。 - 明确说明成交为模拟结果,可能与真实交易所不同;不要将模拟持仓描述为真实持仓或投资建议。
- 重置账户会归档历史账户并创建替代账户。必须确认用户的明确意图,并传入
--confirm RESET。 - 收到
401时请用户创建或轮换FINXDATA_TRADING_KEY;收到429时等待模拟交易独立写限流恢复。不要改用X-API-Key或登录 JWT。
需要精确参数、响应字段、市场范围、额度行为或业务错误码时,读取 references/api.md。脚本也可作为 FinXDataSimTradingClient 导入并直接调用方法。
