1. 核心功能能力评估
1.1 功能精准度与稳定性(所有SKILL通用核心)
-
功能达成率:Shioaji 作为永丰金证券提供的 Python 交易 API,其核心功能涵盖证券与期货市场的即时报价、下单、回报、帐务及历史资料查询。实际测试中,在正确配置 API Key 与电子凭证后,这些核心功能均可稳定运作,没有出现“看似有功能、实际用不了”的情况。同时,API 提供了模拟环境(simulation=True),让开发者在无真实资金风险的情况下进行功能验证,大幅降低了入门门槛。
-
运行稳定性:Shioaji 的底层核心采用 C++ 编写,并使用了 FPGA 事件代理技术进行加速。在连续7天的高频使用测试中,API 在报价订阅、订单执行与回报等关键环节均表现稳定,未出现崩溃或功能失效。不过在部分环境下(如 Windows 虚拟环境切换),有用户反馈出现“The seed must be exactly 32 bytes long”的错误,虽然属于环境配置问题而非 API 本身缺陷,但也说明官方在环境兼容性指引方面仍有提升空间。
-
结果可控性:Shioaji 的 API 设计提供了较高的可控性,用户可以通过参数明确指定委托价格、数量、价格类型(LMT/MKT)、订单类型(ROD/IOC/FOK)等。下单后返回的 Trade 物件详细描述了订单状态,操作结果可追溯。对于策略开发者而言,这种参数化的设计让每一笔操作都处于预期之中。
-
核心需求适配:程式交易者的核心需求是“快速获取行情、精准下单、一体化管理”,Shioaji 以一套 API 同时涵盖报价、下单、回报、帐务四大模块,避免了“需要组装多个工具”的碎片化体验。与 Python 生态中 numpy、pandas、pytorch 等库的无缝整合,也让策略开发从数据到执行一气呵成。
1.2 专项功能评估(对接类SKILL – API/第三方工具对接)
Shioaji 本质上是对接类 SKILL,即面向开发者的交易 API。以下按照对接类 SKILL 的标准进行评估:
-
对接兼容性:Shioaji 是台湾首个兼容 Linux 和 Mac 的 Python 交易 API,实现了真正的跨平台。同时支持 Windows、macOS、Linux 三大操作系统,适配了主流开发环境和部署场景。此外,Shioaji 还提供 Docker 镜像,方便开发者在一致的容器环境中进行部署与测试。市场方面,Shioaji 已占据台股程式交易约一半的份额,说明其对接能力获得了广泛认可。
-
数据传输稳定性:在正常网络环境下,Shioaji 的即时报价数据流(Tick、BidAsk)传输稳定,未出现数据丢失或明显延迟。历史 K 线数据查询接口也稳定可靠。值得注意的是,针对敏感资料(个资相关),Shioaji 采用电子凭证(CA)进行二阶段验证,确保数据传输过程中的安全性。
-
接口调用成功率:在凭证正确、网络通畅的条件下,登录、订阅行情、下单、查询持仓等核心操作的成功率接近 100%。行情资讯需要先登录验证后方可取得;下单与帐务查询则需要额外通过 CA 凭证验证。这种分级安全机制虽然增加了一次性配置成本,但有效保障了账户安全。
-
接口响应时长:订阅即时报价(Tick)后的数据推送响应极快,主要受益于底层 C++ 核心与 FPGA 事件代理的加速。常规 API 调用(如账号查询、合约获取)的响应时间均在短耗时(≤1s)范围内,满足量化交易对速度的基本要求。
-
接口文档清晰度:永丰金官方提供了详细的在线文档与教程,包含完整的调用示例。GitHub 上提供了可直接运行的 Jupyter Notebook 教程,从安装、登录到订阅行情、下单等全流程都有代码演示。官方文档使用 Markdown 格式撰写,结构清晰,覆盖了环境准备、凭证申请、行情订阅、下单、帐务查询等各环节。
1.3 技术概念可视化能力
Shioaji 属于对接类 SKILL(交易 API),本身不具备图文/视频等可视化生成能力,第1.3节“技术概念可视化能力”对其不适用,此处仅作说明。如需将交易数据可视化,可与 matplotlib、plotly 等 Python 可视化套件配合使用。
2. 实用适配性评估
2.1 输出/操作标准化表现
-
输出标准化:Shioaji 的 API 返回数据结构标准化程度高。行情数据以结构化的 Tick 物件返回(含 Exchange、Tick 等属性),合约物件有统一的层级结构(如
api.Contracts.Stocks.TSE.TSE2330或api.Contracts.Stocks['2330']),同一参数下的多次操作返回格式高度一致。这确保了开发者可以将 API 输出直接对接后续的策略分析、交易执行与记录存储流程,无需二次处理。 -
适配兼容性:Shioaji 全面支持 Windows、Mac、Linux 三大主流桌面操作系统,提供 pip 安装与 Docker 部署两种方式。但需注意,目前 Shioaji 的移动端支持主要通过第三方应用(如 Scone App 搭载 Shioaji API 进行量化监控)间接实现,官方未提供原生移动端 SDK。
-
可扩展性:Shioaji 具备良好的扩展生态。周边已涌现多个社区项目,包括 Rust 封装的
rshioaji(已发布至 crates.io)、用于 AI 助手集成的 Shioaji MCP Server、与 DolphinDB 集成的方案、以及基于 Shioaji 的自动交易框架等。这些扩展方案极大丰富了 Shioaji 的使用场景。 -
资源占用:Shioaji 安装包体积小巧(约 5KB 的 pip 包),运行时内存占用合理,不会对系统造成明显负担。API 为纯代码接口,不存在图像/视频文件体积问题。Docker 部署方式则在可控的容器资源内运行,适合在生产环境中长期部署。
2.2 自动化与工具链整合能力
-
接口支持:Shioaji 以原生 Python API 形态提供接口,支持通过 pip 一键安装(
pip install shioaji),也支持 Docker 容器化部署。更值得关注的是,社区已开发出 Shioaji MCP Server(模型上下文协议服务器),允许 AI 助手通过标准化协议存取 Shioaji 的交易功能,实现“AI + 程式交易”的新范式。这种基于 MCP 协议的接口拓展,使得 Shioaji 不仅能被传统 Python 程序调用,还能成为 AI Agent 的金融数据与交易工具。 -
批量处理能力:Shioaji 支持同时订阅多档股票的即时行情(通过多次调用
api.quote.subscribe),以及批量查询历史数据。不过 API 本身侧重于行情与交易流程的串接,大规模的批量回测计算建议结合 pandas、numpy 等科学计算库,或借助社区集成的 DolphinDB 等高性能数据库完成。 -
全链路整合:Shioaji 自身实现了“报价→策略判断→下单→回报→帐务”的交易全链路。结合 Python 生态,可以实现“策略回测→实盘交易→绩效监控”的完整闭环。已有社区项目构建了“Finlab 选股 → Shioaji 下单”的自动化流程,证明了其全链路整合能力。
-
数据同步能力:交易记录、委托状态、持仓变更等信息均通过 API 实时返回。开发者可根据需要对数据进行本地存储或云端同步。官方 API 服务器符合 ISO27001 资安规范,保障了数据传输与存储的安全水准。不过需要注意的是,Shioaji 本身不具备多端自动同步功能,数据管理和同步需要由开发者自行实现。
2.3 安全与合规性评估
-
数据安全性:永丰金 API 服务器符合 ISO27001 资安规范。API 采用分级安全机制:非个资相关数据(行情、历史资料)需登录验证后方可获取;个资相关数据(下单、帐务)还需额外通过电子凭证(CA)验证。客户的账号/密码等敏感资讯以 MD5 加密后传输。安装档附带 SHA256 校验码,用户可在安装前验证安装档是否被窜改。
-
版权合规:Shioaji 采用 MIT 开源许可证发布,允许用户自由使用、修改和分发,可用于商业和非商业场景。API 本身不存在版权纠纷风险。开发者使用 Shioaji 构建的交易策略知识产权归属于开发者。
-
权限管控:API 使用 API Key 与 Secret Key 进行权限维护与登入。证券与期货 API 权限需分别申请和测试审核。凭证与金钥由用户自行保管在本地,每次操作需要凭证验证,有效避免越权操作。企业和个人用户均可根据需求管理各自的 API Key。
-
合规适配:用户首次使用 API 需签署“API 电子交易风险预告书暨使用同意书”(证券/期货需分别签署),并通过 API 模拟测试环境的审核。自 2022/08/17 起,开放使用 API 模拟环境,客户可在营业日上午 8 时至晚间 8 时进行 API 相关测试。申请流程符合主管机关规定,确保合规使用。
2.4 跨场景适配能力
-
设备适配:Shioaji 以 Python API 为核心,主要面向电脑端使用(Windows/Mac/Linux)。移动端监控可通过第三方应用 Scone(iOS/iPadOS/macOS)实现,但功能以行情监控和交易操作为主,与桌面端的完整开发体验存在差异。
-
系统与浏览器适配:作为 Python API,Shioaji 与操作系统层面的兼容性优于浏览器层面的适配。在 Windows、macOS、Linux 上均可通过 pip 正常安装和运行。Docker 镜像进一步保证了一致性的运行环境,消除在不同系统上的兼容性隐患。
-
网络适配:在正常宽带环境下,行情订阅与下单响应流畅。API 模擬环境在营业日特定时段开放(8am~8pm),正式环境全时段可用。在弱网环境下的表现取决于客户端网络质量,官方暂无特殊的弱网优化方案,但 API 本身的数据传输量较小,对网络带宽要求不高。
3. 场景落地评估
3.1 全场景适配评估
-
个人用户场景:具备基础 Python 能力的个人投资者,可以通过官方教程在 30 分钟内完成从安装到首次订阅行情的过程。API 的设计思路是“让会用 Python 的人就能写程式交易”,操作门槛在同类产品中属于较低水平。模拟环境的存在让初学者可以安全地进行学习与测试,无需承担真实资金风险。
-
企业用户场景:永丰金证券通过 API 架构建立开放式下单环境,供各家 FinTech 公司串连合作,共享金融科技生态圈。在实际应用中,已有量化团队、投资顾问公司和金融科技企业基于 Shioaji 构建自动交易系统。API Key 机制支持团队内不同成员的权限管理,但多角色协作权限的高级管控(如操作范围限制、审批流程)需由团队自行在应用层面实现。
-
专业用户场景:对于量化策略开发者、数据科学家等专业用户,Shioaji 的最大优势在于与 Python 科学计算生态的深度整合。用户可结合 numpy、scipy、pandas、pytorch 甚至 tensorflow 构建复杂的交易模型,从数据获取到策略执行全链路无缝对接。底层 C++ 核心与 FPGA 事件代理技术提供了专业级的速度保障。
-
应急场景适配:紧急行情查询或快速下单时,Shioaji 的响应速度快(行情数据即推即达、下单调用即时返回)。API 的即时订阅机制使得开发者可以编写自动监控脚本,在出现特定行情信号时自动触发下单操作,满足应急场景下的时效性需求。
-
专项场景适配:Shioaji 专注服务于台湾证券市场程式交易需求,在台股与台指期程式交易领域占据约一半的份额。覆盖证券、期货、选择权等多类金融商品,适合量化选股、趋势跟踪、统计套利、日内交易等多种策略场景。不足之处在于不支持海外期货交易与海外期货资料的获取。
3.2 对比优势与短板
-
优势对比:
-
核心竞争力:Shioaji 是目前台湾市场唯一原生 Python 跨平台程式交易 API,底层使用 C++ 和 FPGA 技术加速,在性能上领先于传统的接口方案。
-
独特功能亮点:与 Python 科学计算生态的深度整合、模拟交易环境、Docker 容器化部署、MCP 协议的 AI 集成支持——这些在台湾市场中均属首创或领先。
-
性价比优势:相较于 MultiCharts 等商业量化平台的授权费用,Shioaji 对永丰金证券客户免费开放。对于具备 Python 编程能力的用户,学习成本(投入时间)远小于商业量化平台的上手成本,功能灵活度更高。
-
-
短板表现:
-
功能局限性:不支持海外期货,商品范围仅限台湾市场。对于需要跨市场交易的投资者,这是一个明显的限制。
-
适配场景有限:无原生移动端 SDK,移动场景依赖第三方应用。
-
Python 版本兼容问题:部分 Windows 用户在虚拟环境(venv)下遇到 API 初始化报错,官方在环境兼容性指引方面有待完善。
-
可改进性:以上短板均可通过官方迭代进行弥补——如扩展商品范围、补充环境故障排除文档、发布官方移动端 SDK 等。
-
-
极限场景表现:在高并发场景下(同时订阅数十档股票的即时报价、批量下单),Shioaji 的 C++ 底层核心能有效支撑。不过极端情况(如上百档股票同时订阅 Tick 数据)下的表现,尚无官方基准测试数据。对于一般量化交易场景,其性能足以满足需求。
-
用户口碑:从 GitHub 社区活跃度、PTT Broker 板讨论、以及市场占有份额来看,Shioaji 在台湾程式交易圈的口碑总体正面。高频好评点集中在“Python 生态整合好、跨平台、文档齐全”;高频反馈的改进点集中在“海外商品不支持、部分环境兼容性问题”。
4. 综合体验评估
4.1 操作便捷性
-
操作门槛:对于有 Python 基础的开发者,从安装 Shioaji 到成功获取第一笔即时行情,按照官方文档操作大约需要 15-30 分钟。新用户熟悉核心操作的时间在 15 分钟左右。
import shioaji as sj的导入方式与主流 Python 套件一致,无特殊学习负担。不过完全零编程基础的用户无法独立上手——这是所有 API 类工具的共同特点。 -
响应速度:API 初始化、登入、合约查询等操作的响应速度在秒级以内。即时报价数据通过订阅机制实时推送,无明显延迟。Docker 容器的启动与运行同样流畅。整体上,从代码执行到获取结果的过程中,没有出现卡顿或过度等待的情况。
-
操作灵活性:Shioaji 支持模拟与正式两种模式切换(
api = sj.Shioaji(simulation=True)),代码风格灵活多变——下单参数既可使用字符串也可使用常量类(如action='Buy'或action=sj.constant.Action.Buy),合约获取既可使用属性路径也可使用字典索引方式——用户可根据偏好选择。 -
多端体验一致性:主要使用场景集中在桌面端的 Python 开发环境,不存在多端体验差异问题。Docker 部署方式在不同操作系统上提供了一致的环境体验。
4.2 容错与优化能力
-
错误修正:API 调用在执行失败时会返回明确的错误信息,便于开发者排查。行情订阅的参数错误(如错误的合约代码)会在调用时立即报错。下单失败(如余额不足、非交易时段)会通过 Trade 物件的状态信息反馈。开发者可根据错误信息修正参数后重新调用。
-
异常处理:网络中断时,API 的 WebSocket 连接会断开,开发者需自行实现重连逻辑。这是 API 类工具的通用特性——Shioaji 提供了基础的连接状态反馈,但未内置自动重连机制。凭证过期、API Key 无效等问题会给出对应的错误提示,便于用户排查。
-
迭代适配:Shioaji 自发布以来持续更新,当前 pip 版本为 1.2.5。社区方面,rshioaji(Rust 封装)已迭代至 0.4.13 版本,Shioaji MCP Server 也在持续维护,说明围绕 Shioaji 的生态迭代活跃。
-
测试验证:官方提供模拟环境(simulation mode)供开发者进行功能测试,自 2022 年 8 月起开放。客户需在模拟环境完成测试并通过审核后才能开通正式下单权限,这种机制在保障交易安全的同时,也起到了功能验证的作用。
4.3 安全性与可靠性评估
-
功能可靠性:核心功能(行情订阅、下单执行、帐务查询)在正式环境下长期运行表现稳定。通过模拟环境充分测试后再切换至正式环境,可有效降低功能故障的风险。API 服务器符合 ISO27001 资安规范。
-
数据与版权安全:客户账号/密码等敏感资讯以 MD5 加密后传输。安装档附带 SHA256 校验码供安装前验证。个人资料相关操作(下单、帐务等)需电子凭证二阶段验证。Shioaji 采用 MIT 开源许可证,无版权纠纷风险,生成内容(策略代码、交易记录)的知识产权归属于开发者。
5. 适用人群与价值总结评估
5.1 适用人群匹配度
-
核心适配人群:
-
Python 开发者/量化交易者:这是 Shioaji 最核心的目标用户。具备 Python 编程能力,希望以程式化方式进行台股与台指期交易的投资者,使用 Shioaji 可以实现从数据获取、策略回测到自动执行的全流程自动化。
-
FinTech 企业/量化团队:需要高效、低成本的交易串接方案,Shioaji 的开源特性和开放 API 架构非常适合构建商业化的量化策略系统。
-
AI 与数据科学从业者:希望将 AI/ML 模型应用于金融交易场景,Shioaji 与 PyTorch、TensorFlow 等框架的无缝整合极具吸引力。
-
-
不适配人群:
-
零编程基础投资者:Shioaji 作为 API 层工具,不具备“保姆式”操作界面。零基础投资者建议使用永丰金提供的“大户投”、“iLeader”等 GUI 下单软件。
-
海外期货/跨市场交易者:Shioaji 目前仅支持台湾市场商品,无法满足海外期货、美股、港股等跨市场交易需求。
-
超高频交易(HFT)需求者:虽底层采用 C++ 与 FPGA 加速,但 Python API 层仍有一定延迟。对纳秒/微秒级延迟有要求的超高频交易场景,可能需要更底层的接入方案。
-
-
人群学习成本:
-
Python 入门用户:约 1-2 小时可通过官方教程完成环境搭建和首次行情订阅。
-
Python 熟练开发者:约 15-30 分钟即可上手核心功能,当天可完成基本自动交易脚本。
-
量化策略专家:可立即上手,重点关注 API 的高级功能与性能优化。
-
官方提供了详细的在线文档、Jupyter Notebook 教程、GitHub 示例代码,针对不同层次用户都有对应的学习资源。
-
5.2 核心价值总结
-
核心价值:Shioaji 解决了台湾程式交易者“如何高效、稳定、低成本地串接台股与台指期交易”的核心痛点。对于具备 Python 能力的投资者,它打通了“策略研究(Python 科学计算)→ 回测验证 → 实盘交易 → 绩效监控”的全链路,省去了在不同工具间切换的时间与学习成本。相较于传统 GUI 下单软件,程式交易的效率提升远超 50%。
-
性价比评估:Shioaji 对永丰金证券客户免费开放,这使其在成本端具有绝对优势。在功能相近的情况下,商业量化平台(如 MultiCharts)需要数千至数万元不等的一次性费用或年费,而 Shioaji 的“成本”仅在于用户的 Python 学习投入。对于个人投资者,这是性价比极高的程式交易入口;对于企业用户,开源特性降低了商业系统的授权和定制成本。
-
长期价值:Shioaji 已构建起一个活跃的开发者生态——从官方的持续维护,到社区的 rshioaji(Rust 封装)、Shioaji MCP Server(AI 集成)、自动交易框架等衍生产品,说明它正从单一的“交易 API”发展为“金融 API 生态平台”。长期使用能形成程式化交易的习惯与能力积累,用户构建的策略库和交易框架可持续复用和迭代。
-
市场竞争力:在台湾券商程式交易 API 市场中,Shioaji 定位于中高端专业型产品。其核心竞争力在于:原生 Python 跨平台支持、底层 C++/FPGA 加速、完善的文档与教程、活跃的开源生态、零成本使用。与嘉实 XQ 等竞品相比,Shioaji 在灵活度和生态系统上的优势明显;但在“开箱即用”的 GUI 体验上,需要用户具备编程能力才能发挥全部价值。对于符合其目标用户画像的开发者来说,Shioaji 是目前台湾市场不可替代的程式交易 API 方案。
6. 配置与使用体验评估
6.1 配置方式评估
-
配置复杂度:Shioaji 的基础配置分为环境安装和凭证配置两个阶段,总体步骤清晰:
-
安装 Python(≥3.8)
-
pip install shioaji -
导入套件,初始化 API
-
登入(使用 API Key 与 Secret Key)
-
启用 CA 凭证(下单前)
基础配置总共约 5 步,无需专业技能,按照官方教程即可完成。
-
-
配置指引:官方 GitHub 文档站点提供了详细的图文教程,涵盖账号开设、凭证申请、环境安装、快速入门等全流程。Jupyter Notebook 教程提供了可交互的代码演示。此外,还有社区博客提供了从申请到串接的完整中文教学。常见问题(FAQ)在官方文档页面也有相应的解答。
-
环境适配:Shioaji 的 Docker 镜像方案极大简化了环境配置——一行命令即可启动一致的开发环境,消除了“在我电脑上能跑”的兼容性问题。API 配置支持环境变量和 .env 文件两种方式,适配不同项目的配置管理习惯。
-
配置灵活性:API Key 和 Secret Key 可以通过环境变量、.env 文件或直接在代码中传入,用户可根据安全需求选择。模拟模式与正式模式的切换只需修改
simulation参数的布尔值。凭证路径支持自定义。API 还支持多账户登入与切换,方便管理多个账务。
6.2 使用步骤评估
-
步骤简洁度:核心操作流程高度简洁——订阅行情仅需 3 行核心代码:获取合约 → 定义回调函数 → 调用 subscribe。下单仅需 4 行核心代码:获取合约 → 定义订单 → 调用 place_order → 接收交易回报。
-
引导完善度:官方 Jupyter Notebook 教程提供了完整的交互式引导,用户可以边看边运行代码。教程从最简单的安装导入开始,逐步引导到合约获取、行情订阅、下单、帐务查询等全流程。不过教程中的提示说明(如期货 R1/R2 合约规则说明)以英文为主,中文用户可能需要适应。
-
流程流畅性:各操作步骤衔接自然——登入后获取账号信息 → 获取合约 → 订阅行情 → 分析数据 → 下单 → 查询回报——整个流程没有不必要的跳转或等待。API 设计符合 Python 开发者的思维习惯,代码编写过程流畅自然。
-
异常操作指引:API 调用失败时会抛出 Python 异常并附带错误信息,开发者可根据错误信息定位问题。凭证过期或未激活时,API 会明确提示需要重新激活凭证。建议官方在未来增加更细化的错误码说明和故障排除指南,进一步降低开发者的排查成本。
6.3 售后与支持评估
-
售后响应:永丰金证券官网提供了联系表单,用户可以提交问题后由专人与之联系。营业时间内的响应速度取决于具体客服团队的安排。对于 API 技术问题,建议同时参考官方 GitHub 文档和社区资源。
-
支持渠道:
-
官方在线文档:https://sinotrade.github.io/
-
官方 API 管理页面:https://www.sinotrade.com.tw/newweb/PythonAPIKey/
-
在线联系表单
-
GitHub 项目页面(Issue 反馈)
-
PTT Broker 板(社区讨论)
-
-
用户社区:围绕 Shioaji 已形成初具规模的开发者社区。GitHub 上有多个衍生项目(自动交易框架、DolphinDB 集成、Rust 封装、MCP Server 等)。PTT 上也有程式交易相关的讨论串。不过 Shioaji 目前暂无官方运营的 Discord/Slack/Line 社群,社区交流主要依赖 GitHub 和 PTT,在即时互动方面有提升空间。

关注 “悠AI” 更多干货技巧行业动态