GLOBAL SEARCH

搜索课程、模块、题目与收藏题单

搜索在服务端完成,题目解析与答案不会进入搜索结果。登录后可搜索自己的收藏题单。

找到 30 个结果

中文题目
课程设计模式与工具 · 高级 Python

Python 风格的设计模式

开场 某私募周四下午,团队为沪深300 ETF 期权准备了四个定价器口味——Black Scholes 看涨、Black Scholes 看跌、二叉树、蒙特卡洛。研究主管开了一次代码评审,发现生产代码里有一个 StrategyFactoryAbstract 抽象类、两个 AbstractPricerBuilder 子类、Confluence 上一张 60 行...

打开 →
课程Rust 互操作与生产化 · Rust 系统编程

PyO3 与 Python 互操作

某私募的研究员把一个 Jupyter notebook 推过来:他们在沪深300成份股上扫了 500 万个 (S, K, σ, t) 参数组合,目标是给隐含波动率曲面拟合做敏感度分析。纯 Python + scipy.stats.norm.cdf 跑了 47 分钟,他要的是把这一步压到 5 分钟以内,但策略迭代仍然由他在 notebook 里驱动——研究员不...

打开 →
课程构建、部署与容器化 · 量化开发的软件工程

量化部署中的 Python 项目打包

上海一家 私募 的初级 quant 刚完成 3.6.4 的 capstone:三个 Python 文件、一个 run.sh 、一份装满了沪深300 ETF tick 的 TimescaleDB 仓库。PM 很满意;平台组不太满意。部署评审会上他们问的第一个问题是「wheel 在哪?」第二个问题是「锁定文件 在哪?」那段在开发者笔记本上跑得完美的脚本,没有办法...

打开 →
模块3.2.2 · 编程 · Python 数据与量化分析

Pandas

python · pandas · series · dataframe · loc-iloc · indexing · io · csv

打开 →
课程Python 打包与测试 · Python 基础

pyproject.toml 与虚拟环境

周三晚上九点,你在一家上海私募的策略组里,把白天调好的 A 股因子算子打包发给同事,让他在另一台机器上跑同样的回测。他 git clone 完,进到目录里直接 python main.py ,立刻就崩了: ModuleNotFoundError: No module named 'xyzprice' 。你叫他先 cd src && python main.p...

打开 →
模块3.2.3 · 编程 · Python 数据与量化分析

SciPy 与统计工具

python · scipy · stats · distributions · fit · var · descriptive-statistics · hypothesis-testing

打开 →
模块3.2.4 · 编程 · Python 数据与量化分析

合成数据与 API

python · numpy · scipy · synthetic-data · gbm · monte-carlo · cholesky · simulation

打开 →
课程Python 语言基础 · Python 基础

容器类型与推导式

旁边那台的同事盯沪深300 ETF 的日内 tick 流。早上 10 点,她已经积了 8 万条 tick 行的 CSV;她的开盘脚本只是一段 Python:把每行读进来,过滤掉 volume 100] [364100.0, 4860.0, 546090.0, 3654.0] 二十行删到四行,懂语法的同事五秒就能审完——这是要追的标准。 练习 Given pr...

打开 →
模块3.3.1 · 编程 · 高级 Python

并发与性能

python · performance · profiling · cprofile · line-profiler · tracemalloc · memory · timeit

打开 →
课程并发与性能 · 高级 Python

性能剖析与内存分析

周二上午十点的滚动均值 某私募研究台周二上午十点。你刚把 3.2.2 收尾那条 8 步管道交给量化团队,篮子是沪深300 ETF(510300.SH)和三只 A 股票面 ,日收益矩阵 (252, 4) 。PM 把它拉到全市场场景版本——篮子扩到 100 只票、回溯 100 个交易日——结果纯 Python 嵌套循环算出来的 20 日滚动均值跑了 11 秒,下...

打开 →
课程Python 惯用法与开发工具 · Python 基础

日志、命令行与项目工具链

周日晚上 11 点的消息 某私募的中后台周日晚上甩来一条消息:风控组明早要用你写的 summarise.py 跑一份沪深300成分股的 tick 滚动 VWAP,他们那台服务器装的是干净的 Python 3.11、没装你电脑上的任何包。你抓起脚本一看,它现在还是 notebook 里那个用 print 打日志、入口写在最后一格、依赖装在 /anaconda3...

打开 →
模块3.3.2 · 编程 · 高级 Python

设计模式与工具

python · classes · dunder-methods · abc · protocol · typing · generics · advanced

打开 →
课程Python 语言基础 · Python 基础

语法、数据类型与控制流

早上 7:42,做市台。研究员在群里丢了一句:「把跳空分类脚本重跑一下,阈值改成 5%。」打开她的笔记本,屏幕上是十几行 Python——没有 import、没有类,只有一段 if/elif/else 在判断 stdin 读进来的收益率。新人立刻问了一句:「Python 凭什么知道 if 到哪一行结束?」这门课就从这里讲起。学完之后你能默写出同样的脚本:st...

打开 →
课程并发与性能 · 高级 Python

asyncio 与 I/O 密集型并发

Hook 周二下午三点,一家上海私募的量化研究员要在 T+1 风控窗口前把沪深300 成分股当日的分钟线快照拉下来,作为隔夜组合 VaR 的输入。上节课用 ThreadPoolExecutor 把 100 个同步 requests.get 压到了 1.8 秒;现在策略组想把每天的拉取面扩到 1500 只 A 股、外加 200 只港股通(Stock Conne...

打开 →
课程并发与性能 · 高级 Python

GIL、多线程与多进程

Hook 周一下午四点收盘后,私募研究服务器上挂着两份待跑的任务:先把 100 只沪深300 成分股最近 30 个交易日的日线从米筐风格接口同步下来,再用 100 万条蒙特卡洛路径给一张 510300.SH 看涨期权定价。一颗八核 CPU 跑了二十多分钟,T+1 风控报表迟迟出不来。问题不在算法,在于代码全程单线程。这两份任务该交给的并发原语其实不同:线程池...

打开 →
课程合成数据与 API · Python 数据与量化分析

HTTP API 与具备韧性的数据抓取

某私募的固定收益研究员要把过去三个月的 10 年期中国国债收益率拉成时间序列,放进久期模型的样本。AKShare 的公开接口 ak.bond china yield 不要 token、本地能跑、数据按日更新——但研究 notebook 一旦在用户面前演示时撞上 429,整场会议就要等十分钟手动 retry。本课把 AKShare 调用包成一个 fetch y...

打开 →
课程NumPy · Python 数据与量化分析

ndarray 与向量化

周一早盘前,你接手了一笔策略回测:沪深300 ETF(510300.SH)一年的日线,要算每日对数收益率(daily log return)。上一课你已经能把 CSV 流过来、用生成器逐行解析、再用 dataclass 装好。可一旦真要算数,你写下的还是那段熟悉的循环: 十二行能写完,对一年 252 个交易日尚可。可同样一段逻辑会出现在每一份回测脚本里——一...

打开 →
模块3.2.1 · 编程 · Python 数据与量化分析

NumPy

NumPy · Pandas · SciPy/sklearn · 合成市场数据

打开 →
课程NumPy · Python 数据与量化分析

NumPy 的线性代数与随机数

周二下午两点,某上海私募的股票池经理把你叫到工位前:要 600519.SH 对沪深300 ETF(510300.SH)的市场 β,日简单收益(daily simple return),近252个交易日窗口,今晚9点前要见。教科书答案一行就能解决: beta = Cov(r stock, r mkt) / Var(r mkt) 。工程答案稍长:把 [1, r ...

打开 →
课程Python 打包与测试 · Python 基础

pytest 基础

周一开盘前一刻钟,你在私募的研究服务器上 merge 了一段对 mean price 的「无害重构」——只是把 sum(...) / len(...) 拆成两步,方便在中间加日志。脚本照常跑完,回测照常出图。下午两点你才发现 PnL 报表上 XYZ001.SH 的当日均价对不上:你在重构时把 sum 与 len 的参数搞反了,函数对所有非空输入都返回 1 。...

打开 →
课程SciPy 与统计工具 · Python 数据与量化分析

scipy.stats 分布对象与描述性统计

周一上午十点,你坐在一家中型私募的研究台。3.2.2 收尾那张 tear sheet 昨晚跑完了,落到磁盘的中间产物里有一行 returns = (closes['510300.SH'].pct change().dropna()).to numpy() ——一根长度 252 的 np.ndarray ,是沪深300 ETF(510300.SH)在 2024...

打开 →
课程Pandas · Python 数据与量化分析

Series 与 DataFrame 基础

周二上午 9 点半,上证刚开盘。你坐在一家中型私募的研究台,手边是一段从 3.2.1 留下的 NumPy 代码:一个 (T, N) 的日对数收益矩阵, T = 244 , N = 3 ,列依次是 510300.SH、600519.SH、000001.SZ。你想把 600519.SH 在 2024 02 08(春节休市前最后一个交易日)这天的收益单独捞出来——...

打开 →
课程Python 语言基础 · Python 基础

函数与作用域

在台子上坐了三周,你接手的策略组发现一个尴尬场面:那段计算 stylized P&L 的代码 (p1 p0) shares fee 被复制粘贴到了七个文件里。今天 A 股印花税口径调整(卖出方向 0.03% 的一个示例性常数,真实税率以监管口径为准),你要在收盘前把这条修改打到七个地方。你改了六个,漏了第七个,周一对账时某条策略的 P&L 偏了三块钱。修法不...

打开 →
课程Pandas · Python 数据与量化分析

分组、合并与重塑

周二下午两点,私募研究台。你手里堆着三张表:一张是 20 个交易日 × 3 只票( 600519.SH 、 000001.SZ 、 600036.SH )的长格式日收益,共 60 行 (date, ticker, return) ;一张是申万一级行业查找表( 600519.SH → 食品饮料 、 000001.SZ → 银行 、 600036.SH → 银行...

打开 →
课程合成数据与 API · Python 数据与量化分析

可模拟数据提供者与依赖注入

某私募的量化基础设施工程师把一个棘手问题摆到桌上:回测代码一份要在 CI 上跑(必须 deterministic、必须秒级、必须无网络),另一份要在研究 notebook 里跑(必须真接口、必须有缓存),两边的调用点不能动。本课把前三节的全部产物——L1 的 simulate basket 、L2 的 make cohort ,L3 的 fetch yiel...

打开 →
课程合成数据与 API · Python 数据与量化分析

合成价格路径与相关收益

周五晚上,某私募量化研究员要对一个 20 只股票的行业轮动策略做半年回测,需要一个 (T=252, N=20) 的日收益矩阵。问题是平台的合规决策写得很清楚:不接行情数据牌照,所有训练样例只能跑合成数据。CSV 里没有,卖方接口也没有,只能自己生成。这一课给出最小可复现的配方:一颗确定的随机种子、对数欧拉离散化的 GBM 一步、用 Cholesky 分解构造...

打开 →
课程合成数据与 API · Python 数据与量化分析

合成截面数据与微观结构工厂

某家私募的因子研究员要演示一个多因子打分模型,需要 200 家"虚拟公司"的横截面:每家要有行业、市值、贝塔、价值/动量/质量三个因子分,且这些字段之间的相关结构得接近真实 A 股名单。另一边,执行成本组要演示成本拆解,需要一段带买卖价差与成交大小的合成 tick 流。两段需求都不能动行情数据牌照——上一课只能产价格路径,这一课要把它扩成横截面与微观结构。本...

打开 →