功夫量化客户端使用手册:从入门到精通

·

概述

功夫量化交易系统采用模块化自由集成设计,提供高度灵活的操作界面与可视化体验。系统以功能为单位组织不同面板,用户可根据个人习惯自由调整布局,实现个性化工作流。

模块化架构赋予系统强大的灵活统计能力。以持仓面板为例,可根据选中内容动态展示策略、账户或交易算法的持仓数据,满足多维度分析需求。

交易账户管理

交易账户面板支持完整的账户生命周期管理,包括添加新账户、删除或编辑已有账户、创建账户组、单独启动或中止账户进程。

添加账户步骤

  1. 点击交易账户面板的“添加”按钮。
  2. 选择柜台类型:CTP(期货柜台)、XTP(股票柜台)或SIM(模拟柜台)。

    • 注意:SIM柜台提供随机模拟数据,仅用于测试参考。

CTP账户配置示例

选择CTP柜台后,填写以下字段:

填写完成后点击“确定”保存配置,可通过进程开关按钮运行账户。

XTP账户配置要点

选择XTP柜台后,需填写:

SIM模拟账户配置

选择功夫模拟柜台后,仅需填写:

账户启动与监控

点击账户进程按钮启动账户,当状态显示为“就绪”时表示登录成功。

通过“账户设置”按钮可查看和修改账户参数,但需注意:修改配置后需重启账户才能生效

点击日志按钮可在新窗口查看实时运行日志,帮助监控运行状态和排查问题。

账户删除注意事项

删除账户将关闭交易进程并清空所有相关数据,包括委托记录、成交记录和交易日志。删除前请务必备份需要保留的数据

👉 获取实时账户监控工具

行情源管理

行情源面板管理市场数据连接,系统通过账户信息获取行情,因此账号密码需与交易账户保持一致。

添加行情源

  1. 点击行情源面板的“添加”按钮
  2. 选择柜台类型:CTP、XTP、CTP穿透式、OKX(数字货币)、BinanceFuture(数字货币)或SIM模拟柜台

CTP行情源配置

XTP行情源特殊设置

数字货币行情源

OKX和BinanceFuture柜台主要提供三种数据推送选项:Ticker数据、逐笔成交和费率数据,开启可能占用较大内存。

行情源操作

点击进程按钮启动行情源,状态为“就绪”表示连接成功。通过“行情源设置”按钮可查看和修改参数,修改后需重启才能生效。

日志功能帮助监控行情运行状况,点击日志按钮即可查看实时运行日志。

删除行情源将停止行情接收,可能影响依赖该行情源的策略和交易任务,操作前请确认无相关进程运行。

策略进程管理

策略进程面板作为策略池,支持导入策略文件、实时编辑代码,所有修改会自动保存。

添加策略

点击“添加”按钮后填写:

重要提示:策略文件需与系统安装目录在同一盘符;启动前确保交易进程(TD)和行情进程(MD)已就绪,否则可能导致下单失败。

策略操作与监控

点击进程按钮启动或停止策略运行。通过日志按钮可查看策略运行详情,内嵌IDE支持直接编辑代码,修改实时保存。

删除策略将关闭策略进程并停止下单,请谨慎操作。

回放工具应用

回放工具模拟盘中交易情况,支持盘后代码调试和策略复盘,主要功能包括:

日志级别调整

通过回放可查看更详细的debug级别日志,帮助排查问题:

  1. 点击策略面板的回放按钮
  2. 选择需要查看的session
  3. 设置回放结束时间(可选)
  4. 查看生成的详细日志

策略逻辑修改测试

修改下单逻辑后,可使用撮合器进行实盘数据模拟:

  1. 编辑策略代码修改逻辑
  2. 点击回放按钮选择session
  3. 系统按新逻辑进行模拟
  4. 对比实盘与模拟结果

手续费测试

通过修改手续费费率并开启撮合器,可测试不同费率下的表现:

  1. 在策略中增加手续费打印代码
  2. 全局设置中修改期货手续费
  3. 开启回放并启用撮合器
  4. 查看不同费率下的手续费变化

诊断工具深度应用

journal文件记录进程行为的丰富数据,包括行情档位信息,可用于盘后复盘。诊断工具支持多种定位方式:时间戳定位、消息类型过滤和关键字搜索。

策略下单表现分析

  1. 点击进程旁的眼睛图标打开诊断工具
  2. 点击“进入可视化”界面
  3. 查看左侧session栏和标的栏
  4. 分析右侧图表中的下单、撤单和行情信号
  5. 查看下方journal记录详情

可视化界面帮助用户:快速查看标的总体下单情况、分析下单相对行情的延时、跟踪同一订单号的下单撤单情况。

操作技巧:鼠标滚轮调整时间跨度;单击信号图例筛选相同order_id的信号;点击记录跳转到对应时间段。

journal数据查看

所有进程(交易账户、行情源、策略进程等)都支持诊断工具查看journal数据。通过文件菜单可查看所有进程的journal文件。

支持多种筛选方式:信道过滤、消息类型过滤、时间戳跳转和Ctrl+F关键字搜索。

算子面板高级功能

算子计算结果可被其他算子或策略订阅,支持嵌套计算,减少重复计算提高效率。算子分为算子插件(官方封装)和算子文件(用户编写)两种类型。

算子应用场景

  1. 计算开销分离:将机器学习等重型计算与策略进程分离,减少数据拥塞
  2. 计算结果复用:生成K线或因子供多个策略订阅,避免重复计算
  3. 合成数据生成:生成K线、预测因子或目标仓位数据

添加算子

点击“添加”按钮选择算子类型(文件或插件):

算子插件配置(以bar数据为例)

算子文件配置

算子调用示例

K线合成代码

from kungfu.wingchun.constants import *
source = "sim"
exchange = Exchange.SSE

def pre_start(context):
    context.subscribe(source, ['600420','600000'], exchange)

def on_quote(context, quote, location, dest):
    context.publish_synthetic_data('op', "{}".format(quote))

订阅算子数据

def pre_start(context):
    context.subscribe_operator("bar", "my-bar")  # 订阅插件算子
    context.subscribe_operator("default", "op2") # 订阅文件算子

def on_synthetic_data(context, synthetic_data, location, dest):
    context.log.info("on_synthetic_data: {}".format(synthetic_data))

重要提示:策略订阅算子后仍需订阅行情源;注意算子启动顺序依赖;算子未运行时策略会保持监听;多数据源同时使用时策略会综合所有可用数据。

👉 探索更多算子策略

持仓与交易管理

持仓面板功能

支持搜索、刷新和导出功能,可按照策略或账户维度灵活统计持仓信息。字段包括:持仓代码、方向、昨仓、今仓、总持仓、开仓均价、最新价和浮动盈亏。

委托记录管理

提供完整的委托生命周期管理,支持:

委托状态包括:已提交、等待中、正在交易、待撤、全部成交、全部撤销、部分撤销部分成交、错误和丢失。

成交记录分析

提供成交数据的搜索、导出和查询功能,按标的分组统计成交量和支持延迟分析,帮助用户掌握账户整体成交情况。

交易任务自动化

系统提供条件单、Excel下单、冰山和TWAP四种交易任务,支持暂停和重启功能。

条件单配置

支持价格和时间条件触发:

Excel批量下单

适合多标定时下单需求:

冰山订单

适用于大额订单分散成交:

TWAP时间加权平均

两种TWAP类型区别:

  1. 剩余累积:未完成部分累积到下一下单
  2. 剩余平均:未完成部分平均分配到剩余次数

TWAP剩余累积在结束时间到达后会撤单,而TWAP剩余平均会以涨停/跌停价报单力求完成。

行情与下单操作

行情订阅与深度行情

行情订阅面板管理关注标的,深度行情面板展示买卖十档盘口动态信息:

实用技巧:点击深度行情档位可自动填充下单信息;点击其他面板的标的可快速查看对应盘口。

下单面板功能

支持普通下单、拆单和预埋单功能(期货标的)。点击其他面板的标的可自动填充代码和价格,提高操作效率。

快捷键操作

预埋单高级管理

支持批量预埋单、单笔预埋单和预埋撤单功能,提供完整的预埋单生命周期管理。

预埋单记录面板

通过添加“预埋单记录”面板更好地追踪预埋单状态,字段包括:类型(下单/撤单)、生成时间、标的、买卖方向、开平、委托价、委托量、触发时间、订单状态和回报信息。

单笔预埋单操作

  1. 在下单面板填写信息后点击预埋
  2. 在预埋单记录面板查看记录
  3. 开盘后触发生成普通委托

注意:预埋单只能在盘休时刻下单;开盘后状态未更新可点击刷新。

批量预埋单操作

  1. 点击“批量”按钮下载模板
  2. 按提示修改模板后导入CSV
  3. 二次调整后确认
  4. 开盘后触发生成多条委托

预埋撤单管理

预埋撤单针对盘休前正在交易的订单,可通过委托记录面板的“预撤”按钮快速操作。取消预埋撤单有两种方式:从委托记录面板或预埋单记录面板操作。

重要区分:预埋撤单是对现有订单的撤单操作,而撤单预埋单是取消已下的预埋单。

全局设置详解

通过左下角设置按钮或Ctrl+,快捷键进入全局设置页面。

系统设置

性能优化

策略环境配置

当内置Python缺少所需模块时,可使用本地Python环境(必须为3.9.x版本)。开启“使用本地python”后选择可执行程序路径,并通过pip安装所需的whl文件。

交易参数设置

控制中心与插件库

客户端右下角“控制中心”监控所有进程状态,字体变红表示有系统服务中断,需及时重启。

功夫提供多种插件满足不同需求:高精回测插件、柜台插件、算法插件等,用户可根据需要选择或定制专用插件。

常见问题

账户连接类

Q:账户无法登录怎么办?
A:首先检查账户信息是否正确填写,特别是账户ID、密码和券商代码。确保网络连接正常,交易IP和端口无误。如为实盘账户,确认授权码有效。

Q:SIM模拟账户有什么使用限制?
A:SIM柜台提供随机模拟数据,仅用于功能测试和策略验证,不能反映真实市场情况。模拟撮合模式可设置不同订单状态用于测试。

行情数据类

Q:行情源连接失败如何排查?
A:确认行情账号密码与交易账户一致;检查行情地址和端口是否正确;网络连接是否正常;查看日志中的具体错误信息。

Q:XTP行情查询instruments选项是否要开启?
A:除非必要,否则不建议开启。该功能会查询所有可交易标的,流量过大可能导致账号或IP被XTP拉黑限制。

策略运行类

Q:策略下单失败可能原因?
A:主要检查:交易进程(TD)和行情进程(MD)是否就绪;策略代码是否存在错误;资金或仓位是否充足;交易所是否处于可交易状态。

Q:回放工具有什么实用技巧?
A:可设置结束时间提高回放效率;通过修改日志级别获取详细调试信息;使用撮合器测试策略逻辑修改效果;对比不同手续费下的表现差异。

系统优化类

Q:如何提高系统性能?
A:根据机器配置开启极速模式(CPU>4核);跳过UI进程计算;启用纯监控模式;跳过持仓行情订阅;定期清理journal文件。

Q:什么情况下使用本地Python?
A:当策略需要特定第三方库而内置Python环境中不存在时,可配置本地Python环境。但需确保版本兼容性(必须为3.9.x)。

交易操作类

Q:预埋单和普通委托有什么区别?
A:预埋单在盘休时刻下单,开盘后自动触发生成普通委托。主要用于非交易时间的委托准备,避免开盘时匆忙下单。

Q:TWAP两种类型如何选择?
A:TWAP剩余累积更注重按计划执行,结束时会撤单;TWAP剩余平均更注重完成总量,结束时以涨跌停价报单。根据交易目标选择合适类型。