FW-trading
Fosun Wealth OpenAPI 技能集合,包含 SDK 环境初始化与证券交易四大模块。涵盖 SDK 安装配置、凭证管理、行情查询、账户/资金/持仓查询、资金流水查询、下单/撤单/改单及订单管理,支持港股(L2)、美股(L1)、A股港股通(L1)市场。
Like a lobster shell, security has layers — review code before you run it.
License
Runtime requirements
SKILL.md
复星财富 OpenAPI 技能集
本目录包含与复星财富 OpenAPI 相关的所有技能,统一管理港股、美股、A股(港股通)的 SDK 配置与交易操作。
⚠️ 当前版本不支持期权:本版本暂不支持期权行情查询(
query_option_price.py)与期权交易下单。期权相关功能将在后续版本中开放,请勿使用任何期权相关脚本或参数。
子技能一览
1. fosun-sdk-setup — SDK 初始化与凭证管理
路径: fosun-sdk-setup/SKILL.md
用途: 在专用虚拟环境中安装、校验并修复 Fosun OpenAPI SDK(fsopenapi),统一处理 fosun.env 凭证、开通状态和可直接复用的客户端运行环境。
核心功能:
- 专用环境管理: 从
MEMORY.md读取或创建 Fosun 专用虚拟环境,确保 SDK 只安装在指定环境中 - SDK 安装与校验: 检测
fsopenapi是否可用,支持按记忆中的源码路径或 GitHub 包进行安装,并验证实际安装位置 - 自动开通引导: 通过
credential_flow.py自动复用或补齐设备编码、客户端私钥、API Key、Ticket 与开通链接 - 凭证状态管理: 统一维护
fosun.env中的 API Key、Ticket、服务端公钥、客户端私钥及其状态字段,支持失效后自动刷新 - 开通链接交付: 需要时生成开通页链接或二维码,方便用户继续完成授权流程
适用场景: 首次搭建 Fosun SDK 环境、修复导入/安装/鉴权异常、补齐或刷新 API Key 与 Ticket、继续未完成的开通流程,以及为其他 fosun-* 技能准备可用的 Fosun 客户端会话。
2. fosun-trading — 通用基础配置
路径: fosun-trading/SKILL.md
用途: 定义所有交易脚本共享的环境约束、市场规则、订单类型、交易限制和推荐工作流。所有脚本(code/ 目录)和文档(doc/ 目录)均位于此 skill 目录下。
涵盖内容: 前置条件、环境约束、自动初始化行为、强制前置检查、支持的市场与订单类型、下单工作流、AI 交易限制、常见错误处理。
适用场景: 需要了解通用规则、市场定义或交易限制时。具体操作请参考下方三个子 skill。
3. fosun-market-data — 行情查询
路径: fosun-market-data/SKILL.md
用途: 通过命令行脚本查询股票行情、期权行情和行情推送订阅。
核心功能:
| 功能 | 脚本 | 说明 |
|---|---|---|
| 多地上市检查 | query_listed_markets.py | 判断股票是否在港/美/A股多地上市 |
| 股票行情查询 | query_price.py | 报价、盘口、K线、分时、逐笔成交、经纪商队列 |
| 期权行情查询 | query_option_price.py | 期权报价、盘口、K线、逐笔、多日分时 |
| 行情推送订阅 | market_push.py | WebSocket 实时推送(报价/分时/逐笔/盘口/经纪队列/市场状态) |
适用场景: 查询股票/期权实时行情、查看盘口和K线、订阅行情推送。
4. fosun-account — 账户查询
路径: fosun-account/SKILL.md
用途: 通过命令行脚本查询买卖信息、资金/持仓和资金流水。
核心功能:
| 功能 | 脚本 | 说明 |
|---|---|---|
| 买卖信息查询 | query_bidask.py | 每手股数(lotSize)、可买/可卖数量、购买力 |
| 资金/持仓查询 | query_funds.py | 资金汇总、持仓列表、账户列表 |
| 资金流水查询 | query_cashflows.py | 按日期/类型查询资金进出明细 |
适用场景: 查看账户余额与持仓、查询每手股数和购买力、查询资金流水。
5. fosun-orders — 下单与订单查询
路径: fosun-orders/SKILL.md
用途: 通过命令行脚本完成下单和订单查询操作。
核心功能:
| 功能 | 脚本 | 说明 |
|---|---|---|
| 下单 | place_order.py | 普通单/条件单/跟踪止损/止盈止损/期权单,覆盖港/美/A股 |
| 订单查询 | list_orders.py | 按状态/日期/方向/市场筛选订单 |
查询持仓(尤其
query_funds.py holdings)或任何交易行情(如query_price.py、market_push.py)时,必须先走credential_flow.py做环境变量存在性检查;禁止跳过该脚本直接执行查询脚本。⚠️
query_option_price.py当前版本不可用,期权行情功能暂未开放。
适用场景: 买卖股票、查询订单状态。
6. fosun-order-modify — 撤单与改单
路径: fosun-order-modify/SKILL.md
用途: 通过命令行脚本完成撤单和改单操作,包含严格的改单决策规则。
核心功能:
| 功能 | 脚本 | 说明 |
|---|---|---|
| 撤单 | cancel_order.py | 撤销未成交订单,需用户二次确认 |
| 改单 | modify_order.py | 修改委托价格/数量/触发价等参数,禁止更改订单类型 |
适用场景: 撤销订单、修改已有订单的委托参数(改价/改量/改触发价)。
⛔ 数据准确性强制规则(所有子 skill 必须遵守)
这是最高优先级规则,违反此规则等同于向用户提供错误的金融信息。
核心原则:逐字引用,禁止篡改
SDK 脚本返回的所有数值型数据(持仓数量、价格、资金余额、订单数量、lotSize、成交量等),在向用户展示时必须从脚本输出中原样逐字引用,严禁凭记忆、推测或"大概理解"来转述。
强制执行规则
- 禁止修改任何数值:不得对脚本返回的数字做四舍五入、单位换算、省略零、添加零或任何形式的"整理"。脚本输出
1000,就必须告诉用户1000,不能说成100或10000。 - 禁止凭印象复述:获取到脚本输出后,向用户回复时必须回看原始输出逐条核对数值,不要凭"刚才看到的印象"来写数字。
- 结构化呈现:向用户展示查询结果时,优先使用表格或列表的格式,将字段名和对应数值并排展示,避免在长段叙述中嵌入数字(长句叙述更容易出现数值错位)。
- 关键数值加粗:持仓数量、可用数量、价格、成交数量、资金余额等关键数值在回复中用 加粗 标注,既能帮助用户快速定位,也能强制自己在输出时多一次核对。
- 有疑问就重新查:如果对某个数值不确定,必须重新执行一次脚本获取最新结果,而不是"凭印象猜一个"。
- 单位必须明确:数量(股/手)、金额(HKD/USD/CHY)、价格的单位必须紧跟在数值后面,不得省略。A 股下单币种必须使用
CHY,不可使用CNH或CNY。 - 多字段时逐条列出:当一次查询返回多个数值字段时(如持仓查询同时返回 quantity、quantityAvail、avgCost、dilutedCost 等),必须逐个字段列出,不得合并简述或只挑部分字段展示(除非用户明确只要求某些字段)。
错误示例(绝对禁止)
❌ 脚本返回 quantity=1000,回复用户说"您持有约 100 股"
❌ 脚本返回 price=350.200,回复用户说"当前价格大约 350 元"
❌ 脚本返回 maxQuantityBuy=500,回复用户说"您大概能买 5 手"
❌ 脚本返回 cashPurchasePower=125000.50,回复用户说"购买力约 12 万"
正确示例
✅ 脚本返回 quantity=1000,回复用户说"您当前持有 **1000 股**"
✅ 脚本返回 price=350.200,回复用户说"当前价格 **350.200 HKD**"
✅ 脚本返回 maxQuantityBuy=500,回复用户说"最大可买数量 **500 股**"
✅ 用表格展示:
| 字段 | 值 |
|------|-----|
| 持仓数量 | **1000 股** |
| 可用数量 | **800 股** |
| 平均成本 | **345.500 HKD** |
支持的市场
| 市场代码 | 说明 | 行情级别 | 币种 |
|---|---|---|---|
hk | 港股 | L1, L2(含盘口、经纪商队列) | HKD |
us | 美股 | L1(盘前/盘中/盘后) | USD |
sh | 上交所(港股通) | L1 | CHY |
sz | 深交所(港股通) | L1 | CHY |
标的代码格式: 市场代码 + 股票代码,如 hk00700(腾讯)、usAAPL(苹果)、sh600519(茅台)、sz000001(平安银行)。
订单类型与市场支持
| 枚举值 | 订单类型 | 说明 |
|---|---|---|
1 | 竞价限价单 | 仅港股支持 |
2 | 竞价单 | 仅港股支持 |
3 | 限价单 | 港股 / 美股 / A股均支持 |
4 | 增强限价单 | 仅港股支持 |
5 | 特殊限价单 | 仅港股支持 |
6 | 暗盘订单 | 仅港股支持 |
9 | 市价单 | 港股 / 美股支持 |
31 | 止损限价单 | 港股 / 美股 / A股支持 |
32 | 止盈限价单 | 港股 / 美股 / A股支持 |
33 | 跟踪止损单 | 港股 / 美股 / A股支持 |
35 | 止盈止损单 | 港股 / 美股支持 |
市场支持矩阵
| 市场 | 支持的订单类型 |
|---|---|
| 港股 | 全部订单类型:1 竞价限价单、2 竞价单、3 限价单、4 增强限价单、5 特殊限价单、6 暗盘订单、9 市价单、31 止损限价单、32 止盈限价单、33 跟踪止损单、35 止盈止损单 |
| 美股 | 3 限价单、9 市价单、31 止损限价单、32 止盈限价单、33 跟踪止损单、35 止盈止损单 |
| A股 | 3 限价单、31 止损限价单、32 止盈限价单、33 跟踪止损单 |
当用户提出下单需求时,必须先根据市场校验订单类型是否合法,并要求用户或命令显式指定
order_type;禁止擅自使用默认订单类型。
环境要求
- Python 虚拟环境:
{workspace_root}/.venv-fosun - 凭证文件:
{workspace_root}/fosun.env - 禁止擅自创建新虚拟环境或使用系统 Python
- 统一使用虚拟环境内的绝对路径解释器执行所有脚本
安全与凭证说明
- SDK 来源:
fsopenapiSDK 来自复星财富官方 GitHub 仓库 (fosunwealth/openapi-python-sdk),安装前可自行核验仓库完整性 - 密钥生成:
genkey.sh使用本地openssl生成 RSA 密钥对,全程离线操作,不会将密钥传输到任何外部服务 - 凭证存储:
fosun.env存放于工作区根目录,包含 API Key 和 base64 编码的 PEM 密钥。请确保该文件已被.gitignore排除,不要提交到版本控制或共享备份中 - 交易确认: 所有涉及资金的操作(下单/撤单/改单)均要求用户在对话中明确二次确认后才会执行
Files
51 totalComments
Loading comments…
