构建、部署与容器化
packaging · pyproject-toml · wheel · sdist · lock-file · uv · poetry · pip-tools
打开 →GLOBAL SEARCH
搜索在服务端完成,题目解析与答案不会进入搜索结果。登录后可搜索自己的收藏题单。
找到 13 个结果
English questionspackaging · pyproject-toml · wheel · sdist · lock-file · uv · poetry · pip-tools
打开 →上海一家 私募 的风控工程主管把你写的第一份 Containerfile 拿出来评审,还没读到第一行指令就问三个问题:「这镜像里有什么是 root 跑的?」「最终镜像 多大?」「构建是 在 镜像构建时 重新解析依赖,还是 直接 消费 L1 的 wheel?」每个问题都有一个 错答案 平台组 不会 部署——所有进程都跑 root、镜像 800 MB、 RUN ...
打开 →上海一家 私募 的初级 quant 刚完成 3.6.4 的 capstone:三个 Python 文件、一个 run.sh 、一份装满了沪深300 ETF tick 的 TimescaleDB 仓库。PM 很满意;平台组不太满意。部署评审会上他们问的第一个问题是「wheel 在哪?」第二个问题是「锁定文件 在哪?」那段在开发者笔记本上跑得完美的脚本,没有办法...
打开 →某私募的研究员把一个 Jupyter notebook 推过来:他们在沪深300成份股上扫了 500 万个 (S, K, σ, t) 参数组合,目标是给隐含波动率曲面拟合做敏感度分析。纯 Python + scipy.stats.norm.cdf 跑了 47 分钟,他要的是把这一步压到 5 分钟以内,但策略迭代仍然由他在 notebook 里驱动——研究员不...
打开 →周三晚上 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,谁 把 它 翻 ...
打开 →上海一家 私募 的 quant 把 L2 产出的 feed handler:1.0.0 镜像推到 内部 registry,问 平台 组 怎么 把 它 部署 到 测试 集群。负责 工程师 直接 反 问:「你 的 docker compose.yml 本地 长 什么 样?你 的 manifests/ 在 测试 集群 长 什么 样?」quant 两份 都 没有,手...
打开 →一家深圳私募的执行主管周一拿到两份报告:上周五的母单台账——A 股 38 张票、Q/ADV 0.5%–6%——和上季度的 TCA 报告。任务很具体:把今天的单子分到券商–算法组合上,周五再用新一周 TCA 揭示的东西更新分配规则。本课把前三课的算法机器变成生产协议——决策网格、参数旋钮、TCA 闭环、broker algo 轮盘。 2×2 算法选型决策网格(...
打开 →周三晚上九点,你在一家上海私募的策略组里,把白天调好的 A 股因子算子打包发给同事,让他在另一台机器上跑同样的回测。他 git clone 完,进到目录里直接 python main.py ,立刻就崩了: ModuleNotFoundError: No module named 'xyzprice' 。你叫他先 cd src && python main.p...
打开 →周三下午两点。一家 A 股 私募 的资深同事打开你的 MR,标题是 feat(risk): 添加 沪深300 因子 z 列至业绩归因 。改了 12 个文件。二十秒之内审查线上铺满了「文件末尾多一个空行」「这个 import 没用到」「第 47 行行尾有空白」「import 没排序」之类的评论。你能感到审查时间正在漏走——这些评论没一条是关于你因子逻辑对不对的...
打开 →周日晚上 11 点的消息 某私募的中后台周日晚上甩来一条消息:风控组明早要用你写的 summarise.py 跑一份沪深300成分股的 tick 滚动 VWAP,他们那台服务器装的是干净的 Python 3.11、没装你电脑上的任何包。你抓起脚本一看,它现在还是 notebook 里那个用 print 打日志、入口写在最后一格、依赖装在 /anaconda3...
打开 →周五下班前你在私募的 CI 仪表盘上看到一片绿: xyzprice 的 86 个测试全过,行覆盖率显示 95%。周一开盘九点二十,研究系统在喂一段空盘后行情时崩在了 mean price([]) 上——你写过的测试里,从来没有一个把空列表喂进去。覆盖率告诉你「这一行跑过」,但不会告诉你「这一行只在 happy path 上跑过」。上一课的 pytest 让你...
打开 →轮图 $W_6$ 由中心顶点 $h$ 连接 $C_5$ 的 $5$ 个顶点组成。从边缘顶点出发,求首次到达 hub 的期望步数。
打开 →