一句话总结 Optiver OA:别只刷 LeetCode。它是一套 Coding + 数学 / 心算 + 模拟交易 的混合考核,而且每一段的考察方式都不一样。本篇是 oavoservice 学员复盘归纳,按三段题型拆解,并标出哪些环节 VO代面 / VO辅助 可以介入、哪些不能。
一、Optiver OA 的整体结构
岗位不同,OA 组合不同:
| 岗位 | OA 段数 | 时长 |
|---|---|---|
| Software Engineer Intern | Coding 1 + Coding 2 + Math | 90–120 min |
| Quantitative Trader Intern | Math + Trading + 8s 心算 | 60 min |
| Quant Researcher | Coding + Math + Stats | 120 min |
三段考察重点:
- Coding:HackerRank 平台,2–3 题 LC Med
- Math / 概率:选择题 + 填空,含 8 秒心算
- Trading:自研模拟器,盘面动起来你再下决策
二、Coding 段:HackerRank 风格
高频题型
| 类型 | 频次 | 解法关键 |
|---|---|---|
| 数组 / 滑窗 | 高 | 单调队列 / 双指针 |
| 二维网格 / BFS | 中 | 模板化 |
| 字符串解析 | 中 | 状态机 |
| 简单设计 | 中 | hash + heap |
学员还原题:盘口聚合
给定一个交易日的报价流
quotes[i] = (t, side, price, qty),要求按 1 秒粒度聚合,输出每秒的 VWAP(成交量加权平均价)。无成交的秒输出上一秒值。
from collections import defaultdict
def vwap_per_second(quotes):
bucket = defaultdict(lambda: [0.0, 0]) # sec -> [pq, q]
for t, side, price, qty in quotes:
sec = int(t)
bucket[sec][0] += price * qty
bucket[sec][1] += qty
if not bucket:
return []
secs = sorted(bucket.keys())
out = []
last = None
for s in range(secs[0], secs[-1] + 1):
if s in bucket and bucket[s][1] > 0:
last = bucket[s][0] / bucket[s][1]
out.append((s, last))
return out
复杂度:O(n + T)。坑点:无成交的秒处理是常见扣分项;int(t) 截断负值要小心(盘口数据通常无负时间,但模板要稳)。
三、Math 段:8 秒心算 + 概率题
8 秒心算(Optiver 招牌)
题目大致是:
0.04 × 25 + 1.5 = ?
1/8 + 3/16 = ?
17 × 23 = ?
每题 8 秒,80 题,70 题以上算稳过。考的不是你会不会,而是你 能不能在压力下不慌。
学员实测建议:考前 1 周每天做 200 道,用纸笔不要用计算器。心算是肌肉记忆,不是知识。
概率题(约 10 道)
常见类型:
- 期望值(含条件期望)
- 蒙提霍尔与变体
- 几何分布、负二项分布
- 简单的鞅论 / 随机游走
- 贝叶斯推断
学员实测题(变体):
你抛一枚均匀硬币直到出现 HH(连续两次正面)。期望抛多少次?
经典递推:设 E 为期望次数,E1 为 "上次是 H" 状态下的期望。
E1 = 1/2 × 1 + 1/2 × (1 + E)
E = 1/2 × (1 + E1) + 1/2 × (1 + E)
解得 E = 6
考场上写不出推导没关系,记住几个高频结论比临场推导更稳。
四、Trading 段:模拟器盘面
最有 Optiver 特色的环节。给你一个简化版的撮合系统,盘面会实时跳价,你要在限定时间内:
- 挂买卖单:在 bid / ask 上做市
- 吃盘:发现 mispricing 时主动成交
- 风控:净仓位不能超过限制,否则强平 + 罚分
学员复盘的得分思路
- 先观察 30–60 秒:摸清这只「股票」的波动节奏
- 不要扛大单:净仓位每接近上限就先平掉一半
- 看时间衰减:最后 10 秒留出平仓窗口
- 留意「假报价」:模拟器会发出明显错价,eat 它就是分
盈利来源:
- 做市价差(高频小利)
- mispricing 套利(事件驱动)
- 趋势顺势(少量)
踩坑:扛仓死撑是新手最容易做的事,模拟器的 PnL 曲线会狠狠惩罚你。
五、得分阈值与时间分配
| 段 | 通过线(学员经验) |
|---|---|
| Coding | 2 题 AC,第 3 题部分 |
| Math 心算 | ≥ 70 / 80 |
| Math 概率 | ≥ 7 / 10 |
| Trading | PnL 正且最大回撤可控 |
时间分配建议:
- 心算别拖,能秒就秒,不能就过
- 概率题如果 30 秒没思路就跳题,回头再来
- Trading 段事先在脑里跑过流程,进场后头 10 秒别慌
六、VO代面 / VO辅助 在 Optiver OA 的实战路径
oavoservice 在 Optiver 全流程提供:
- 题型预测:每周更新心算题库 + 概率题库 + Coding 高频题
- 限时 mock:模拟 60 / 90 / 120 分钟全程压力
- Trading 模拟器陪练:用类似规则的 simulator 训练做市直觉
- OA 全程实时辅助:mentor 从拿到链接到提交答案陪同
- Trading Game 现场:盘前 brief + 思路 cue + 风控提醒
- HM:mock + 反问 list + 节奏调整
从 OA 到 Trading Game 到 HM 一站式打包,每一段都有针对性的支持。
七、4 周备战节奏
| 周次 | 任务 |
|---|---|
| W1 | 心算每天 200 道 + 概率经典题库 50 道 |
| W2 | LC 高频 30 题(数组 / 滑窗 / 图) |
| W3 | Trading 模拟器陪练 × 5 + 做市直觉 |
| W4 | 全模拟 OA × 2 + 心理调适 |
FAQ
Optiver OA 难吗?
Coding 不难,心算 + Trading 才是真正的筛选器。学员里 Coding 全 AC 但心算没过的占 30%。
心算可以用纸笔吗?
可以。但 8 秒一题,写下来反而更慢,绝大多数学员靠口算。
概率题考多深?
不会到博士级别,但 基础随机过程 + 期望值 + 鞅 这三块要扎实。
Trading 段会一直亏吗?
新手常见。建议至少做 5 次模拟器,先学会不亏,再学会赚。
VO代面 / VO辅助 在 Optiver Trading Game 阶段能做什么?
盘前 brief + 思路 cue + 风控提醒 + 现场实时辅助。从 OA 到 Trading Game 到 HM 全流程都有 mentor 陪同。
正在准备 Optiver OA / Trading Game?
oavoservice 长期跟踪 Optiver OA 真题,提供 心算题库、概率题刷、Coding 限时 mock、Trading 模拟器陪练、VO代面 / VO辅助 全链路服务。
👉 立即添加微信:Coding0201,获取 Optiver OA 题库与 VO辅助 路径。
联系方式
Email: [email protected]
Telegram: @OAVOProxy