Rust 互操作与生产化
rust · rust2021 · unsafe · raw-pointer · unsafe-cell · maybe-uninit · pin · self-referential
打开 →GLOBAL SEARCH
搜索在服务端完成,题目解析与答案不会进入搜索结果。登录后可搜索自己的收藏题单。
找到 30 个结果
English questionsrust · rust2021 · unsafe · raw-pointer · unsafe-cell · maybe-uninit · pin · self-referential
打开 →凌晨四点四十五,上海集合竞价开盘前两小时,你坐在 CFFEX 张江 COLO 机房旁的运维室。你是国内一家头部私募 Rust 团队的负责人,沪深300 ETF (510300.SH) 做市策略;L1、L2、L3 三课合并的成果是一个名为 trading engine 的可跑二进制,策略组的研究员要昨晚通宵回归的直方图报告。终端上滚出来的一行: tick to...
打开 →凌晨四点零一,你坐在 CFFEX 张江 COLO 机房楼上的值班室。你是国内一家头部私募的 Rust 工程师,负责沪深300 ETF (510300.SH) 的行情接入;早盘脚本 03:58 跑完,集合竞价 9:15 开始;此刻你的 tokio::net::UdpSocket 订阅器跑合成行情回归时报了一个序列号缺口 —— 序号 142,367,189 与 ...
打开 →周二上午,你坐在 CFFEX 张江 COLO 机房旁边的运维台前。你是一家头部私募 Rust 团队的开发,负责沪深300 ETF (510300.SH) 的做市策略,代码已经过编译、单元测试通过、回测看起来正常,但 profiler 显示热点循环把 70% 的周期花在了两个 AtomicU64::fetch add 调用上 —— 这两个调用按理每次只应消耗一...
打开 →rust · rust2021 · low-latency · cache · cache-line · false-sharing · cache-padded · aos
打开 →rust · rust2021 · toolchain · rustup · cargo · rustc · debug-build · release-build
打开 →rust · rust2021 · concurrency · threads · std-thread · send · sync · marker-traits
打开 →周四下午,你在 SZSE 福田 COLO 机房的运维终端前盯着沪深300 ETF 行情接入面板。3.5.2 L3 你亲手写了一个 SPSC 环,目的是让你之后读生产无锁代码时心里有底;但到了生产代码,你 99% 的场合会直接去用 crossbeam queue 。今早的事故复盘把原因摆得明明白白:兄弟基金的策略组自己搓了一个 MPMC 队列,在高竞争下漏掉了...
打开 →上海陆家嘴某头部私募的中频组用了七年的 C++ 报单 / 回测框架, 这一周决定把对接券商 CTP 柜台的协议适配层用 Rust 重写。组里资深工程师拿到任务的第一天敲了四条命令:装工具链、新建项目、构建、运行。九十秒后磁盘上多了一个二进制文件并打印了一行字。同样的循环在 C++ Fundamentals (3.4.1) 里要写 CMakeLists.txt...
打开 →字节火山引擎的某 TiKV 同事在你刚加入沪深300量化团队的第二周走过来。他抱着一台戴尔笔记本,屏幕上是 3.5.2 L3 你亲手写的那个 SPSC 环形缓冲——给 510300.SH (沪深300 ETF) 行情事件用的,生产者一个核心、消费者一个核心,中间两个 AtomicUsize 当下标。"我们要把这段代码搬进 CFFEX 张江 COLO 的 pr...
打开 →3.5.3 L4 你交付了一个测得过 tick to trade 延迟的撮合引擎,内部跑 SPSC 环、SIMD、 core affinity CPU 绑核, hdrhistogram 报分位。现在中信建投自营 IT 跟你坐下来,屏幕上是上线检查清单: "它会和我们的会话网关讲 FIX 4.4 吗?TCP 断了能续上吗?对接的同事问你要 NewOrder...
打开 →国内某 SSE 接入团队接到任务: 把老 C++ + Boost.Asio 写的行情接入网关重构成 Rust, 单台机器要同时维持 8000 条 TCP 长连接, 把 510300.SH (沪深300 ETF) 等几百只标的的 tick 流落到内部撮合面板。架构师扫一眼说: 上 tokio——别想着每条连接派一个 OS 线程, 8000 个 OS 线程在调度...
打开 →中信建投自营 IT 团队的同事把一份 C 的期权定价库 libquant pricer.so 扔到你桌上。"我们这套是十几年前用 C 写的,封装了 Abramowitz Stegun 7.1.26 标准正态 CDF 近似;你的 Rust 引擎要在中证 510300 期权上调它,先别想着重写。"——这就是 2026 年量化 Rust 开发者面对的现实: 没...
打开 →国内某头部券商自营 IT 把 C++ 中频交易框架的 FIX to 内部协议适配层切到 Rust 上来; 第一周接手的资深工程师周三被 error[E0382]: borrow of moved value 卡了三次, 周四被 error[E0499]: cannot borrow as mutable more than once 卡了两次, 周五看到一行...
打开 →国内某私募中频组的应届工程师周一打开她的小组用 Rust 写了半年的报单 / 定价框架, 第一个点进去的是 50 行的 510300.SH 沪深300 ETF 期权定价器, 里面用 Black Scholes 闭式公式给一张近月 call 估价。每个绑定都打上她在 C++ 课里见过的整型或浮点类型, 每个函数都用「最后一个表达式不带分号」的方式隐式返回, 没...
打开 →国内某私募中频组的风控同事接手一段用 Rust 写的报单解析器: 从某证券公司的 CSV 报价流读 510300.SH 沪深300 ETF 期权报单, 把每一行变成一个强类型的 Order 值。核心函数只有六行, 用三个 ? 把 parse:: 、 parse:: 、 .ok or(...) 串成一条链。当某一行非法——symbol 为空、价格为负、数量为零...
打开 →某私募的研究员把一个 Jupyter notebook 推过来:他们在沪深300成份股上扫了 500 万个 (S, K, σ, t) 参数组合,目标是给隐含波动率曲面拟合做敏感度分析。纯 Python + scipy.stats.norm.cdf 跑了 47 分钟,他要的是把这一步压到 5 分钟以内,但策略迭代仍然由他在 notebook 里驱动——研究员不...
打开 →国内某头部私募的低延迟交易团队把 510300.SH (沪深300 ETF) 的行情接入和 50ETF 策略引擎之间的那一跳从 crossbeam::channel 换成手写 SPSC 环形缓冲后, P99.9 的延迟从 25 μs 掉到 6 μs——单跳省了 20 μs, 是策略整体延迟预算 ( 50 μs) 的 40%。这就是这一节课的全部出发点: Mu...
打开 →国内某私募中频组新加入的应届工程师周一第一天克隆了项目仓库。仓库的 Cargo.toml 声明一个 library crate 加一个 binary crate; src/lib.rs 暴露一个 pricing 模块; src/pricing.rs 装着 Lesson 2 写过的 510300.SH 沪深300 ETF 期权闭式 Black Scholes ...
打开 →国内某头部私募的中频策略团队把 3.5.1 写的那版单线程 Monte Carlo 定价器搬上生产: 给 510300.SH (沪深300 ETF) 的欧式看涨期权报实时理论价。CPU 占用率长期挂在 8%——一台 16 核机器只有一个核在干活。负责人甩给你的任务很直接: 把 n paths 平均分到 N 个线程上, 共享一个 f64 累加器, 拿到一样的价...
打开 →L1 你给 510300.SH (沪深300 ETF) 的 Monte Carlo 定价器装了 Arc 共享累加器, CPU 是被打满了, 但 perf 一打就能看到 4 个核里有大半时间在 lock mutex 自旋——4 个 worker 抢同一把锁, 串行化在了那里。下一步, 你的负责人把另一个量化老兵叫过来评审, 他扫一眼说: 「这里就不该用锁。每个...
打开 →为什么当一个依赖设定同时暗示“异常温和的平静状态”和“荒谬灾难的压力状态”时,建模者应该警惕?
打开 →为什么即使完美拟合了今天的曲线,也还不足以让人信任 HJM 去做复杂利率期权?
打开 →为什么当多个特征高度相关且预测力相近时,纯 lasso 往往会表现得很不稳定?
打开 →在每日风险会上,CRO 发现三个交易台各自的历史 VaR 相加为 4200 万,但加入一个新的基差簿之后,组合历史 VaR 只有 3100 万。最可能的解释是什么?在相信这种分散化效果之前,你应该先做哪一个具体的系统检查?
打开 →为什么一个背后有可信经济机制的策略,会比一个统计表现类似但没有连贯故事的策略更值得信任?
打开 →周三下午两点。一家 A 股 私募 的资深同事打开你的 MR,标题是 feat(risk): 添加 沪深300 因子 z 列至业绩归因 。改了 12 个文件。二十秒之内审查线上铺满了「文件末尾多一个空行」「这个 import 没用到」「第 47 行行尾有空白」「import 没排序」之类的评论。你能感到审查时间正在漏走——这些评论没一条是关于你因子逻辑对不对的...
打开 →在相信优化器给出的精确权重之前,第一步应该先检查什么?
打开 →上海一家 私募 的电子交易主管把一名资深工程师拉到一边:「期权做市新策略要求 沪深300 ETF 的 top of book 在策略线程内到达延迟不超过 50 微秒。我们现在跑 Kafka 是 3 毫秒——差了三个数量级。怎么办?」诚实的答案是「先量,再按 rung 一级一级往下挪」。L2 把你留在 Kafka 这一级—— acks='all' 端到端毫秒级...
打开 →重训后 AUC 略有提升。在宣布新模型“实际更好”之前,第一步应该问什么?
打开 →