面向量化开发的 Linux 与 Shell
linux · shell · bash · filesystem · permissions · chmod · environment · path
打开 →GLOBAL SEARCH
搜索在服务端完成,题目解析与答案不会进入搜索结果。登录后可搜索自己的收藏题单。
找到 30 个结果
中文题目linux · shell · bash · filesystem · permissions · chmod · environment · path
打开 →A 股 一家 私募 的 quant,下午 三点半 收盘 之后 收到 数据团队 的 一条 消息:「今天 沪深300 ETF 的 tick 文件 落到 /data/market data/cn/equity/tick/20250424/ 了,你 看看 行数 对不对、品种 有没有 缺、总成交额 大概 多少。」她 不打算 写一个 Python 脚本——这种 「看一眼...
打开 →晚上 十点,你 启动 了 一个 沪深300 ETF(510300)的 5 分钟 均值回归 策略 回测,参数 扫了 三十 组,估计 要 跑 一整夜 加 半天。你 把 笔记本 一合 准备 回家,然后 突然 想起 一件 事: ssh 连接 一断,那个 Python 进程 就 死了。第二天 一早 你 还得 看 进度、还要 在 跑到 一半 时 杀掉 它 重启。这一课 ...
打开 →周一上午九点,一家做 A 股 量化的 私募 把研究机的账号交到你手上。你 ssh 上去,屏幕上只有一行 quant@research cn: 公式DIR 而 DIR 是空的——这一行会展开成 rm rf / ,把根目录递归扫掉。对策是养成两步习惯:先 ls lah 确认你正要删的就是你想删的,再敲 rm rf 。 权限: chmod 、 chown 、 um...
打开 →A 股 一家 私募 的 数据 团队 每天 下午 15:00 收盘 后,要 把 沪深300 ETF(510300)的 tick 文件 从 staging 服务器 同步 到 本地 研究机,解压、做 一次 行数 校验、调 一个 Python loader 写 进 数据库;如果 任何 一步 失败,调度器 必须 拿到 非 0 退出 码,方便 把 这一晚 标 红。这套 ...
打开 →某私募的研究员把一个 Jupyter notebook 推过来:他们在沪深300成份股上扫了 500 万个 (S, K, σ, t) 参数组合,目标是给隐含波动率曲面拟合做敏感度分析。纯 Python + scipy.stats.norm.cdf 跑了 47 分钟,他要的是把这一步压到 5 分钟以内,但策略迭代仍然由他在 notebook 里驱动——研究员不...
打开 →你在一家国内头部私募 quant 桌的第一天上午,负责低延迟策略代码的 senior 把一把 USB key 拍在你桌上,指着旁边那台跑 Ubuntu 的 Linux 工作站说:"中午之前把一个 Black Scholes 定价器编出来跑通。你用什么编辑器我不管,但 build 必须能从干净的仓库一键复现。"过去三个 Python 子学科没有为你接下来这九十...
打开 →中信建投自营 IT 团队的同事把一份 C 的期权定价库 libquant pricer.so 扔到你桌上。"我们这套是十几年前用 C 写的,封装了 Abramowitz Stegun 7.1.26 标准正态 CDF 近似;你的 Rust 引擎要在中证 510300 期权上调它,先别想着重写。"——这就是 2026 年量化 Rust 开发者面对的现实: 没...
打开 →Hook 周一下午四点收盘后,私募研究服务器上挂着两份待跑的任务:先把 100 只沪深300 成分股最近 30 个交易日的日线从米筐风格接口同步下来,再用 100 万条蒙特卡洛路径给一张 510300.SH 看涨期权定价。一颗八核 CPU 跑了二十多分钟,T+1 风控报表迟迟出不来。问题不在算法,在于代码全程单线程。这两份任务该交给的并发原语其实不同:线程池...
打开 →某私募的固定收益研究员要把过去三个月的 10 年期中国国债收益率拉成时间序列,放进久期模型的样本。AKShare 的公开接口 ak.bond china yield 不要 token、本地能跑、数据按日更新——但研究 notebook 一旦在用户面前演示时撞上 429,整场会议就要等十分钟手动 retry。本课把 AKShare 调用包成一个 fetch y...
打开 →凌晨四点四十五,上海集合竞价开盘前两小时,你坐在 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 调用上 —— 这两个调用按理每次只应消耗一...
打开 →国内一家头部 quant 在 CFFEX 张家湾数据中心 colo 部署的低延迟工程负责人,正在 review 自家 IF 股指做市路径的 tick to trade 延迟报告。中位数 4.8 μs;MarketMakerTier1 桌内预算是 5 μs,正好达标。P99.9 是 47 μs,超过了 OperationalRiskCommittee 公开的 ...
打开 →国内某头部私募(类似鸣熙资产)C++ 团队的第二个 sprint,组长把一个迷你定价库交给你独立负责。上一任留给你一份 600 行的 main.cpp ,能编、能跑、打印三个数,零测试。下个 sprint 的任务清单里包括加上一个 put call parity 的健全性检查、把库挂到一个策略二进制里、并通过一次把「单文件 C++ 工程」列为 P2 反模式的...
打开 →国内某头部 quant 的 510300.SH 做市组新入职 C++ 工程师,被安排与一位资深做一周入职配对。第一天:读 200 行 FIX 会话层代码。第二天:读 300 行 ITCH 5.0 解析器。第三天:把一笔 NEWORDERSINGLE 从策略层往下追,穿过桌内会话处理器、跨 TCP 套接字送到跨境清算柜台,再以 EXECUTIONREPORT ...
打开 →上海陆家嘴某头部私募的中频组用了七年的 C++ 报单 / 回测框架, 这一周决定把对接券商 CTP 柜台的协议适配层用 Rust 重写。组里资深工程师拿到任务的第一天敲了四条命令:装工具链、新建项目、构建、运行。九十秒后磁盘上多了一个二进制文件并打印了一行字。同样的循环在 C++ Fundamentals (3.4.1) 里要写 CMakeLists.txt...
打开 →周二上午十点的滚动均值 某私募研究台周二上午十点。你刚把 3.2.2 收尾那条 8 步管道交给量化团队,篮子是沪深300 ETF(510300.SH)和三只 A 股票面 ,日收益矩阵 (252, 4) 。PM 把它拉到全市场场景版本——篮子扩到 100 只票、回溯 100 个交易日——结果纯 Python 嵌套循环算出来的 20 日滚动均值跑了 11 秒,下...
打开 →某国内头部私募(类似幻方量化)的初级 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、更新本地...
打开 →上海一家 私募 的 风控 主管 批准 了 你 的 L3 manifest,但 在 部署 步 上 停 住:「开发者 把 一行 修复 合 入 main,这 时 镜像 从 哪 来?谁 打 tag?谁 扫描?谁 推 到 Aliyun ACR?谁 对 feed dev 跑 kubectl apply ?明天 生产 上 在 1.0.1 里 发现 bug,谁 把 它 翻 ...
打开 →3.5.3 L4 你交付了一个测得过 tick to trade 延迟的撮合引擎,内部跑 SPSC 环、SIMD、 core affinity CPU 绑核, hdrhistogram 报分位。现在中信建投自营 IT 跟你坐下来,屏幕上是上线检查清单: "它会和我们的会话网关讲 FIX 4.4 吗?TCP 断了能续上吗?对接的同事问你要 NewOrder...
打开 →国内某头部私募(类似九坤投资)的风控分析师接手了一份 C++ 工具,功能是吃下一个 510300.SH 成交 CSV、把它聚合成五分钟 bar 序列。工具在 happy path 上工作。第一次某行格式异常的 CSV 把 parse double 送进了 throw std::runtime error("bad price") ,进程就漏掉了那个已经打开的...
打开 →国内某头部私募 quant 桌的初级开发者隔夜上线了一段 P&L 归因脚本。第二天清晨的 trade cap 报表显示一笔头寸的名义金额是 21,474,836.48 元。那笔头寸是 510300.SH(沪深 300 ETF)的 4,500,000 股多头。bug 花了六个小时才定位:把累计股数加总的辅助函数被声明成了 int total shares; ,...
打开 →国内私募量化的早盘 09:18,CFFEX IF 主力合约 tick 经过 feed handler 落入 TimescaleDB,过去三周一切正常。今早值班手机突然弹一条飞书电话呼叫:『KafkaConsumerLagHigh:feedhandler warehouse lag 10000,持续 5m,runbook 见 https://runbooks....
打开 →国内某头部私募的中频策略团队把 3.5.1 写的那版单线程 Monte Carlo 定价器搬上生产: 给 510300.SH (沪深300 ETF) 的欧式看涨期权报实时理论价。CPU 占用率长期挂在 8%——一台 16 核机器只有一个核在干活。负责人甩给你的任务很直接: 把 n paths 平均分到 N 个线程上, 共享一个 f64 累加器, 拿到一样的价...
打开 →国内一家头部私募的 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 + ...
打开 →