跳到主要内容

如何使用本网站

三件事

每个章节都按同一个结构组织,认出这三块就能高效学习:

  1. 直觉 —— 用大白话讲「这节到底解决什么问题」;
  2. 数学原理 —— 用公式精确表达,每个公式后面有「人话」解释,把符号翻译成日常语言;
  3. 可运行代码 —— 灰色框里是可以直接在网页里运行的 Python,你能改参数、点运行、看图。

运行你的第一段代码

下面这个框就是贯穿全站的「代码沙盒」。点 ▶ 运行

  • 第一次运行时,浏览器会下载 Python 运行时(Pyodide,约几秒到十几秒),之后全站共享、不再重复下载;
  • 运行结束后,下方会显示文字输出matplotlib 图表
  • 你可以直接在框里改代码(比如把 mean=0.05 改成别的),再点一次运行。
import numpy as np
import matplotlib.pyplot as plt

rng = np.random.default_rng(0)

# 模拟 252 个交易日的日收益率
days = 252
ret = rng.normal(loc=0.05/252, scale=0.20/np.sqrt(252), size=days)

# 累计成价格曲线(从 100 起步)
price = 100 * np.cumprod(1 + ret)

print(f"年化收益约: {ret.mean()*252:.2%}")
print(f"年化波动约: {ret.std(ddof=0)*np.sqrt(252):.2%}")
print(f"期末价格  : {price[-1]:.2f}")

plt.figure(figsize=(8, 3.6))
plt.plot(price, color="#2563eb")
plt.title("模拟价格曲线(改改 loc/scale 再跑一次)")
plt.xlabel("交易日"); plt.ylabel("价格"); plt.tight_layout(); plt.show()

读公式

公式用 KaTeX 渲染。行内公式像这样:年化波动率 σann=σdaily252\sigma_{\text{ann}}=\sigma_{\text{daily}}\sqrt{252}; 独立公式单独成行:

夏普比率=E[R]Rfσ\text{夏普比率} = \frac{E[R] - R_f}{\sigma}

很多公式后面会跟一个可折叠的「人话解释」——强烈建议初学者点开看,那里把每个符号翻成了日常语言,比公式本身更重要。

改参数的窍门

几乎所有代码案例都故意把关键参数放在最顶部(如 n_dayslookbackcost_bps),方便你只改这几行就重跑。学习时养成一个习惯:

每跑完一段代码,至少改一个参数再跑一次,观察结果怎么变。这比读十遍都有用。

站内的交互功能

除了可编辑的代码框,你还会遇到三种交互组件:

  • 参数滑块(多见于策略章节):拖动滑块(如均线窗口、成本、阈值),回测会自动重算,净值与指标即时变化——直观感受「参数怎么影响结果」。
  • 章末测验:每章末尾的选择题,点选项即判对错并给出解释,用来检验是否真的读懂了。
  • 数据表预览:展示内置数据集的前几行,让你一眼看清每列长什么样(OHLCV、宽表等)。

这些组件和代码框共享同一个浏览器内 Python 运行时,首次使用仍需那一次性下载。

小结

  • 三块结构:直觉 / 数学 / 代码
  • 代码框可直接编辑、可反复运行,首次需下载 Python 运行时;
  • 读公式时点开「人话解释」;跑完代码顺手改个参数。

下一节聊聊量化研究的工作流,以及三个最容易把新手带沟里的常见误区