一、权限与风控概述:量化平台为什么需要权限与风控?核心概念解析

做量化系统这些年,我见过太多「裸奔」的平台了。

什么叫裸奔?就是谁都能下单,谁都能改策略,谁都能看别人的持仓。说实话,早期小团队搞量化,大家坐在一起,喊一嗓子「别动我的策略」就完事了。但一旦系统上线、用户超过两位数、资金开始流转……嗯,问题就来了。

我有个朋友,他们团队做的量化平台,上线第三天就出了事故——一个实习生不小心点了「全仓做空」,把整个基金的头寸给干翻了。你说这是权限问题还是风控问题?其实都有。权限没拦住不该操作的人,风控没拦住不该执行的指令。

所以今天咱们就聊聊:量化平台为什么需要权限与风控?以及那几个绕不开的核心概念——用户、角色、资源、策略。

1.1 为什么量化平台离不开权限与风控?

你想想看,量化平台本质上是个什么?

它是个「钱+代码」的混合体。策略是代码,交易是钱。代码写错了可以回滚,钱转出去了可就真没了。

我个人的经验是,量化平台的风险主要来自三个方向:

  • 操作风险:人干的事。比如误操作、越权操作、恶意操作。
  • 系统风险:代码干的事。比如策略bug、接口超时、数据错乱。
  • 外部风险:别人干的事。比如黑客攻击、API滥用、撞库。

权限系统主要解决第一个,风控系统主要解决第二个和第三个。但现实中,它们经常交织在一起。

核心观点:权限是「谁可以做什么」,风控是「什么可以做」。两者缺一不可。

举个例子。一个交易员有下单权限(权限允许),但他试图在非交易时段下单1000手(风控拦截)。你看,权限放行了,风控拦住了。反过来,如果风控没拦住,那权限再严格也没用。

所以我的建议是:权限做「准入」,风控做「准出」。两者配合,才能形成闭环。

1.2 核心概念解析:用户、角色、资源、策略

这四个词,说白了就是权限与风控的「四块积木」。搞懂了它们,整个体系就清晰了。

1.2.1 用户(User)

用户就是「谁」。可以是人,也可以是程序(比如API调用方)。

我在项目中遇到过一种情况:同一个用户,白天是人操作,晚上是程序跑策略。那权限怎么给?给多了怕滥用,给少了跑不动。

所以用户模型里,我习惯加一个「身份标签」字段:

{
  "userId": "U10086",
  "userType": "human",   // human | bot
  "department": "quant",
  "riskLevel": "low"
}

别小看这个标签。它决定了后续的权限继承和风控阈值。

1.2.2 角色(Role)

角色是「一类人」。说白了就是权限的集合。

常见的角色有:

  • 管理员:啥都能干。但建议加个「双人复核」。
  • 交易员:能下单、能看持仓。但不能改策略。
  • 策略研究员:能写策略、能回测。但不能实盘交易。
  • 风控员:能设风控规则、能冻结账户。但不能交易。
  • 观察员:只能看,啥都不能动。

这里有个坑,我踩过:角色别太细。你搞个「高级交易员」「初级交易员」「实习交易员」……最后你会发现,权限配置比写策略还累。我的经验是,3-5个角色就够了,剩下的用「临时权限」去补充。

小技巧:角色设计遵循「最小权限原则」——给一个人刚刚够用的权限,不多给一分。

1.2.3 资源(Resource)

资源就是「什么东西」。在量化平台里,资源包括:

  • 策略:代码、参数、回测结果
  • 订单:委托、成交、撤单
  • 账户:资金、持仓、流水
  • 数据:行情、因子、研究报告
  • 系统配置:风控参数、费率、交易时段

资源之间还有层级关系。比如「策略A」下面有「策略A的实盘版本」和「策略A的回测版本」。权限能不能继承?我建议是:默认不继承,显式授权。否则很容易出现「给了策略查看权,结果连底层数据都暴露了」的情况。

1.2.4 策略(Policy)

这里的「策略」不是交易策略,而是权限策略和风控策略

权限策略决定「能不能做」,风控策略决定「做了会怎样」。

举个例子:

策略类型 示例
权限策略 「交易员角色可以下单,但单笔不超过100手」
风控策略 「当日累计亏损超过5%,自动暂停交易」
混合策略 「只有风控员才能修改风控参数,且修改后需要管理员审批」

我个人的习惯是,把策略写成「条件+动作」的形式:

IF 用户.角色 == "交易员" AND 订单.金额 > 100000
THEN 需要审批
ELSE 自动通过

这样写,业务方看得懂,开发也容易实现。

1.3 权限与风控的关系:一张图说清楚

下面这张图,是我自己画的一个简化模型。它展示了用户从登录到执行交易的全流程中,权限和风控分别在哪个环节起作用。

量化平台权限与风控流程示意图 用户登录 身份认证 权限校验 用户 → 角色 → 资源 操作执行 下单/撤单/改参 风控拦截 阈值/规则/熔断 各环节核心职责: 用户:谁在操作? 角色:属于哪类人? 资源:操作什么? 策略:允许/禁止? 权限系统:用户 → 角色 → 权限策略 → 资源(准入控制) 风控系统:操作 → 风控策略 → 阈值判断 → 放行/拦截(准出控制) 注:实际系统中,权限和风控可能并行执行,也可能串行执行,取决于架构设计。

这张图里,我刻意把「权限校验」放在「操作执行」之前,把「风控拦截」放在「操作执行」之后。为什么?

因为权限是「能不能进门」,风控是「进门后能不能乱来」。顺序很重要。

注意:千万不要把权限和风控混在一起做。我曾经见过一个系统,把「用户角色」和「风控阈值」写在同一个配置文件里。结果改个风控参数,不小心把权限也改了……那场面,惨不忍睹。

1.4 小结:记住这三句话

好了,第一章的内容差不多就这些。我帮你总结三句话,记住了,后面就好办了:

  1. 权限管「人」——谁可以做什么,基于角色和资源。
  2. 风控管「事」——什么可以做,基于策略和阈值。
  3. 两者要分离——代码分离、配置分离、数据库分离。

下一章,我们会深入权限模型的设计,聊聊 RBAC、ABAC 这些「听起来高大上、用起来真香」的东西。到时候我会拿一个真实的量化平台案例来拆解,保证你看完就能上手。


公众号:蓝海资料掘金营,微信deep3321