Python 惯用法与开发工具
python · type-hints · dataclasses · protocol · mypy · idioms · iterators · generators
打开 →GLOBAL SEARCH
搜索在服务端完成,题目解析与答案不会进入搜索结果。登录后可搜索自己的收藏题单。
找到 30 个结果
中文题目python · type-hints · dataclasses · protocol · mypy · idioms · iterators · generators
打开 →python · classes · dunder-methods · abc · protocol · typing · generics · advanced
打开 →某私募的研究员把一个 Jupyter notebook 推过来:他们在沪深300成份股上扫了 500 万个 (S, K, σ, t) 参数组合,目标是给隐含波动率曲面拟合做敏感度分析。纯 Python + scipy.stats.norm.cdf 跑了 47 分钟,他要的是把这一步压到 5 分钟以内,但策略迭代仍然由他在 notebook 里驱动——研究员不...
打开 →开场 某私募周四下午,团队为沪深300 ETF 期权准备了四个定价器口味——Black Scholes 看涨、Black Scholes 看跌、二叉树、蒙特卡洛。研究主管开了一次代码评审,发现生产代码里有一个 StrategyFactoryAbstract 抽象类、两个 AbstractPricerBuilder 子类、Confluence 上一张 60 行...
打开 →某私募的量化基础设施工程师把一个棘手问题摆到桌上:回测代码一份要在 CI 上跑(必须 deterministic、必须秒级、必须无网络),另一份要在研究 notebook 里跑(必须真接口、必须有缓存),两边的调用点不能动。本课把前三节的全部产物——L1 的 simulate basket 、L2 的 make cohort ,L3 的 fetch yiel...
打开 →国内某头部 quant 的 510300.SH 做市组新入职 C++ 工程师,被安排与一位资深做一周入职配对。第一天:读 200 行 FIX 会话层代码。第二天:读 300 行 ITCH 5.0 解析器。第三天:把一笔 NEWORDERSINGLE 从策略层往下追,穿过桌内会话处理器、跨 TCP 套接字送到跨境清算柜台,再以 EXECUTIONREPORT ...
打开 →开场 某私募周二上午九点四十二,一位实习研究员把自写的 PriceQuote 类提交进团队研究包,基金经理顺手抓了一千个想往 set 里塞,做当天 510300.SH 早盘 tick 的去重。 TypeError: unhashable type: 'PriceQuote' 。十分钟后他想按时间戳排序,调用又换了一种方式挂掉。类能编译,对单个 quote 的...
打开 →周一早上九点二十分,你坐到某私募的研究台前,接手前同事留下的一段回测脚本。第一个函数是 def calc pnl(ticks, holdings, fee): —— 参数到底是什么? ticks 是 list 还是 dict? holdings 的字段叫 symbol 还是 code ?你只能把脚本跑一遍、撒几个 print 、再去翻调用方。十分钟过去了,你...
打开 →Two hyperparameter settings differ in mean CV score by only 0.001, while the estimated standard error is 0.010. What is the first sensible interpretation?
打开 →The current best setting sits at extreme values on both the learning-rate and regularization grids. What should your next search action be?
打开 →A categorical encoder was fit once on all rows and then reused inside cross-validation. What is the immediate correction?
打开 →What should you inspect first before saying a walk-forward result is robust?
打开 →Two models were validated under different walk-forward schemes. What is the first reason not to compare their average scores naively?
打开 →What is the first thing you should map before choosing train, test, and embargo lengths in financial walk-forward validation?
打开 →What should you check first before increasing refit frequency because recent performance dipped?
打开 →A time-series tuning run says a very short lookback window wins, but recent live performance has deteriorated sharply. What should you inspect first before widening the search?
打开 →Before shrinking both train and test windows to 'adapt faster,' what should you quantify first?
打开 →Training AUC is very high but CV AUC is near chance. Before trying more hyperparameter values, what is the first diagnostic step?
打开 →交易所连接、FIX 协议与行情数据 09:20 上海,周一早上。一只新的多空股票策略今天 09:30 上线。报盘到 国信证券 主经纪商的 FIX 等价会话处于 LogonSent ,没有 Logon Accepted 回执。算法被堵在外面发不出报单。基金经理在微信群里追问怎么回事。运维工程师正在网关日志里找最近一次成功 Logon —— 生产侧出向序号 4,...
打开 →开场 某私募周二上午九点三十一,沪深300 ETF(510300.SH)刚收完集合竞价,团队的 tick 处理器跑了九十秒。两个生产者线程在排空一个 Tushare 风格的行情 websocket——一个分片走 SSE(上海)回报,一个分片走 SZSE(深圳)回报——四个消费者线程各跑一个下游策略。九十三秒时,四个策略共写的盈亏累计器显示 1400000 元...
打开 →开场 某私募周五下午。研究团队内部的「自动研究 UI」——一个小网页,列出库里每个定价器并渲染一个表单可以调它的参数——挂了。一位初级开发上周新加了一个 GARCH 波动率定价器,可这个定价器的表单从未出现在页面上。这页本来不需要维护,注册表应该是在 import 时被填好的。资深开发打开定价器模块一看,发现忘了注册:新类从未进 PRICERS 。半年前同一...
打开 →周日晚上 11 点的消息 某私募的中后台周日晚上甩来一条消息:风控组明早要用你写的 summarise.py 跑一份沪深300成分股的 tick 滚动 VWAP,他们那台服务器装的是干净的 Python 3.11、没装你电脑上的任何包。你抓起脚本一看,它现在还是 notebook 里那个用 print 打日志、入口写在最后一格、依赖装在 /anaconda3...
打开 →3.5.3 L4 你交付了一个测得过 tick to trade 延迟的撮合引擎,内部跑 SPSC 环、SIMD、 core affinity CPU 绑核, hdrhistogram 报分位。现在中信建投自营 IT 跟你坐下来,屏幕上是上线检查清单: "它会和我们的会话网关讲 FIX 4.4 吗?TCP 断了能续上吗?对接的同事问你要 NewOrder...
打开 →某私募在 CFFEX 张江 COLO 机房的交易负责人 09:45 巡视交易室,向策略组长问一个问题:"如果我们做沪深300 ETF 510300.SH 的 mean reversion on mid 机器人因为 mid 算错而开始按 0.01 元发买单,它怎么在监管层来电话之前自己停下?"答案不在策略本身,而在策略外面的框架。每张订单到达 FIX 会话之前...
打开 →周五收盘后,你在私募自营盘的代码库里逛了一圈,发现满屏都是 @ 开头的行—— @dataclass 、 @contextmanager 、 @lru cache 、 @property ,还有内部框架塞进来的 @trace 、 @timed 。同事让你帮忙给一个慢得离谱的债券估值函数 bond price 提速:估算 300ETF 篮子里上千只债时,同一组 ...
打开 →周一早盘前,风控同事把 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 + ...
打开 →A walk-forward backtest produces 7 complete folds, and the research protocol inserts a 3-day embargo between each training block and its following test block. How many calendar days are lost to embargo across the whole run?
打开 →A diagnostic protocol has answer slots with outcome counts [2, 2, 3]. If it must encode exactly 11 hidden states, how many answer signatures remain unused under a perfect injective assignment?
打开 →A diagnostic protocol has answer slots with outcome counts [2, 2, 2, 3]. If it must encode exactly 19 hidden states, how many answer signatures remain unused under a perfect injective assignment?
打开 →