条件期望与多元正态分布
某股票多空策略私募的信号研究员每天跑一条回归:下周收益对动量因子的回归。他把拟合直线写为 r hat = a + b signal 。在抽样之前,这条直线是什么?它就是 (收益, 信号) 的联合分布下的 总体条件期望 (population conditional expectation)公式 ——而在沪深300 因子收益满足联合正态(joint n...
打开 →GLOBAL SEARCH
搜索在服务端完成,题目解析与答案不会进入搜索结果。登录后可搜索自己的收藏题单。
找到 30 个结果
English questions某股票多空策略私募的信号研究员每天跑一条回归:下周收益对动量因子的回归。他把拟合直线写为 r hat = a + b signal 。在抽样之前,这条直线是什么?它就是 (收益, 信号) 的联合分布下的 总体条件期望 (population conditional expectation)公式 ——而在沪深300 因子收益满足联合正态(joint n...
打开 →某私募的风险分析师每天早盘从终端上抓两个数:沪深300 ETF 的日收益与 10 年国债收益率的日变动。她真正关心的不是任何一个单变量,而是两者的 联合 画像:沪深300 跌超 1% 同时 10 年期收益率跳升 5bp 的概率。这类问题任何单变量密度都回答不了——它本质上是一个联合分布(joint distribution)问题。这一节把你在 2...
打开 →国内某 SSE 接入团队接到任务: 把老 C++ + Boost.Asio 写的行情接入网关重构成 Rust, 单台机器要同时维持 8000 条 TCP 长连接, 把 510300.SH (沪深300 ETF) 等几百只标的的 tick 流落到内部撮合面板。架构师扫一眼说: 上 tokio——别想着每条连接派一个 OS 线程, 8000 个 OS 线程在调度...
打开 →某 沪深 300 私募 的 交易员 提单:『上 一 季 在 ticks 表 上 15 秒 出结果 的 1 分钟 VWAP per symbol 查询,今天 跑 了 11 分钟。Postgres 仓库 正在 维持 每秒 9 万 写入 来自 沪深 行情 网关,EXPLAIN 在 一条 仅 触 三日 数据 的 查询 上 报 1.8 亿 缓冲 读取』。L2 的 卫生...
打开 →某 沪深 300 私募 的 风控 在 飞书 上 找你:『我 昨晚 在 笔记本 样本 上 跑 30 毫秒 出结果 的 按 标的 回撤 查询,今天 打到 生产 上 跑 了 12 分钟。同样 的 SQL,同样 的 方言,同样 的 bars 1m 表——到底 什么 变了?』SQL 没变。变 的 是 行数:笔记本 5 万 行,生产 14 亿 行。『样本 上 快、生产 ...
打开 →某个周二早晨,沪深 300 量化私募的基金经理走过来:『把过去两周 510050 、 510500 、 510300 的日 VWAP 拉给我,按当日收益做横截面排名,只要 close 非空的行』。数据存在研究数据仓库里——一台部署在内网的 Postgres / PolarDB O 上, bars 1m 1 分钟 K 线表和 instrument 维度表通过外...
打开 →某多策略基金的风控官想要一个数:在已经持有一个长久期债券账户的组合里,再叠加一个沪深300 多头股票账户,会增加多少方差?答案不是"沪深300 方差加债券方差",而是"沪深300 方差加债券方差再加两倍协方差"——而这个协方差,正是上证日盘与 CFFEX 国债期货市场每天联动着送上来的统计量。要拿到这一个数,把整个联合分布全写出来是大材小用;风控官真正做的是...
打开 →某宏观对冲基金的量化研究员盯着一张散点图:横轴是沪深300 ETF 的日收益率,纵轴是 50ETF 隐含波动率指数的日变动。两个边缘分布他已经会读了——沪深300 日收益大致呈钟形,IV 指数日变动则厚尾且偏负。他真正想问的却是 条件 问题: 当 沪深300 刚刚打出 2% 的盘面 之后 ,IV 指数变动的分布长什么样?这个对象既不是...
打开 →下午 15:30 CST,某 A 股 量化 私募。沪深 收盘 加 15:00 行情 结算 落定 之后 半 小时,行情 vendor 的 tick 510300 20260523.csv.gz 落 在 共享 挂载 /data/market data/ 上。cron 调起 ingest ticks.sh 。接下来 九十 秒 内,文件 必须 被 加载 到 暂存 表...
打开 →某私募的研究员把一个 Jupyter notebook 推过来:他们在沪深300成份股上扫了 500 万个 (S, K, σ, t) 参数组合,目标是给隐含波动率曲面拟合做敏感度分析。纯 Python + scipy.stats.norm.cdf 跑了 47 分钟,他要的是把这一步压到 5 分钟以内,但策略迭代仍然由他在 notebook 里驱动——研究员不...
打开 →凌晨四点零一,你坐在 CFFEX 张江 COLO 机房楼上的值班室。你是国内一家头部私募的 Rust 工程师,负责沪深300 ETF (510300.SH) 的行情接入;早盘脚本 03:58 跑完,集合竞价 9:15 开始;此刻你的 tokio::net::UdpSocket 订阅器跑合成行情回归时报了一个序列号缺口 —— 序号 142,367,189 与 ...
打开 →某沪上 私募 量化 团队 第三周,基金经理把一份 Jupyter notebook 递给你,结果是:2010 2020 沪深300 + 中证500 全市场上 Sharpe = 2.4 ,问你为何 2022 以来实盘版本只跑出 Sharpe = 0.5 。你审数据,发现三个 bug:历史 成分股 表是按 今天的 沪深300 拉出来的(测试样本里每只标的都是...
打开 →某 私募 事件驱动组的盘后会议。Q3 季报披露季刚开始,组里负责 沪深300 的研究员准备做一条 PEAD 信号:盈利惊喜后 60 个交易日的漂移。负责数据的同事翻出来一份 Wind 的盈利数据库,里面 actual eps、consensus eps、announcement date 三列齐全;研究员说,把 SUE 算出来,按 announcement ...
打开 →上海一家 私募 的电子交易主管把一名资深工程师拉到一边:「期权做市新策略要求 沪深300 ETF 的 top of book 在策略线程内到达延迟不超过 50 微秒。我们现在跑 Kafka 是 3 毫秒——差了三个数量级。怎么办?」诚实的答案是「先量,再按 rung 一级一级往下挪」。L2 把你留在 Kafka 这一级—— acks='all' 端到端毫秒级...
打开 →某 私募 的研究员对两位同事说:"做一个 五日 动量,行业中性化,跑在 沪深300 的大盘股上。"一周以后,三个人各自实现了完全不同的东西。同事 A 用的是连续 五日 收益率 close t / close 1 ;同事 B 用的是 五日 均线穿越 MA 5 / MA 20 ;同事 C 用的是 五日 对数收益累加 sum(log(close t / close...
打开 →某 私募 量化部周一晨会上,PM 把任务排了下来:"沪深300 上跑一套完整的量价加基本面公式库,12 月底之前要给出每一条的样本内 IC、回看敏感性和换手率。"你点头接下任务,转身坐到屏幕前——上一课刚学过的 DSL 与清洗流水线就是你今天的工具。本课要做的,就是把工业界与学术界十年下来已经沉淀好的规范公式库一条一条搬上来,每条信号要(a)能用 DSL 写...
打开 →周二下午两点,私募研究台。你手里堆着三张表:一张是 20 个交易日 × 3 只票( 600519.SH 、 000001.SZ 、 600036.SH )的长格式日收益,共 60 行 (date, ticker, return) ;一张是申万一级行业查找表( 600519.SH → 食品饮料 、 000001.SZ → 银行 、 600036.SH → 银行...
打开 →国内某头部 quant 在 CFFEX 数据中心做股指期货 colo 部署的基础架构 lead,正在 review 一名 junior engineer 的一行 patch。这行改动把策略事件计数器上的 std::mutex 删了——这个计数器是 dashboard 每秒读一次的指标。Engineer 的理由:「计数只增不减,热点路径上也从不读它。」PR 描...
打开 →开场 某私募周二上午九点三十一,沪深300 ETF(510300.SH)刚收完集合竞价,团队的 tick 处理器跑了九十秒。两个生产者线程在排空一个 Tushare 风格的行情 websocket——一个分片走 SSE(上海)回报,一个分片走 SZSE(深圳)回报——四个消费者线程各跑一个下游策略。九十三秒时,四个策略共写的盈亏累计器显示 1400000 元...
打开 →国内某多空选股私募的资深研究员把一篇顶刊工作论文转给了基金经理:「作者在沪深300成分股范围内构造了一个基于净经营资产应计的因子,样本内夏普 1.8,t 值 2.4。是否纳入生产合成因子?」基金经理翻到方法论页只回了三行字:「三个问题。(1) 论文 t 值 2.4——文献已经发了大概 300 个这种因子,多重检验调整后的门槛是多少?(2) 用了断点宇宙断点和...
打开 →国内某量化私募新来的研究员从离职同事那里接过一份 SMB 构建脚本。她在沪深300成分股之外把范围扩到中证全样本,2010 年之后跑出来,SMB 年化 7.4%,t 值高于 4——惊人,因为 LSY 3 的规模因子在国内学术样本里多年只在 2 3% 附近徘徊,Fama French 美股 SMB 也长期在 2 3%。投委会的资深基金经理脑子里跑了三步诊断:「...
打开 →一家面向沪深300成分股的私募基金新来的研究员,把基本面盈利筛选的多空组合回测呈到投委会:年化 6.4%,夏普 0.9,t 值 2.5。基金经理只说一句:「先把因子控掉再来汇报 alpha。」研究员意识到自己说不清三件事——「因子」指哪几个、为什么是这几个、基金经理隐含的是哪个检验。本节课就是这道问题的答卷。你会从 1964 年的 CAPM,走到 2015 ...
打开 →周一早上 7:40,上海陆家嘴某头部私募的量化股票部。你按 4.3.1 走完了一套候选五因子模型——二维分组的十分位单调、Fama MacBeth 截面回归的斜率在样本内显著为正、按 HLZ 多重检验罚分调整后仍有可观利差。基金经理点了点头看完 IC 图,然后问出每一份研报必须先回答的那个问题:"好——但它真的 赚到钱 了吗?"4.3.1 给你的是因子构造的...
打开 →周一早晨九点,你在一家私募的研究台上收到上游数据团队推过来的 510300 2024.csv ——沪深300 ETF 在 2024 年 1 月的日线行情。你打算直接 df = pd.read csv(path) 然后开始写信号,结果跑出来的 DataFrame 漏洞密布: close 列的 dtype 是 object 而不是 float64 (因为有三行写...
打开 →下午两点,私募研究台。你拉到一份 510300.SH(沪深300 ETF)近 10 个 SSE 交易日的分钟 bar,存储里的时间戳是 UTC,列只有 price (这一分钟末的成交价)与 volume (这一分钟的成交股数)。任务很短:把它降到日 bar,算每天的简单收益(simple return)与 5 日年化滚动波动(rolling annualiz...
打开 →某 私募 量化研究组的季末复盘。组长把 沪深300 上跑了一个季度的两条信号摊在桌上:一条是上一课构造的 12 1 月动量,样本外 21 日 rank IC 约 0.03;另一条是组里 ML 工程师用 LightGBM 训出来的 ranker,同一个 universe、同一段样本外、同一个 21 日远期 rank return,样本外 rank IC 跳到 ...
打开 →国内某量化私募的因子研究负责人,在沪深300成分股范围内向新来的研究员提出一个任务:「在我们的股票宇宙里把 AQR 的 quality minus junk 因子搭出来,然后告诉我它该以常规权重、收缩权重、影子组合、还是直接剔除的方式进入生产合成因子。」研究员对前四节内容了然于胸——L1 因子定价模型、L2 异象清单、L3 构建工艺、L4 经济故事。这个问题...
打开 →国内某头部私募的中频策略团队把 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 就死锁了。第二版位置表被搞乱了——两条线程同时读写...
打开 →周四 09:15。某上海私募 200 亿规模的多空基金,风控研究员发现:实盘 PnL 比昨晚研究端对当日的回测 投影 落后 47 bp。同样的标的池、同样的持仓、同样的执行切片。差距太干净,不像噪声。数据团队的第一动作不是去翻策略代码、不是去看执行层、不是去查券商成交回报——而是查 数据血缘 图 :回测看到的每个输入是哪个版本?实盘看到的每个输入是哪个...
打开 →