市场与微观结构数据
market-data · ohlcv · bars · ticks · top-of-book · level-2 · level-3 · limit-order-book
打开 →GLOBAL SEARCH
搜索在服务端完成,题目解析与答案不会进入搜索结果。登录后可搜索自己的收藏题单。
找到 30 个结果
English questionsmarket-data · ohlcv · bars · ticks · top-of-book · level-2 · level-3 · limit-order-book
打开 →某沪上 私募 量化 团队 第三周,基金经理把一份 Jupyter notebook 递给你,结果是:2010 2020 沪深300 + 中证500 全市场上 Sharpe = 2.4 ,问你为何 2022 以来实盘版本只跑出 Sharpe = 0.5 。你审数据,发现三个 bug:历史 成分股 表是按 今天的 沪深300 拉出来的(测试样本里每只标的都是...
打开 →周二上午 11:14,某沪上 私募 量化 团队的研究员刚跑完 沪深300 ETF(510300)上 5 秒级订单流信号的回测:样本内 Sharpe 5.2,样本外 Sharpe 4.8。基金经理盯着权益曲线只问一句:「上规模交易会发生什么?」研究员不知道——回测假设每一笔成交都按中价(mid)拿到、零市场冲击。在 200,000 份的元订单(metaorde...
打开 →周一早盘,某上海私募的量化研究员盯着屏幕:你昨天回测的沪深300日线截面动量因子,年化收益比上周报表显示的低了 280bp。同样的标的池、同样的回看窗口、同样的代码——但 bug 不在信号里,而在数据里。供应商的「复权收盘价」字段在隔夜悄悄又重算了一轮分红复权(back adjustment),你的损益列于是双重计入了复权调整。本课要交给你的,就是看 5 分...
打开 →周三上午 9:47,某沪上 私募 的执行交易员告诉你:你在沪深300 ETF(510300)上挂的那笔 4.130 元、10000 份的买入限价委托已经躺了 10 分钟没成交,明明屏幕上的 BBO 在这十分钟里触碰 4.130 元至少一打次。他想知道为什么。答案在 L1 报价下面那一层——委托簿(order book)本身。4.130 元上排在你前面的是 1...
打开 →某 沪深 300 私募 的 交易员 提单:『上 一 季 在 ticks 表 上 15 秒 出结果 的 1 分钟 VWAP per symbol 查询,今天 跑 了 11 分钟。Postgres 仓库 正在 维持 每秒 9 万 写入 来自 沪深 行情 网关,EXPLAIN 在 一条 仅 触 三日 数据 的 查询 上 报 1.8 亿 缓冲 读取』。L2 的 卫生...
打开 →上海一家 私募 中等频率股票策略团队的量化开发收到任务:两周内从零搭一条 沪深300 ETF 的 ticker plant。手头握住 3.6.3 的仓库(TimescaleDB hypertable, ticks raw(symbol, ts, price, size, side) , (symbol, ts) 主键)、L1 的消息词汇、L2 的 Kafka...
打开 →周一早上九点二十分,你坐到某私募的研究台前,接手前同事留下的一段回测脚本。第一个函数是 def calc pnl(ticks, holdings, fee): —— 参数到底是什么? ticks 是 list 还是 dict? holdings 的字段叫 symbol 还是 code ?你只能把脚本跑一遍、撒几个 print 、再去翻调用方。十分钟过去了,你...
打开 →下午 15:30 CST,某 A 股 量化 私募。沪深 收盘 加 15:00 行情 结算 落定 之后 半 小时,行情 vendor 的 tick 510300 20260523.csv.gz 落 在 共享 挂载 /data/market data/ 上。cron 调起 ingest ticks.sh 。接下来 九十 秒 内,文件 必须 被 加载 到 暂存 表...
打开 →中信建投自营 IT 团队的同事把一份 C 的期权定价库 libquant pricer.so 扔到你桌上。"我们这套是十几年前用 C 写的,封装了 Abramowitz Stegun 7.1.26 标准正态 CDF 近似;你的 Rust 引擎要在中证 510300 期权上调它,先别想着重写。"——这就是 2026 年量化 Rust 开发者面对的现实: 没...
打开 →周一开盘前一刻钟,你在私募的研究服务器上 merge 了一段对 mean price 的「无害重构」——只是把 sum(...) / len(...) 拆成两步,方便在中间加日志。脚本照常跑完,回测照常出图。下午两点你才发现 PnL 报表上 XYZ001.SH 的当日均价对不上:你在重构时把 sum 与 len 的参数搞反了,函数对所有非空输入都返回 1 。...
打开 →凌晨四点四十五,上海集合竞价开盘前两小时,你坐在 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 调用上 —— 这两个调用按理每次只应消耗一...
打开 →三条独立行情源以泊松过程发送跳价,速率分别为每秒 $5$、$8$、$2$ 次。在所有行情源中,下一次跳价来自速率为 $8$ 的那条的概率是多少?
打开 →交易所 A 的报价 与 交易所 B 的报价 分别服从独立泊松过程,到达率为每小时 $\lambda_A=9$、$\lambda_B=3$。合并后下一次到达来自 A 流的概率是多少?
打开 →某期货做市商在一笔成交中每张合约抓到 0.75 个跳的边际。每个跳每张合约价值 12.50 美元,本次成交为 8 张合约。这笔成交的美元边际是多少?
打开 →10:32:14,深圳。一家私募基金的策略交易员看着 300ETF(510300.SH)的盘口:最优买 4.218 / 最优卖 4.219,盘口报价价差正好 1 个最小变动单位(¥0.01)。她敲下一笔 5,000 股的市价买单。回报到达:成交价 4.2185,比她预期的 4.219 还便宜了半个 tick——是一家 ETF 主做市商在中间价格上吃了她的单子...
打开 →某家私募的因子研究员要演示一个多因子打分模型,需要 200 家"虚拟公司"的横截面:每家要有行业、市值、贝塔、价值/动量/质量三个因子分,且这些字段之间的相关结构得接近真实 A 股名单。另一边,执行成本组要演示成本拆解,需要一段带买卖价差与成交大小的合成 tick 流。两段需求都不能动行情数据牌照——上一课只能产价格路径,这一课要把它扩成横截面与微观结构。本...
打开 →上海一家 私募 的 quant 把 L2 产出的 feed handler:1.0.0 镜像推到 内部 registry,问 平台 组 怎么 把 它 部署 到 测试 集群。负责 工程师 直接 反 问:「你 的 docker compose.yml 本地 长 什么 样?你 的 manifests/ 在 测试 集群 长 什么 样?」quant 两份 都 没有,手...
打开 →周日晚上 11 点的消息 某私募的中后台周日晚上甩来一条消息:风控组明早要用你写的 summarise.py 跑一份沪深300成分股的 tick 滚动 VWAP,他们那台服务器装的是干净的 Python 3.11、没装你电脑上的任何包。你抓起脚本一看,它现在还是 notebook 里那个用 print 打日志、入口写在最后一格、依赖装在 /anaconda3...
打开 →周三晚上 11 点,你在某 私募 量化组里维护着一个内部小包 xyzprice :封装 涨跌停 价计算、复权因子拼接、T+1 持仓核算这三件每周都要做的事。组里另外两位 PM 想直接 pip install xyzprice 就能用,而不是每次复制粘贴你脚本里那几个函数。 pyproject.toml 已经写好,pytest 测试全绿——下一步只剩四件事:构...
打开 →上海一家 私募 的 风控 主管 批准 了 你 的 L3 manifest,但 在 部署 步 上 停 住:「开发者 把 一行 修复 合 入 main,这 时 镜像 从 哪 来?谁 打 tag?谁 扫描?谁 推 到 Aliyun ACR?谁 对 feed dev 跑 kubectl apply ?明天 生产 上 在 1.0.1 里 发现 bug,谁 把 它 翻 ...
打开 →某 沪深 300 私募 的 风控 在 飞书 上 找你:『我 昨晚 在 笔记本 样本 上 跑 30 毫秒 出结果 的 按 标的 回撤 查询,今天 打到 生产 上 跑 了 12 分钟。同样 的 SQL,同样 的 方言,同样 的 bars 1m 表——到底 什么 变了?』SQL 没变。变 的 是 行数:笔记本 5 万 行,生产 14 亿 行。『样本 上 快、生产 ...
打开 →国内一家头部私募的 CSI 300 ETF 期权桌的 C++ 工程师,正在把一个新的 510300.SH 期权策略接进生产引擎。单线程回测跑十一秒;上线引擎要求一个线程从 CFFEX 行情链路喂 tick,第二个线程跑 Greeks 重估,第三个线程把订单分发到 SSE 的报盘网关。第一版在第二个 tick 就死锁了。第二版位置表被搞乱了——两条线程同时读写...
打开 →某 CFFEX 张江 COLO 机房里,一位延迟工程师在 SSE Level 2 行情上跑 tcpdump ,问你:一个 09:30:00.000001234 时刻穿过交换机的报文,为什么 09:30:00.000004718 才到达策略线程?这 3.5 µs 就是 L1 委托簿能消费的预算上限——而其中大部分都付给了线路到委托簿之间这一层:行情处理器。本课...
打开 →周二早上,上海一家中等频率股票策略的 私募 量化开发被呼叫:沪深300 ETF 行情入库链路安静了 90 秒,交易室监控屏幕冻在最后一根 K 线上。生产者(producer)——解码 vendor 推送的 normalised 行情的 feed handler——状态正常;消费者(consumer)——把每条 tick 落进数据仓库的 writer——也正常...
打开 →周一早盘前,风控同事把 SSE 全年的 tick CSV 丢到你账户里——压缩前 18GB。需求是按 code 汇总全年的全市场成交额(turnover),9:00 开盘前发邮件。上次月报你写得很直接: rows = open(path).read().splitlines() ,然后 Counter 累加,本机内存被它撑得换页换到 swap 区。同一段汇总...
打开 →某 HFT 私募的低延迟负责人在周五下午走进工程间,对写出 L1 / L2 / L3 这套交易二进制的团队问一个问题:"开发机上跑得对。现在要把它放到 CFFEX 张江 COLO 撮合引擎旁边的机柜里,并对交易桌承诺端到端 P99.9 在 3 µs 以下,还要做哪些事?"这段从「能编译」到「桌子敢用」的差距,就是部署故事。四层一起出力:编译标志(PGO + ...
打开 →上海一家 私募 的数据工程主管在晨会上只放了一张幻灯片:沪深300 ETF 的 ticker plant 已经连续运行 19 个月没有漏一条 tick。那张图背后只有一件基础设施:三节点 Kafka 集群、按 symbol 做 partition key、replication factor 3、 min.insync.replicas=2 ,再加一个「处理...
打开 →