AR、MA 与 ARMA 过程
周一开盘前,某沪深300 量化私募的研究员把昨天打捞回来的 1500 个日内对数收益样本(log returns)丢进 R,画了一张样本 ACF:lag 1 大约 0.18,lag 2 大约 0.05,再往后几乎全部落进 Bartlett 带里。她想问的是:这条「拖尾」曲线像不像一阶自回归(autoregressive, AR)模型该有的样子?如果是 AR,...
打开 →GLOBAL SEARCH
搜索在服务端完成,题目解析与答案不会进入搜索结果。登录后可搜索自己的收藏题单。
找到 30 个结果
中文题目周一开盘前,某沪深300 量化私募的研究员把昨天打捞回来的 1500 个日内对数收益样本(log returns)丢进 R,画了一张样本 ACF:lag 1 大约 0.18,lag 2 大约 0.05,再往后几乎全部落进 Bartlett 带里。她想问的是:这条「拖尾」曲线像不像一阶自回归(autoregressive, AR)模型该有的样子?如果是 AR,...
打开 →周一早盘,某私募的时间序列研究员把过去 200 个交易日的对冲组合超额收益丢进 statsmodels。她想确认这条曲线是不是一个干净的 ARMA 过程——若是,残差就是一组白噪声,可以挂上下一阶段的 GARCH;若不是,她得回去重做特征工程。问题是:用 AR(1)、MA(1)、ARMA(1, 1) 还是 ARMA(2, 1)?拟合完之后怎么知道这一支模型确...
打开 →国内某私募衍生品桌的研究主管要在不动 Monte Carlo 引擎的前提下,对同一笔 CSI 300 ETF(510300.SH)4.30 行权价的欧式 call 跑三种 payoff——call、put、二元 digital。C++98 时代的答案是一棵 PayoffBase 指针继承树;C++11 之后的答案变成一行 lambda:把它直接传进 pric...
打开 →周三下午两点。一家 A 股 私募 的资深同事打开你的 MR,标题是 feat(risk): 添加 沪深300 因子 z 列至业绩归因 。改了 12 个文件。二十秒之内审查线上铺满了「文件末尾多一个空行」「这个 import 没用到」「第 47 行行尾有空白」「import 没排序」之类的评论。你能感到审查时间正在漏走——这些评论没一条是关于你因子逻辑对不对的...
打开 →Hook(开场场景). 某资管公司多策略组合的固收风险经理,在月末复盘时盯着账上三笔头寸:(A)规模 5 亿元的 5 年期 FR007 利率互换(IRS),付固收浮,固定端 2.45%;(B)一笔参考某城投平台的 CRMW 1 亿元名义;(C)一只挂钩中证500 的 18 个月雪球结构化产品,由头部券商收益凭证渠道发出,规模 3 亿元,敲入线 75%、月...
打开 →反向传播与自动微分 Hook:四分钟一步的梯度 你刚加入一家以沪深300 alpha 为主力的私募(private fund),上手第一件事是把上一课那张 5 层、宽度 128 的多层感知机(multi layer perceptron, MLP)跑通——目标是用一个标准的 Barra 因子模型(factor model)的截面特征去拟合 公式,本质上是在学...
打开 →某私募(private fund)交易日下午四点,你的 PM 把过去 500 个交易日的策略净值推过来,问:这条曲线的均值真的稳定吗?波动率有没有结构性变化?只看一条路径,凭什么相信估出来的均值与自相关有意义?这是时间序列分析(time series analysis)的元问题。横截面统计里你有 公式 个独立同分布(i.i.d.)样本,推断建立在「重复抽样」...
打开 →国内某私募 CSI 300 ETF 期权桌的资深 C++ engineer 在审一份六年前写就的策略库——它要进 live engine。他贴在每一份源码上的 PR review 评论只有一行:「这里裸 new ——改成 std::make unique 。」这份库是 C++03 风格写的, delete 散布在异常处理路径上,等一个错位的 throw 就足...
打开 →国内某私募的 C++ 研究桌周一例会:新入职的研究员上线了 mean double 、 mean float 、 mean long double 三份函数——同一个九行的均值计算被复制了三次,只是浮点精度不同。Senior C++ engineer 的 review 意见只有一句话:「这里要写成模板。」周五新人交回的版本里,三份代码合成了一个 templa...
打开 →国内某私募 CSI 300 ETF 期权桌的风险分析师在翻夜间对账日志:四十笔 510300 期权报价的隐含波动率(IV)显示为整齐的 1.0 。这不是市场信号,而是上一代 IV 求解器在「未收敛」时使用的 sentinel value。当下游的偏斜模型把 1.0 一起平均进去,报告的偏斜被肉眼可见地拖偏,早会因此浪费了三十分钟去追一个根本不存在的数字。修复...
打开 →周三下午,你在上海的一家 量化 私募。L1 走通了 12 1 动量 的 IC 与 IR 报告,头条 数字 是 月度 rank IC ≈ 0.03、 IR ≈ 0.5。 在 投决会 上 提交 前,合规 与 交易 部门 同时 提了 三 个 问题:这个 IC 在 多 长 视界 上 仍然 有效? 月度 跑 一遍 会 产生 多大 换手率? 等到 私募 规模 上到 5 ...
打开 →Hook:没有 Barra 许可证的统计风险模型 周二早上,某中型多空对冲私募给初级量化研究员的任务:周五交一套「统计风险模型」——把沪深300 成分股最近 1000 个交易日的日度收益拆成几个共同因子加特异噪声,做成数据驱动的因子模型(factor model)。没有 Barra 模型(Barra model)授权,基本面数据要月底涨价,只有 1000×3...
打开 →周三下午两点半,你在上海某私募(private fund)的统计套利(statistical arbitrage)团队碰到一桩争执。两只沪深300 成份股里的地产龙头,对数价格(log price)序列各自带强烈趋势,放在同一张图上几乎平行。新来的研究员把两条序列直接做 OLS,跑出 公式、系数 公式 值 18,准备开仓。资深 PM 一句话拦下他:「先做单位...
打开 →周一收盘后,你在上海某私募(private fund)的风险组复盘一只沪深300 中性策略。过去 18 个月的日收益样本明显分成两段:平静期里日波动率约 0.6%、收益接近零均值;另一段则散落着 −3% 以上的尾部,日波动率拉到 1.8%。前三课里 GARCH 把这一切压成一条由过去观测确定的递推,SV 把它压成一条连续潜在 AR(1)。两者都默认波动率沿一...
打开 →某私募(private fund)的风控会上,研究员甩出沪深300 日收益的实证表:日内收益序列本身的自相关系数 公式 在滞后 公式 时几乎全部落在 公式 的 Bartlett 带内;可一旦把同一条序列 平方 再画一次 ACF,从滞后 1 到滞后 60 全是正值、缓慢衰减。再算样本峰度:5.8——远大于正态分布(Gaussian distributi...
打开 →沪深300 期权做市的私募,盘中 14:23 出现单边行情,CFFEX IF 主力合约成交骤增。值班 quant developer 在飞书智能助手里收到一条钉钉机器人推送:『KafkaConsumerLagHigh:feedhandler warehouse 消费组 lag 10000,持续 5m』。打开 Grafana,dashboard 名字叫 fee...
打开 →字节火山引擎的某 TiKV 同事在你刚加入沪深300量化团队的第二周走过来。他抱着一台戴尔笔记本,屏幕上是 3.5.2 L3 你亲手写的那个 SPSC 环形缓冲——给 510300.SH (沪深300 ETF) 行情事件用的,生产者一个核心、消费者一个核心,中间两个 AtomicUsize 当下标。"我们要把这段代码搬进 CFFEX 张江 COLO 的 pr...
打开 →某周四 早上,上海 某 量化 私募 的 投决会。L1 L3 全部 走 完 的 5 日 动量 策略 摆 在 Confluence 上:事件驱动 引擎、十 项 真实性 清单 全 绿、deflated Sharpe 0.8、PBO 0.35。研究员 问 投资 总监:「什么时候 上 实盘?」投资 总监 不 回答 这 个 问题。她 连 问 四 个 反 问 题。 十 节...
打开 →国内私募的 50ETF 期权做市,盘中 13:47 SSE 一条 IF 主力 tick 的入库延迟从平均 80 毫秒跳到 1.8 秒。L1 的结构化日志能告诉你这一笔 tick 落在 feed handler consumer 7c4f9d8b6 x2k4l 这个 pod 的某条 offset;L2 的 dashboard 能告诉你 p99 延迟在过去 5 ...
打开 →国内某头部私募(类似鸣熙资产)C++ 团队的第二个 sprint,组长把一个迷你定价库交给你独立负责。上一任留给你一份 600 行的 main.cpp ,能编、能跑、打印三个数,零测试。下个 sprint 的任务清单里包括加上一个 put call parity 的健全性检查、把库挂到一个策略二进制里、并通过一次把「单文件 C++ 工程」列为 P2 反模式的...
打开 →周一上午十点,你在国内某头部私募的成交分析(execution analytics)桌,昨夜成交回报落了一份 1M 条沪深300成分股的明细。组长要的不复杂:这一篮子今日的 VWAP(volume weighted average price)是多少?你 30 行 C++17 写完,跑一遍 4.3 ms。下午组长又问:能不能把它压到 1 ms 以内——他想在...
打开 →某国内头部私募(类似幻方量化)的初级 quant 第一次用 C++ 写了一个五日滚动 VWAP 函数。它加载 510300.SH 收盘价、用 new double[5] 申一段 buffer、算滚动均值、返回结果。单元测试过。集成测试过。两周后,同一个函数被一段每秒跑一万次的热路径调用,交易进程在一天之内常驻内存悄悄涨到 80 GB,直到内核 OOM kil...
打开 →某 沪深 300 私募 的 风控 在 飞书 上 找你:『我 昨晚 在 笔记本 样本 上 跑 30 毫秒 出结果 的 按 标的 回撤 查询,今天 打到 生产 上 跑 了 12 分钟。同样 的 SQL,同样 的 方言,同样 的 bars 1m 表——到底 什么 变了?』SQL 没变。变 的 是 行数:笔记本 5 万 行,生产 14 亿 行。『样本 上 快、生产 ...
打开 →上海一家 私募 中等频率股票策略团队的量化开发收到任务:两周内从零搭一条 沪深300 ETF 的 ticker plant。手头握住 3.6.3 的仓库(TimescaleDB hypertable, ticks raw(symbol, ts, price, size, side) , (symbol, ts) 主键)、L1 的消息词汇、L2 的 Kafka...
打开 →周五下午两点半,浦东陆家嘴一家中型私募的风控会上,PM 把昨晚跑出来的 tear sheet 推过来:「食品饮料这只 600519.SH 的 63 日滚动 夏普比率 (Sharpe ratio)样本期均值是 0.86,银行那两只 000001.SZ 和 600036.SH 是 0.42。0.44 的差,可信吗?」你脑子里第一反应是 3.2.2 L5 那...
打开 →开场 某私募周二上午九点四十二,一位实习研究员把自写的 PriceQuote 类提交进团队研究包,基金经理顺手抓了一千个想往 set 里塞,做当天 510300.SH 早盘 tick 的去重。 TypeError: unhashable type: 'PriceQuote' 。十分钟后他想按时间戳排序,调用又换了一种方式挂掉。类能编译,对单个 quote 的...
打开 →国内某头部私募 quant 桌的初级开发者隔夜上线了一段 P&L 归因脚本。第二天清晨的 trade cap 报表显示一笔头寸的名义金额是 21,474,836.48 元。那笔头寸是 510300.SH(沪深 300 ETF)的 4,500,000 股多头。bug 花了六个小时才定位:把累计股数加总的辅助函数被声明成了 int total shares; ,...
打开 →国内某头部私募的中频策略团队把 3.5.1 写的那版单线程 Monte Carlo 定价器搬上生产: 给 510300.SH (沪深300 ETF) 的欧式看涨期权报实时理论价。CPU 占用率长期挂在 8%——一台 16 核机器只有一个核在干活。负责人甩给你的任务很直接: 把 n paths 平均分到 N 个线程上, 共享一个 f64 累加器, 拿到一样的价...
打开 →周二早上,上海一家中等频率股票策略的 私募 量化开发被呼叫:沪深300 ETF 行情入库链路安静了 90 秒,交易室监控屏幕冻在最后一根 K 线上。生产者(producer)——解码 vendor 推送的 normalised 行情的 feed handler——状态正常;消费者(consumer)——把每条 tick 落进数据仓库的 writer——也正常...
打开 →上海一家 私募 的数据工程主管在晨会上只放了一张幻灯片:沪深300 ETF 的 ticker plant 已经连续运行 19 个月没有漏一条 tick。那张图背后只有一件基础设施:三节点 Kafka 集群、按 symbol 做 partition key、replication factor 3、 min.insync.replicas=2 ,再加一个「处理...
打开 →