GLOBAL SEARCH

搜索课程、模块、题目与收藏题单

搜索在服务端完成,题目解析与答案不会进入搜索结果。登录后可搜索自己的收藏题单。

找到 25 个结果

English questions
课程并发与性能 · 高级 Python

GIL、多线程与多进程

Hook 周一下午四点收盘后,私募研究服务器上挂着两份待跑的任务:先把 100 只沪深300 成分股最近 30 个交易日的日线从米筐风格接口同步下来,再用 100 万条蒙特卡洛路径给一张 510300.SH 看涨期权定价。一颗八核 CPU 跑了二十多分钟,T+1 风控报表迟迟出不来。问题不在算法,在于代码全程单线程。这两份任务该交给的并发原语其实不同:线程池...

打开 →
课程Rust 低延迟交易 · Rust 系统编程

Rust 低延迟之缓存布局、SIMD 与测量

周二上午,你坐在 CFFEX 张江 COLO 机房旁边的运维台前。你是一家头部私募 Rust 团队的开发,负责沪深300 ETF (510300.SH) 的做市策略,代码已经过编译、单元测试通过、回测看起来正常,但 profiler 显示热点循环把 70% 的周期花在了两个 AtomicU64::fetch add 调用上 —— 这两个调用按理每次只应消耗一...

打开 →
课程行情数据的消息与流式处理 · 量化开发的软件工程

低延迟消息:ZeroMQ、多播与共享内存

上海一家 私募 的电子交易主管把一名资深工程师拉到一边:「期权做市新策略要求 沪深300 ETF 的 top of book 在策略线程内到达延迟不超过 50 微秒。我们现在跑 Kafka 是 3 毫秒——差了三个数量级。怎么办?」诚实的答案是「先量,再按 rung 一级一级往下挪」。L2 把你留在 Kafka 这一级—— acks='all' 端到端毫秒级...

打开 →
课程Rust 并发 · Rust 系统编程

原子操作、内存序与无锁基础

国内某头部私募的低延迟交易团队把 510300.SH (沪深300 ETF) 的行情接入和 50ETF 策略引擎之间的那一跳从 crossbeam::channel 换成手写 SPSC 环形缓冲后, P99.9 的延迟从 25 μs 掉到 6 μs——单跳省了 20 μs, 是策略整体延迟预算 ( 50 μs) 的 40%。这就是这一节课的全部出发点: Mu...

打开 →
课程并发与网络 · C++ 与低延迟

原子操作与 C++ 内存模型

国内某头部 quant 在 CFFEX 数据中心做股指期货 colo 部署的基础架构 lead,正在 review 一名 junior engineer 的一行 patch。这行改动把策略事件计数器上的 std::mutex 删了——这个计数器是 dashboard 每秒读一次的指标。Engineer 的理由:「计数只增不减,热点路径上也从不读它。」PR 描...

打开 →
课程并发与性能 · 高级 Python

性能剖析与内存分析

周二上午十点的滚动均值 某私募研究台周二上午十点。你刚把 3.2.2 收尾那条 8 步管道交给量化团队,篮子是沪深300 ETF(510300.SH)和三只 A 股票面 ,日收益矩阵 (252, 4) 。PM 把它拉到全市场场景版本——篮子扩到 100 只票、回溯 100 个交易日——结果纯 Python 嵌套循环算出来的 20 日滚动均值跑了 11 秒,下...

打开 →
课程C++ 基础 · C++ 与低延迟

指针、引用、数组与动态内存

某国内头部私募(类似幻方量化)的初级 quant 第一次用 C++ 写了一个五日滚动 VWAP 函数。它加载 510300.SH 收盘价、用 new double[5] 申一段 buffer、算滚动均值、返回结果。单元测试过。集成测试过。两周后,同一个函数被一段每秒跑一万次的热路径调用,交易进程在一天之内常驻内存悄悄涨到 80 GB,直到内核 OOM kil...

打开 →
课程内存与性能 · C++ 与低延迟

自定义分配器与竞技场

周五下午两点,你在国内一家头部私募的做市桌写 C++。早盘上线了一版新写的 on tick 处理流程,沪深300成分股的 tick 流压进策略;你顺手 perf record 采了五秒看火焰图。策略逻辑本身只占 60% 周期,另外 40% 不在你写的任何函数里——而是稳稳落在 int malloc 、 int free 、 malloc consolidat...

打开 →
课程并发与性能 · 高级 Python

asyncio 与 I/O 密集型并发

Hook 周二下午三点,一家上海私募的量化研究员要在 T+1 风控窗口前把沪深300 成分股当日的分钟线快照拉下来,作为隔夜组合 VaR 的输入。上节课用 ThreadPoolExecutor 把 100 个同步 requests.get 压到了 1.8 秒;现在策略组想把每天的拉取面扩到 1500 只 A 股、外加 200 只港股通(Stock Conne...

打开 →
课程内存与性能 · C++ 与低延迟

分支预测、restrict 与 SIMD

周三上午,你在国内某头部私募的衍生品自营桌做期权 Greeks 重估。沪深300 ETF(510300.SH)期权链上挂着 480 张合约,每张合约要算一次 Delta、Gamma、Vega、Theta,每个 Greek 都是一次 100 万路径的 Monte Carlo——480 × 4 × 1M = 19.2 亿条路径。上一课你已经用 monotonic...

打开 →
课程内存与性能 · C++ 与低延迟

对齐、SoA 与数据布局

周一上午十点,你在国内某头部私募的成交分析(execution analytics)桌,昨夜成交回报落了一份 1M 条沪深300成分股的明细。组长要的不复杂:这一篮子今日的 VWAP(volume weighted average price)是多少?你 30 行 C++17 写完,跑一遍 4.3 ms。下午组长又问:能不能把它压到 1 ms 以内——他想在...

打开 →
课程并发与网络 · C++ 与低延迟

无锁 SPSC 队列与线程绑核

国内一家私募在 CFFEX 数据中心 colo 部署的资深系统工程师,正在用回放数据 profile 那条新搭起来的 IF/IH 股指期货做市路径。热点循环是这样的:接收线程从组播 UDP 包中 mmap 解出报文,先解析 CTP 行情字段,把一个 TickEvent 推到由 std::mutex 保护的 std::queue 上;策略线程 pop、更新本地...

打开 →
课程并发与性能 · 高级 Python

用 numba、Cython 与 cffi 加速热点循环

Hook 周三晚上九点,深圳一家私募的波动率小组要在 T+1 风控窗口前更新沪深300 ETF(510300.SH)覆盖期权组合的隔夜 VaR 输入。研究员把上节课的 ProcessPoolExecutor 推到了 32 颗核,但每个标的 5,000 个交易日的 GARCH(1,1) 方差递推单跑仍要 0.8 秒——把 800 只 A 股一起标定就是 10 ...

打开 →
课程内存与性能 · C++ 与低延迟

缓存、栈、堆与性能剖析

你在一家国内头部私募 quant 桌上,周末把一段单线程的沪深300成分股信号聚合器用 C++17 重写。重写"显然更快"——更少的分配、更紧的循环、通篇现代 C++17。周一集成测试都过,墙钟时间却慢了百分之四十。PM 问你为什么。你盯着 diff 看不出名堂,因为你写代码时感到的"更快",住在 C++ 标准之下的一层里:住在缓存层级里、住在一次栈指针挪动...

打开 →
课程合成数据与 API · Python 数据与量化分析

HTTP API 与具备韧性的数据抓取

某私募的固定收益研究员要把过去三个月的 10 年期中国国债收益率拉成时间序列,放进久期模型的样本。AKShare 的公开接口 ak.bond china yield 不要 token、本地能跑、数据按日更新——但研究 notebook 一旦在用户面前演示时撞上 429,整场会议就要等十分钟手动 retry。本课把 AKShare 调用包成一个 fetch y...

打开 →
课程设计模式与工具 · 高级 Python

Python 风格的设计模式

开场 某私募周四下午,团队为沪深300 ETF 期权准备了四个定价器口味——Black Scholes 看涨、Black Scholes 看跌、二叉树、蒙特卡洛。研究主管开了一次代码评审,发现生产代码里有一个 StrategyFactoryAbstract 抽象类、两个 AbstractPricerBuilder 子类、Confluence 上一张 60 行...

打开 →
课程C++ 基础 · C++ 与低延迟

头文件、构建系统与单元测试

国内某头部私募(类似鸣熙资产)C++ 团队的第二个 sprint,组长把一个迷你定价库交给你独立负责。上一任留给你一份 600 行的 main.cpp ,能编、能跑、打印三个数,零测试。下个 sprint 的任务清单里包括加上一个 put call parity 的健全性检查、把库挂到一个策略二进制里、并通过一次把「单文件 C++ 工程」列为 P2 反模式的...

打开 →
课程构建、部署与容器化 · 量化开发的软件工程

容器编排:Compose 与 Kubernetes

上海一家 私募 的 quant 把 L2 产出的 feed handler:1.0.0 镜像推到 内部 registry,问 平台 组 怎么 把 它 部署 到 测试 集群。负责 工程师 直接 反 问:「你 的 docker compose.yml 本地 长 什么 样?你 的 manifests/ 在 测试 集群 长 什么 样?」quant 两份 都 没有,手...

打开 →
课程模板与现代 C++ · C++ 与低延迟

现代 STL 与词汇类型

国内某私募 CSI 300 ETF 期权桌的风险分析师在翻夜间对账日志:四十笔 510300 期权报价的隐含波动率(IV)显示为整齐的 1.0 。这不是市场信号,而是上一代 IV 求解器在「未收敛」时使用的 sentinel value。当下游的偏斜模型把 1.0 一起平均进去,报告的偏斜被肉眼可见地拖偏,早会因此浪费了三十分钟去追一个根本不存在的数字。修复...

打开 →
课程C++ 交易系统 · C++ 与低延迟

策略框架与订单路由器

某私募在 CFFEX 张江 COLO 机房的交易负责人 09:45 巡视交易室,向策略组长问一个问题:"如果我们做沪深300 ETF 510300.SH 的 mean reversion on mid 机器人因为 mid 算错而开始按 0.01 元发买单,它怎么在监管层来电话之前自己停下?"答案不在策略本身,而在策略外面的框架。每张订单到达 FIX 会话之前...

打开 →
课程并发与网络 · C++ 与低延迟

线程、互斥锁与条件变量

国内一家头部私募的 CSI 300 ETF 期权桌的 C++ 工程师,正在把一个新的 510300.SH 期权策略接进生产引擎。单线程回测跑十一秒;上线引擎要求一个线程从 CFFEX 行情链路喂 tick,第二个线程跑 Greeks 重估,第三个线程把订单分发到 SSE 的报盘网关。第一版在第二个 tick 就死锁了。第二版位置表被搞乱了——两条线程同时读写...

打开 →
课程神经网络 · 机器学习理论

结构化数据的架构:CNN、RNN 与 Transformer

结构化数据的架构:CNN、RNN 与 Transformer Hook:三次翻倍的 OOS R² 某上海私募的小张盯着屏幕,样本外曲线又一次贴着零线晃。他在沪深300 成份股上做日内分钟收益预测,输入是过去 60 根 1 分钟 OHLCV(open / high / low / close / volume)五通道、共 300 维向量,模型是上一课刚训完的深...

打开 →
课程行情数据的消息与流式处理 · 量化开发的软件工程

行情数据的消息传递基础

周二早上,上海一家中等频率股票策略的 私募 量化开发被呼叫:沪深300 ETF 行情入库链路安静了 90 秒,交易室监控屏幕冻在最后一根 K 线上。生产者(producer)——解码 vendor 推送的 normalised 行情的 feed handler——状态正常;消费者(consumer)——把每条 tick 落进数据仓库的 writer——也正常...

打开 →
课程Rust 并发 · Rust 系统编程

通道与消息传递

L1 你给 510300.SH (沪深300 ETF) 的 Monte Carlo 定价器装了 Arc 共享累加器, CPU 是被打满了, 但 perf 一打就能看到 4 个核里有大半时间在 lock mutex 自旋——4 个 worker 抢同一把锁, 串行化在了那里。下一步, 你的负责人把另一个量化老兵叫过来评审, 他扫一眼说: 「这里就不该用锁。每个...

打开 →
课程构建、部署与容器化 · 量化开发的软件工程

量化服务的容器化

上海一家 私募 的风控工程主管把你写的第一份 Containerfile 拿出来评审,还没读到第一行指令就问三个问题:「这镜像里有什么是 root 跑的?」「最终镜像 多大?」「构建是 在 镜像构建时 重新解析依赖,还是 直接 消费 L1 的 wheel?」每个问题都有一个 错答案 平台组 不会 部署——所有进程都跑 root、镜像 800 MB、 RUN ...

打开 →