构建、发布与版本号
周三晚上 11 点,你在某 私募 量化组里维护着一个内部小包 xyzprice :封装 涨跌停 价计算、复权因子拼接、T+1 持仓核算这三件每周都要做的事。组里另外两位 PM 想直接 pip install xyzprice 就能用,而不是每次复制粘贴你脚本里那几个函数。 pyproject.toml 已经写好,pytest 测试全绿——下一步只剩四件事:构...
打开 →GLOBAL SEARCH
搜索在服务端完成,题目解析与答案不会进入搜索结果。登录后可搜索自己的收藏题单。
找到 30 个结果
中文题目周三晚上 11 点,你在某 私募 量化组里维护着一个内部小包 xyzprice :封装 涨跌停 价计算、复权因子拼接、T+1 持仓核算这三件每周都要做的事。组里另外两位 PM 想直接 pip install xyzprice 就能用,而不是每次复制粘贴你脚本里那几个函数。 pyproject.toml 已经写好,pytest 测试全绿——下一步只剩四件事:构...
打开 →周三晚上九点,你在一家上海私募的策略组里,把白天调好的 A 股因子算子打包发给同事,让他在另一台机器上跑同样的回测。他 git clone 完,进到目录里直接 python main.py ,立刻就崩了: ModuleNotFoundError: No module named 'xyzprice' 。你叫他先 cd src && python main.p...
打开 →某上海私募 200 亿规模的多空基金,研究主管周二下午把一份每年 280 万人民币的供应商材料推到你桌上:「沪深300 全部零售消费股的卫星停车场计数。raw IC = 0.06。先做一个季度试用,年合同 280 万。周五之前给 Go / No Go。」你的因子库已经有一个 Wind / 通联 集成的「盈利预期修正」因子,同一标的池 raw IC = 0.0...
打开 →A 股 一家 私募 的 quant,下午 三点半 收盘 之后 收到 数据团队 的 一条 消息:「今天 沪深300 ETF 的 tick 文件 落到 /data/market data/cn/equity/tick/20250424/ 了,你 看看 行数 对不对、品种 有没有 缺、总成交额 大概 多少。」她 不打算 写一个 Python 脚本——这种 「看一眼...
打开 →一位 私募 量化 团队 的 资深 研究员 在 原 研究 PR 上 线 半 年 之后 把 报告 递 给 一 位 初级 队友。"重新 跑 一 遍。基金 经理 在 问 这 个 信号 在 2024 年 数据 上 是否 还 work。" 初级 从 共享 盘 拉 出 notebook 打 开,第一 个 错误 立 刻 撞 上 来: ImportError: cannot ...
打开 →某沪深300指增私募的策略部署组组长周一早会带着三份交付物走进风控委员会。PM 刚审批通过一只新主动股票策略,研究组把 4.2 alpha 管线(截面动量 + 质量 + 价值的复合 alpha,样本内 IR 约 0.5)、4.3 因子暴露矩阵 B (Barra 风格 5 个 + 中信一级行业 10 个 + 国家因子)、4.4.2 Barra 风险模型 (Si...
打开 →周五下班前你在私募的 CI 仪表盘上看到一片绿: xyzprice 的 86 个测试全过,行覆盖率显示 95%。周一开盘九点二十,研究系统在喂一段空盘后行情时崩在了 mean price([]) 上——你写过的测试里,从来没有一个把空列表喂进去。覆盖率告诉你「这一行跑过」,但不会告诉你「这一行只在 happy path 上跑过」。上一课的 pytest 让你...
打开 →上海一家 私募 的风控工程主管把你写的第一份 Containerfile 拿出来评审,还没读到第一行指令就问三个问题:「这镜像里有什么是 root 跑的?」「最终镜像 多大?」「构建是 在 镜像构建时 重新解析依赖,还是 直接 消费 L1 的 wheel?」每个问题都有一个 错答案 平台组 不会 部署——所有进程都跑 root、镜像 800 MB、 RUN ...
打开 →上海一家 私募 的初级 quant 刚完成 3.6.4 的 capstone:三个 Python 文件、一个 run.sh 、一份装满了沪深300 ETF tick 的 TimescaleDB 仓库。PM 很满意;平台组不太满意。部署评审会上他们问的第一个问题是「wheel 在哪?」第二个问题是「锁定文件 在哪?」那段在开发者笔记本上跑得完美的脚本,没有办法...
打开 →A 股 一家 私募 的 数据 团队 每天 下午 15:00 收盘 后,要 把 沪深300 ETF(510300)的 tick 文件 从 staging 服务器 同步 到 本地 研究机,解压、做 一次 行数 校验、调 一个 Python loader 写 进 数据库;如果 任何 一步 失败,调度器 必须 拿到 非 0 退出 码,方便 把 这一晚 标 红。这套 ...
打开 →周一开盘前一刻钟,你在私募的研究服务器上 merge 了一段对 mean price 的「无害重构」——只是把 sum(...) / len(...) 拆成两步,方便在中间加日志。脚本照常跑完,回测照常出图。下午两点你才发现 PnL 报表上 XYZ001.SH 的当日均价对不上:你在重构时把 sum 与 len 的参数搞反了,函数对所有非空输入都返回 1 。...
打开 →上海一家 私募 的 quant 把 L2 产出的 feed handler:1.0.0 镜像推到 内部 registry,问 平台 组 怎么 把 它 部署 到 测试 集群。负责 工程师 直接 反 问:「你 的 docker compose.yml 本地 长 什么 样?你 的 manifests/ 在 测试 集群 长 什么 样?」quant 两份 都 没有,手...
打开 →上海一家 私募 的 风控 主管 批准 了 你 的 L3 manifest,但 在 部署 步 上 停 住:「开发者 把 一行 修复 合 入 main,这 时 镜像 从 哪 来?谁 打 tag?谁 扫描?谁 推 到 Aliyun ACR?谁 对 feed dev 跑 kubectl apply ?明天 生产 上 在 1.0.1 里 发现 bug,谁 把 它 翻 ...
打开 →周一上午 9 点 40 分,浦东陆家嘴一家中型私募的研究台。PM 转过头来:「上周那个 A 股小篮子—— 600519.SH 、 000001.SZ 、 600036.SH ——把 2024 年全年的因子摘要(tear sheet)给我,按申万一级行业把夏普汇总一下,下午三点的月会要用。」你看了一眼磁盘:L4 那道时间序列流水线吐出的 closes.parq...
打开 →一位 三十亿 规模 私募 量化 基金 的 新 研究员 周一 早会 端 PPT 走 进 会议室。"上周 我 在 沪深300 上 找到 夏普 等于 2 的 信号 —— 5 日 动量 加 行业 中性化,扣 5 bp 交易 成本,回测 2015 到 2023。" 基金 经理 问 四 个 问题。第一,"你 开始 之前 的 待 检验 假设 是 什么?" 沉默 —— 假设...
打开 →招商银行 私行 部 一位高级 FOF 经理 给你 转 来一份 私募 量化 中性 产品的 5 年期 业绩 路演 材料。基金报 Sharpe 2.1 净值口径,IR 1.5 相对 中证500 全收益,最大回撤 12%,AUM RMB 25亿,业绩报酬 1.5%+20%,容量估计 RMB 50亿,要 RMB 1亿 机构 配额。路演 PPT 的曲线平滑,在 私募 排...
打开 →下午 15:30 CST,某 A 股 量化 私募。沪深 收盘 加 15:00 行情 结算 落定 之后 半 小时,行情 vendor 的 tick 510300 20260523.csv.gz 落 在 共享 挂载 /data/market data/ 上。cron 调起 ingest ticks.sh 。接下来 九十 秒 内,文件 必须 被 加载 到 暂存 表...
打开 →上海一家 私募 的数据工程主管在晨会上只放了一张幻灯片:沪深300 ETF 的 ticker plant 已经连续运行 19 个月没有漏一条 tick。那张图背后只有一件基础设施:三节点 Kafka 集群、按 symbol 做 partition key、replication factor 3、 min.insync.replicas=2 ,再加一个「处理...
打开 →某私募的固定收益研究员要把过去三个月的 10 年期中国国债收益率拉成时间序列,放进久期模型的样本。AKShare 的公开接口 ak.bond china yield 不要 token、本地能跑、数据按日更新——但研究 notebook 一旦在用户面前演示时撞上 429,整场会议就要等十分钟手动 retry。本课把 AKShare 调用包成一个 fetch y...
打开 →某私募的研究员把一个 Jupyter notebook 推过来:他们在沪深300成份股上扫了 500 万个 (S, K, σ, t) 参数组合,目标是给隐含波动率曲面拟合做敏感度分析。纯 Python + scipy.stats.norm.cdf 跑了 47 分钟,他要的是把这一步压到 5 分钟以内,但策略迭代仍然由他在 notebook 里驱动——研究员不...
打开 →周二上午 9 点半,上证刚开盘。你坐在一家中型私募的研究台,手边是一段从 3.2.1 留下的 NumPy 代码:一个 (T, N) 的日对数收益矩阵, T = 244 , N = 3 ,列依次是 510300.SH、600519.SH、000001.SZ。你想把 600519.SH 在 2024 02 08(春节休市前最后一个交易日)这天的收益单独捞出来——...
打开 →周三下午两点。一家 A 股 私募 的资深同事打开你的 MR,标题是 feat(risk): 添加 沪深300 因子 z 列至业绩归因 。改了 12 个文件。二十秒之内审查线上铺满了「文件末尾多一个空行」「这个 import 没用到」「第 47 行行尾有空白」「import 没排序」之类的评论。你能感到审查时间正在漏走——这些评论没一条是关于你因子逻辑对不对的...
打开 →上海一家 私募 的电子交易主管把一名资深工程师拉到一边:「期权做市新策略要求 沪深300 ETF 的 top of book 在策略线程内到达延迟不超过 50 微秒。我们现在跑 Kafka 是 3 毫秒——差了三个数量级。怎么办?」诚实的答案是「先量,再按 rung 一级一级往下挪」。L2 把你留在 Kafka 这一级—— acks='all' 端到端毫秒级...
打开 →国内一家头部 quant 在 CFFEX 张家湾数据中心 colo 部署的低延迟工程负责人,正在 review 自家 IF 股指做市路径的 tick to trade 延迟报告。中位数 4.8 μs;MarketMakerTier1 桌内预算是 5 μs,正好达标。P99.9 是 47 μs,超过了 OperationalRiskCommittee 公开的 ...
打开 →国内私募的 50ETF 期权做市,盘中 13:47 SSE 一条 IF 主力 tick 的入库延迟从平均 80 毫秒跳到 1.8 秒。L1 的结构化日志能告诉你这一笔 tick 落在 feed handler consumer 7c4f9d8b6 x2k4l 这个 pod 的某条 offset;L2 的 dashboard 能告诉你 p99 延迟在过去 5 ...
打开 →某私募的量化基础设施工程师把一个棘手问题摆到桌上:回测代码一份要在 CI 上跑(必须 deterministic、必须秒级、必须无网络),另一份要在研究 notebook 里跑(必须真接口、必须有缓存),两边的调用点不能动。本课把前三节的全部产物——L1 的 simulate basket 、L2 的 make cohort ,L3 的 fetch yiel...
打开 →周五晚上,某私募量化研究员要对一个 20 只股票的行业轮动策略做半年回测,需要一个 (T=252, N=20) 的日收益矩阵。问题是平台的合规决策写得很清楚:不接行情数据牌照,所有训练样例只能跑合成数据。CSV 里没有,卖方接口也没有,只能自己生成。这一课给出最小可复现的配方:一颗确定的随机种子、对数欧拉离散化的 GBM 一步、用 Cholesky 分解构造...
打开 →某家私募的因子研究员要演示一个多因子打分模型,需要 200 家"虚拟公司"的横截面:每家要有行业、市值、贝塔、价值/动量/质量三个因子分,且这些字段之间的相关结构得接近真实 A 股名单。另一边,执行成本组要演示成本拆解,需要一段带买卖价差与成交大小的合成 tick 流。两段需求都不能动行情数据牌照——上一课只能产价格路径,这一课要把它扩成横截面与微观结构。本...
打开 →周一上午十点,你在上海一家私募(private fund)做跨境配置的研究员。基金经理把一笔 USD 1,000 万的赎回需求扔到你桌上:客户要求三天后换成人民币交付。你打开 CFETS 终端,屏幕上跳出 USD/CNY 中间价 7.2010,旁边券商报盘 7.2010 / 7.2020。你需要回答三个问题:报价里的两个数字分别意味着什么?这笔换汇该走哪条通...
打开 →周二下午三点,你在上海一家私募(private fund)下设的出口型集团做财资管理外包。销售台刚签下一笔合同:90 天后客户付 USD 1,000 万。问题是公司账本以人民币记账,老板要的不是「拍脑袋猜 USD/CNY 会涨会跌」,而是「现在就锁定 90 天后的换汇价」。你打开屏幕,CFETS 上 USD/CNY 即期 7.2000(这是你今天最重要的现货...
打开 →