头文件、构建系统与单元测试
国内某头部私募(类似鸣熙资产)C++ 团队的第二个 sprint,组长把一个迷你定价库交给你独立负责。上一任留给你一份 600 行的 main.cpp ,能编、能跑、打印三个数,零测试。下个 sprint 的任务清单里包括加上一个 put call parity 的健全性检查、把库挂到一个策略二进制里、并通过一次把「单文件 C++ 工程」列为 P2 反模式的...
打开 →GLOBAL SEARCH
搜索在服务端完成,题目解析与答案不会进入搜索结果。登录后可搜索自己的收藏题单。
找到 24 个结果
English questions国内某头部私募(类似鸣熙资产)C++ 团队的第二个 sprint,组长把一个迷你定价库交给你独立负责。上一任留给你一份 600 行的 main.cpp ,能编、能跑、打印三个数,零测试。下个 sprint 的任务清单里包括加上一个 put call parity 的健全性检查、把库挂到一个策略二进制里、并通过一次把「单文件 C++ 工程」列为 P2 反模式的...
打开 →国内某私募衍生品桌的研究主管要在不动 Monte Carlo 引擎的前提下,对同一笔 CSI 300 ETF(510300.SH)4.30 行权价的欧式 call 跑三种 payoff——call、put、二元 digital。C++98 时代的答案是一棵 PayoffBase 指针继承树;C++11 之后的答案变成一行 lambda:把它直接传进 pric...
打开 →国内一家头部 quant 在 CFFEX 张家湾数据中心 colo 部署的低延迟工程负责人,正在 review 自家 IF 股指做市路径的 tick to trade 延迟报告。中位数 4.8 μs;MarketMakerTier1 桌内预算是 5 μs,正好达标。P99.9 是 47 μs,超过了 OperationalRiskCommittee 公开的 ...
打开 →周三上午,你在国内某头部私募的衍生品自营桌做期权 Greeks 重估。沪深300 ETF(510300.SH)期权链上挂着 480 张合约,每张合约要算一次 Delta、Gamma、Vega、Theta,每个 Greek 都是一次 100 万路径的 Monte Carlo——480 × 4 × 1M = 19.2 亿条路径。上一课你已经用 monotonic...
打开 →国内某头部 quant 在 CFFEX 数据中心做股指期货 colo 部署的基础架构 lead,正在 review 一名 junior engineer 的一行 patch。这行改动把策略事件计数器上的 std::mutex 删了——这个计数器是 dashboard 每秒读一次的指标。Engineer 的理由:「计数只增不减,热点路径上也从不读它。」PR 描...
打开 →周一上午十点,你在国内某头部私募的成交分析(execution analytics)桌,昨夜成交回报落了一份 1M 条沪深300成分股的明细。组长要的不复杂:这一篮子今日的 VWAP(volume weighted average price)是多少?你 30 行 C++17 写完,跑一遍 4.3 ms。下午组长又问:能不能把它压到 1 ms 以内——他想在...
打开 →你在一家国内头部私募 quant 桌的第一天上午,负责低延迟策略代码的 senior 把一把 USB key 拍在你桌上,指着旁边那台跑 Ubuntu 的 Linux 工作站说:"中午之前把一个 Black Scholes 定价器编出来跑通。你用什么编辑器我不管,但 build 必须能从干净的仓库一键复现。"过去三个 Python 子学科没有为你接下来这九十...
打开 →某国内头部私募(类似幻方量化)的初级 quant 第一次用 C++ 写了一个五日滚动 VWAP 函数。它加载 510300.SH 收盘价、用 new double[5] 申一段 buffer、算滚动均值、返回结果。单元测试过。集成测试过。两周后,同一个函数被一段每秒跑一万次的热路径调用,交易进程在一天之内常驻内存悄悄涨到 80 GB,直到内核 OOM kil...
打开 →国内一家私募在 CFFEX 数据中心 colo 部署的资深系统工程师,正在用回放数据 profile 那条新搭起来的 IF/IH 股指期货做市路径。热点循环是这样的:接收线程从组播 UDP 包中 mmap 解出报文,先解析 CTP 行情字段,把一个 TickEvent 推到由 std::mutex 保护的 std::queue 上;策略线程 pop、更新本地...
打开 →国内某私募 CSI 300 ETF 期权桌的资深 C++ engineer 在审一份六年前写就的策略库——它要进 live engine。他贴在每一份源码上的 PR review 评论只有一行:「这里裸 new ——改成 std::make unique 。」这份库是 C++03 风格写的, delete 散布在异常处理路径上,等一个错位的 throw 就足...
打开 →国内某私募的 C++ 研究桌周一例会:新入职的研究员上线了 mean double 、 mean float 、 mean long double 三份函数——同一个九行的均值计算被复制了三次,只是浮点精度不同。Senior C++ engineer 的 review 意见只有一句话:「这里要写成模板。」周五新人交回的版本里,三份代码合成了一个 templa...
打开 →国内某私募 CSI 300 ETF 期权桌的风险分析师在翻夜间对账日志:四十笔 510300 期权报价的隐含波动率(IV)显示为整齐的 1.0 。这不是市场信号,而是上一代 IV 求解器在「未收敛」时使用的 sentinel value。当下游的偏斜模型把 1.0 一起平均进去,报告的偏斜被肉眼可见地拖偏,早会因此浪费了三十分钟去追一个根本不存在的数字。修复...
打开 →国内某头部私募(类似九坤投资)的风控分析师接手了一份 C++ 工具,功能是吃下一个 510300.SH 成交 CSV、把它聚合成五分钟 bar 序列。工具在 happy path 上工作。第一次某行格式异常的 CSV 把 parse double 送进了 throw std::runtime error("bad price") ,进程就漏掉了那个已经打开的...
打开 →国内一家头部私募的 CSI 300 ETF 期权桌的 C++ 工程师,正在把一个新的 510300.SH 期权策略接进生产引擎。单线程回测跑十一秒;上线引擎要求一个线程从 CFFEX 行情链路喂 tick,第二个线程跑 Greeks 重估,第三个线程把订单分发到 SSE 的报盘网关。第一版在第二个 tick 就死锁了。第二版位置表被搞乱了——两条线程同时读写...
打开 →你在一家国内头部私募 quant 桌上,周末把一段单线程的沪深300成分股信号聚合器用 C++17 重写。重写"显然更快"——更少的分配、更紧的循环、通篇现代 C++17。周一集成测试都过,墙钟时间却慢了百分之四十。PM 问你为什么。你盯着 diff 看不出名堂,因为你写代码时感到的"更快",住在 C++ 标准之下的一层里:住在缓存层级里、住在一次栈指针挪动...
打开 →周五下午两点,你在国内一家头部私募的做市桌写 C++。早盘上线了一版新写的 on tick 处理流程,沪深300成分股的 tick 流压进策略;你顺手 perf record 采了五秒看火焰图。策略逻辑本身只占 60% 周期,另外 40% 不在你写的任何函数里——而是稳稳落在 int malloc 、 int free 、 malloc consolidat...
打开 →某 HFT 私募的低延迟负责人在周五下午走进工程间,对写出 L1 / L2 / L3 这套交易二进制的团队问一个问题:"开发机上跑得对。现在要把它放到 CFFEX 张江 COLO 撮合引擎旁边的机柜里,并对交易桌承诺端到端 P99.9 在 3 µs 以下,还要做哪些事?"这段从「能编译」到「桌子敢用」的差距,就是部署故事。四层一起出力:编译标志(PGO + ...
打开 →国内某头部 quant 的 510300.SH 做市组新入职 C++ 工程师,被安排与一位资深做一周入职配对。第一天:读 200 行 FIX 会话层代码。第二天:读 300 行 ITCH 5.0 解析器。第三天:把一笔 NEWORDERSINGLE 从策略层往下追,穿过桌内会话处理器、跨 TCP 套接字送到跨境清算柜台,再以 EXECUTIONREPORT ...
打开 →某私募在 CFFEX 张江 COLO 机房的交易负责人 09:45 巡视交易室,向策略组长问一个问题:"如果我们做沪深300 ETF 510300.SH 的 mean reversion on mid 机器人因为 mid 算错而开始按 0.01 元发买单,它怎么在监管层来电话之前自己停下?"答案不在策略本身,而在策略外面的框架。每张订单到达 FIX 会话之前...
打开 →国内某头部私募 quant 桌的初级开发者隔夜上线了一段 P&L 归因脚本。第二天清晨的 trade cap 报表显示一笔头寸的名义金额是 21,474,836.48 元。那笔头寸是 510300.SH(沪深 300 ETF)的 4,500,000 股多头。bug 花了六个小时才定位:把累计股数加总的辅助函数被声明成了 int total shares; ,...
打开 →某 CFFEX 张江 COLO 机房里,一位延迟工程师在 SSE Level 2 行情上跑 tcpdump ,问你:一个 09:30:00.000001234 时刻穿过交换机的报文,为什么 09:30:00.000004718 才到达策略线程?这 3.5 µs 就是 L1 委托簿能消费的预算上限——而其中大部分都付给了线路到委托簿之间这一层:行情处理器。本课...
打开 →某 HFT 私募在 CFFEX 张江 COLO 机房的市场数据组长,把你叫到白板前,09:25 开盘前问一个问题:沪深300 ETF(510300.SH)的委托簿在线路上和内存里到底应该怎么存,才能让 SSE 推送的二级行情每秒 20 万条增量消息全部落本,同时热路径上一次 malloc 都不调?你在白板上画出的那张结构图,就是这家私募所有市场数据系统、撮合...
打开 →中信建投自营 IT 团队的同事把一份 C 的期权定价库 libquant pricer.so 扔到你桌上。"我们这套是十几年前用 C 写的,封装了 Abramowitz Stegun 7.1.26 标准正态 CDF 近似;你的 Rust 引擎要在中证 510300 期权上调它,先别想着重写。"——这就是 2026 年量化 Rust 开发者面对的现实: 没...
打开 →凌晨四点四十五,上海集合竞价开盘前两小时,你坐在 CFFEX 张江 COLO 机房旁的运维室。你是国内一家头部私募 Rust 团队的负责人,沪深300 ETF (510300.SH) 做市策略;L1、L2、L3 三课合并的成果是一个名为 trading engine 的可跑二进制,策略组的研究员要昨晚通宵回归的直方图报告。终端上滚出来的一行: tick to...
打开 →