本期关键词:向量几何直觉、点积投影、矩阵变换、线性方程组、逆矩阵、行列式、秩、线性相关性

📐“数学暴君”的降临

周一早上8:30,SigmaX全体技术团队被黑犬紧急召集到大会议室。

Carol皱着眉走进来,Bob小声问:“Carol,发生什么事了?老板这么早开会不像他的风格啊。”

Alice紧张地说:“我听HR说老板从MIT挖了个大牛过来,该不会是要换CTO吧?”

Carol还没来得及回答,黑犬就推门进来了,身后跟着一个瘦削的中年男人。

这人大概48岁,穿着一件皱巴巴的格子衬衫,戴着老式金丝边眼镜,头发半白且凌乱,整个人散发着一种学究气息。他推了推眼镜,用一种审视的目光扫过在场的每个人。

黑犬清了清嗓子:“各位,给大家介绍一下,这位是Dr. Victor Zhang,MIT数学博士,前普林斯顿大学应用数学系副教授。从今天起,Victor将担任SigmaX的首席数学顾问,负责公司的量化研究和员工数学能力培训。”

全场一片哗然。

黑犬继续说:“各位可能不知道,上个月我们在波动率套利策略上亏损的将近1000万,经过我和外部顾问的分析,根本原因不是代码bug,而是数学基础错误——我们的协方差矩阵估计方法存在严重问题,我感觉咱们技术部门虽然工程能力很不错但是数学底子还不够,所以我请来了张博士给咱们再强化一下。”

Carol的脸色一下子变得难看。那个策略是她亲自审核的。

黑犬看向Victor:“Victor,接下来… …”

话还没说完,Victor站起来,走到白板前,说:

“你们团队90%的人不懂线性代数”

全场炸了。

“这是什么意思?我大学线代考了95分!”Eric不服气地说。

Victor转过身,冷笑:“95分?那只能说明你们学校给分太水了。”

他在白板上画了一个简单的2D向量:

    ↑ y
    |
    |    / (3,4)
    |   /
    |  /
    | /
    |/_________→ x

“这个向量,你们都认识吧?谁能告诉我,这个向量的几何意义是什么?”

Alice举手:“它表示从原点到点(3,4)的有向线段。”

Victor点头:“还算有点基础。那这个向量的是多少?”

“5!”多个人异口同声。

“很好,初中数学还没忘。”Victor的语气充满讽刺,“那么问题来了——”

他在白板上又画了一个向量(1, 0),然后写下:

(3,4) · (1,0) = 3

“点积等于3。请问,这个数字3在几何上代表什么意义?”

全场沉默。

Victor扫视全场,推了推眼镜:“看吧,你们连最基础的点积几何意义都不懂,还敢说自己懂线性代数?”

Bob小声嘀咕:“不就是内积吗,有什么了不起的…”

“内积?”Victor突然提高音量,“你说的是内积的代数定义还是几何定义?能说出它们的等价性证明吗?”

Bob哑口无言。

Carol终于忍不住了,站起来:“Victor教授,能否先告诉我们这个’3’到底代表什么?”

Victor盯着Carol看了几秒,嘴角露出一丝笑意:“CTO亲自发问?好,我告诉你们——”

他在白板上画了一条从原点到(3,4)的向量,然后画了一条垂直于(1,0)方向的虚线:

    ↑ y
    |
    |    /(3,4)
    |   /|
    |  / |
    | /  | ← 投影长度 = 3
    |/___|______→ x
      投影

“点积的几何意义是投影!向量(3,4)在向量(1,0)方向上的投影长度就是3!这不是什么抽象的数学公式,这是你们每天在做投资组合相似度分析时用到的核心工具!”

Victor转身在白板上飞快地写:

// 你们的推荐系统代码
double similarity = vectorA.dot(vectorB);  // 这里调用了dot函数
if (similarity > threshold) {
    recommend(itemB);
}

“你们看,你们每天都在用点积计算相似度,但你们理解为什么点积能表示相似度吗?因为点积衡量的是两个向量的方向接近程度!如果两个向量方向一致,点积最大;如果垂直,点积为0;如果反向,点积为负!”

Alice恍然大悟:“所以在推荐系统里,用户A的偏好向量和用户B的偏好向量点积越大,说明他们口味越相似?”

Victor第一次露出不那么刻薄的表情:“算你还有救。”

🎯摸底考试:团队的至暗时刻

Victor从包里拿出一叠试卷:“废话少说,先做个摸底考试。30分钟,开始。”

全场哀嚎,黑犬更是拿着卷子悄悄出去上厕所了。

试卷上的题目:

1. 给定向量a=(2,3), b=(4,1),求:
   a) a·b的值及其几何意义
   b) a在b方向上的投影长度
   c) a和b的夹角余弦值
 
2. 为什么在高维空间中,随机向量几乎总是正交的?
   这对推荐系统有什么启示?
 
3. 给定一个2×2矩阵A = [[2,0],[0,3]],
   它对向量(1,1)做了什么几何变换?
 
4. 什么样的矩阵能把一个圆变成椭圆?写出通解。
 
5. 为什么协方差矩阵一定是对称半正定的?
   从线性代数的角度证明。

30分钟后,Victor开始收卷子。他随手翻了几份,脸色越来越难看。

“Carol,你过来。”

Carol走上前,Victor把她的试卷摊开:

“第3题,你写的是’缩放变换,x方向缩放2倍,y方向缩放3倍’,这是对的。但你能告诉我,为什么对角矩阵对应轴向缩放吗?”

Carol犹豫了一下:“因为…矩阵乘法的定义?”

Victor冷笑:“‘定义就是这样’——这是工程师最爱的回答。那我问你,如果矩阵不是对角的,比如旋转矩阵,为什么它能旋转向量?为什么矩阵乘法能表示几何变换?

Carol愣住了。她确实从来没想过这个问题,只是知道”矩阵可以变换向量”。

Victor环顾全场:“你们都是这样,记住了公式和用法,但从来不知道为什么。你们是代码猴子,不是量化研究员。”

Bob举手:“Victor教授,就算我们几何直觉不强,但我们会用NumPy和C++实现这些运算,在工程上够用就行了吧?”

Victor推了推眼镜,声音突然变冷:

“够用?你知道你们上个月为什么亏1000万吗?因为你们用的协方差矩阵估计方法,在高维情况下会降秩!你们计算的矩阵秩不足,导致风险被严重低估!如果你们懂什么叫秩,什么叫奇异矩阵,你们会犯这种错误吗?”

全场鸦雀无声。

Victor继续说:“数学只有对和错,没有’够不够用’。在量化金融里,一个数学错误可能导致数千万甚至数亿的损失。你们的C++写得再好,数学基础是负数,你们就是在用精密的代码实现错误的公式。”

黑犬站起来:“好了,Victor的话可能刺耳,但句句属实。接下来两周,所有技术团队成员,每天下午4点到6点,必须参加Victor的线性代数培训,没有例外。过了这两周我们再视结果决定这个培训还要不要接着办下去。”

📐重新认识向量

第二天下午3点,技术团队准时出现在培训室。

Victor已经在白板上画满了图:

“今天我们重新认识向量。忘掉你们大学学的那些公式暴力计算,我们从几何直觉开始。”

他画了一个坐标系,画了几个向量:

向量不是数组,向量是:
1. 空间中的方向和大小
2. 从A点到B点的位移
3. 物理量(速度、力、梯度...)

Victor在白板上写:

给定向量a和b,它们的点积a·b等于:
 
1. 代数定义:a₁b₁ + a₂b₂ + ... + aₙbₙ
2. 几何定义:|a||b|cos(θ)  (θ是夹角)
3. 投影定义:a在b方向上的投影长度 × |b|

Alice举手:“所以当我们计算两个投资组合的收益率序列的点积时,我们实际上是在测量它们的协同性?”

Victor难得点头赞许:“对!如果两个组合总是同涨同跌,它们的收益率向量点积为正且大;如果一个涨另一个跌,点积为负;如果不相关,点积接近零。这就是多元化投资的数学本质!”

Bob突然明白了什么:“所以我们做相关性分析时用的Pearson相关系数,本质上就是归一化的点积?”

“终于开窍了。”Victor冷笑,“相关系数就是把两个向量都归一化到单位长度后的点积,也就是cos(θ)。完全正相关θ=0°,cos=1;完全不相关θ=90°,cos=0;完全负相关θ=180°,cos=-1。”

他在白板上快速写下几行代码,甚至比键盘打的还快:

# 你们常用的代码
correlation = np.corrcoef(A, B)[0,1]
# 本质就是
correlation = np.dot(normalized(A), normalized(B))
# 也就是
correlation = cos(angle_between(A, B))

整个下午,Victor用一个个实际的金融例子展示点积的威力:

  • 投资组合优化:点积表示资产间的协同收益

  • 风险分解:点积衡量单个资产对组合风险的贡献

  • 因子暴露:股票收益向量在因子向量上的投影

最后,Victor布置了作业:

“今晚回去,用NumPy实现一个函数:输入两个股票的历史价格,输出它们的相似度(-1到1之间)。不许用np.corrcoef,必须手动实现点积和归一化。明天我要检查代码。”

就在大家准备离开时,Bob举手问:“Victor,我在图形学的书里看到过叉积(cross product),这个在量化金融中有需要注意的吗?”

Victor停下脚步,转身回到白板前:

“问的好。叉积确实不如点积常用,但在某些场景下非常关键。既然你问了,我就顺便讲一下。”

他在白板上画了两个三维向量:

给定3D向量 a = (a₁, a₂, a₃) 和 b = (b₁, b₂, b₃)
 
叉积 a × b 的结果是一个新向量 c:
c = a × b = (a₂b₃ - a₃b₂, a₃b₁ - a₁b₃, a₁b₂ - a₂b₁)
 
或者用行列式表示:
    | i   j   k  |
c = | a₁  a₂  a₃ |
    | b₁  b₂  b₃ |

“注意,叉积有三个重要特性:”

Victor在白板上列出:

1. 方向:c 垂直于 a 和 b 所构成的平面(右手法则)
2. 大小:|c| = |a||b|sin(θ)(平行四边形面积)
3. 维度限制:只在3维空间有定义(严格来说)

他画了一个几何图示:

Alice皱眉:“所以叉积的模长等于两个向量张成的平行四边形面积?”

“正确。而点积是投影长度的乘积,叉积是面积。这就是它们的几何差异。”

Victor在白板上对比:

点积 vs 叉积:
 
点积 a·b:
- 结果是标量
- 大小:|a||b|cos(θ)
- 几何意义:投影、相似度
- 平行时最大,垂直时为0
 
叉积 a×b:
- 结果是向量
- 大小:|a||b|sin(θ)
- 几何意义:垂直向量、面积
- 垂直时最大,平行时为0

Bob问:“那在量化中哪里会用到叉积?三维向量在金融里不多见啊。”

Victor推了推眼镜:

“确实不如点积常用,但有几个重要应用场景:”

他列举道:

1. 多因子模型的正交化:
   - 当你有多个相关的因子,需要构造正交因子时
   - Gram-Schmidt正交化过程中会用到叉积的思想
2. 投资组合的风险方向:
   - 三资产组合(股票、债券、商品)在三维空间
   - 叉积能找到与两个风险方向都垂直的对冲方向
3. 期权Greeks的关系:
   - Delta、Gamma、Vega构成三维风险空间
   - 叉积帮助理解不同希腊字母之间的正交性
4. 时间序列的转折点检测:
   - 价格向量、动量向量的叉积
   - 检测趋势反转(方向变化)

Carol若有所思:“所以当我们做因子正交化时,本质上就是在找一个新向量,它垂直于现有因子?”

“对。Gram-Schmidt正交化的核心就是:给定一组线性无关的向量,构造一组正交向量。叉积给出了垂直方向。”

Victor快速写下伪代码:

# 简化版Gram-Schmidt正交化(2D情况)
def orthogonalize(v1, v2):
    # v1 保持不变
    u1 = v1
    # v2 减去在 v1 方向上的投影
    u2 = v2 - (np.dot(v2, u1) / np.dot(u1, u1)) * u1
    # u1 和 u2 现在正交
    return u1, u2
 
# 在3D情况下,可以用叉积直接构造垂直向量
def orthogonal_vector(v1, v2):
    return np.cross(v1, v2)  # 直接垂直于v1和v2

Bob兴奋地说:“所以如果我有两个高度相关的因子,我可以用叉积找到第三个因子,它与前两个都不相关?”

“理论上是的,但实际中要小心。”Victor警告道,“叉积只在3维空间有定义。金融数据往往是高维的(几十个甚至上百个因子)。这时候你需要用更一般的正交化方法,比如QR分解或者SVD。”

他补充道:

“不过,理解叉积的几何直觉——找垂直方向、计算面积——对理解高维正交化非常有帮助。本质是一样的,只是维度更高罢了。”

Alice举手:“那个’右手法则’在数值计算中重要吗?”

Victor难得赞许地点头:

“重要!右手法则决定了叉积的方向。a×b 和 b×a 方向相反:a×b = -(b×a)。这在图形学中很重要,在金融中…大多数时候我们只关心叉积的模(面积),而不太关心方向。但如果你在做3D可视化或者某些特殊的多资产分析,方向性就很重要了。”

他在白板上写下最后的总结:

叉积的核心价值:
1. 几何直觉:垂直性和面积
2. 工具作用:构造正交基
3. 理论基础:理解高维正交化
记住:在量化金融中,叉积不如点积常用,但它的思想(正交性、面积)是线性代数的核心。

Victor看了看时间:“好了,今天到此为止,拖堂挺久了。回去把作业做完,明天继续。”

🔄矩阵是变换机器

第三天,Victor在白板上画了一个坐标系,然后画了一个单位正方形:

    ↑ y
    |
  1 + - - -
    |     |
    |     |
  0 +-----+----→ x
    0     1

“现在,我要用一个矩阵变换这个正方形。”

他写下矩阵:

A = [2  0]
    [0  3]

然后在白板上画出变换后的结果:

    ↑ y
    |
  3 + - - - - -
    |         |
    |         |
    |         |
  0 + - - - - +----→ x
    0         2

“看,正方形变成了长方形。矩阵A把x方向拉伸了2倍,y方向拉伸了3倍。矩阵乘法的本质就是几何变换!”

(观察视频,可以看到正方形被拉伸成长方形的过程,这个列子的数值和Victor的讲解是不一样的)

Carol这次有备而来,举手:“那为什么矩阵乘法能表示变换?能从定义推导吗?”

Victor眼中闪过一丝赞许:

“好问题。来,我们从最基础的开始。”

他在白板上写:

给定向量v = [x, y],矩阵A = [a b]
                          [c d]
 
矩阵乘法 Av = [a b] [x] = [ax + by]
            [c d] [y]   [cx + dy]
 
这个结果可以写成:
Av = x[a] + y[b]
       [c]   [d]
 
这意味着什么?

Victor停顿了一下,环顾全场:

“这意味着矩阵A的每一列就是对应基向量变换后的结果!第一列是x轴(1,0)变换后的位置,第二列是y轴(0,1)变换后的位置!”

他重重在白板上画了一个图:

原始基向量:
e₁ = (1,0) →
e₂ = (0,1) ↑
 
经过矩阵A变换后:
Ae₁ = (a,c)  ↗
Ae₂ = (b,d)  ↖
 
任何向量v = xe₁ + ye₂
变换后就是 Av = xAe₁ + yAe₂ = x(a,c) + y(b,d)

Alice兴奋地说:“所以矩阵的列向量定义了新的坐标系?”

“exactly!”Victor少见地用了英文,“这就是线性变换的本质:把输入空间的基向量映射到输出空间,而保持线性组合关系不变!”

接下来,Victor用一个个例子展示不同矩阵的变换效果:

旋转矩阵

R(θ) = [cos(θ)  -sin(θ)]
       [sin(θ)   cos(θ)]

Victor展示了它如何旋转整个平面,不改变长度和角度。

剪切矩阵

S = [1  k]
    [0  1]

把正方形变成平行四边形,就像推一摞书。

投影矩阵

P = [1  0]
    [0  0]

把所有点压扁到x轴上,丢失了y方向的信息。

Bob看着投影矩阵,突然问:“Victor,这个矩阵把2D变成了1D,这是不是意味着信息丢失了?”

Victor赞许地点头:“对!这个矩阵把向量空间从2维降到了1维,这叫做降秩。而你们上个月亏损的协方差矩阵,就是因为意外降秩导致风险估计失真!”

Carol追问:“能详细讲讲协方差矩阵的问题吗?”

Victor看了看时间:“这涉及到秩和行列式的概念,我们周五再讲。现在先做个实战练习。”

他在白板上写下任务:

实战任务:

“好了,你们回去吧,明天来上课的时候我检查你们的作业。”

⚖️线性方程组的真相

第五天,Victor在白板上写下一个看似简单的方程组:

2x + 3y = 8
4x + 6y = 16

“谁能解这个方程组?”

Eric立刻举手:“第二个方程是第一个的两倍,所以有无穷多解,比如x=1, y=2或者x=4, y=0…”

Victor点头:“不错。那么,从矩阵的角度,这个方程组是什么?”

他在白板上写:

[2  3] [x]   [8]
[4  6] [y] = [16]
 
简写为:Ax = b

“线性方程组就是矩阵方程!求解方程组就是在问:是否存在向量x,使得矩阵A把它变换成向量b?”

Carol眼睛一亮:“所以如果矩阵A可逆,我们就可以用x = A⁻¹b求解?”

“对,但这里A不可逆。为什么?”

Victor在白板上画出几何图形:

A = [2  3]  的两列向量:
    [4  6]
 
列1: (2,4) = 2×(1,2)
列2: (3,6) = 3×(1,2)
 
两个列向量在同一条直线上!
它们是线性相关的!

“当矩阵的列向量线性相关时,这个矩阵把整个空间压扁了。2D空间被压缩成1D的一条直线。这样的矩阵是奇异的,不可逆!”

Alice问:“那在量化交易中,什么时候会遇到奇异矩阵?”

Victor露出严肃的表情:

“所有的风险模型都在和奇异矩阵作斗争。当你有100个股票,但它们都属于同一个行业,它们的收益率高度相关,协方差矩阵就接近奇异。这时候你以为自己分散了风险,实际上所有鸡蛋都在一个篮子里!当你构建投资组合的时候尤其要考虑这个问题。

他继续讲解:

可逆矩阵(非奇异矩阵):
- 行列式非零
- 所有列向量线性无关
- 方程组Ax=b有唯一解
- 信息无损失
 
奇异矩阵:
- 行列式为零
- 至少一个列向量可被其他列表示
- 方程组无解或无穷多解
- 信息有损失(降维)

接下来,Victor讲解了伪逆(pseudoinverse):

“当矩阵不可逆时,我们用伪逆来找到最佳近似解。这在过度拟合的线性回归中非常有用。”

接着又写下两行伪代码:

# 普通最小二乘法(可能过拟合)
beta = np.linalg.inv(X.T @ X) @ X.T @ y
# 使用伪逆(更稳定)
beta = np.linalg.pinv(X) @ y

Bob突然想到:“所以当我们的因子矩阵有多重共线性时,用伪逆比直接求逆更稳定?”

“终于不那么蠢了。”

Victor难得夸奖。

“多重共线性就是列向量接近线性相关,接近奇异。这时候直接求逆数值不稳定,伪逆通过SVD分解能给出最稳健的解,不过这是后面的内容了,今天先到这吧,下课。”

📊行列式与秩

周五下午,整个会议室气氛凝重。

黑犬也来旁听了,因为今天Victor要用之前亏损的真相当作教学案例。

Victor在白板上写下:

行列式(Determinant)
秩(Rank)

“这两个概念,是线性代数的核心,也是你们亏钱的根源。”

他先讲行列式:

对于2×2矩阵 A = [a  b]
               [c  d]
 
det(A) = ad - bc

“行列式的几何意义是什么?是变换后面积的缩放比!”

他画了一个单位正方形,面积为1:

原始正方形面积 = 1
 
经过矩阵A变换后:
新面积 = |det(A)|
 
如果det(A)=3,面积扩大到3
如果det(A)=0.5,面积缩小到0.5
如果det(A)=0,面积变成0(压扁成线或点)

Carol问:“所以det(A)=0就是奇异矩阵?”

“对。det(A)=0意味着空间被压扁,维度降低,信息丢失。”

然后Victor讲

“矩阵的秩,就是列向量中线性无关向量的最大个数,也是输出空间的维度。”

例子:
A = [1  2  3]
    [2  4  6]
 
第三列 = 第一列 + 第二列
实际上只有2个独立的列
 
所以 rank(A) = 2(虽然有3列)

“秩告诉我们矩阵的有效信息量。一个3×3的矩阵,如果秩只有2,说明实际上只有2个维度的信息,有1个维度是冗余的。”

Alice若有所思:“所以在PCA降维中,我们保留最大的几个主成分,本质上就是保留秩最大的子空间?”

Victor难得露出笑容:“你在这群人里算是有悟性的,不愧是研究员。”

然后,他打开笔记本电脑,调出一个代码文件:

“现在,我要让你们看看,你们是怎么亏掉1000万的。”

# 波动率套利策略代码
def estimate_covariance(returns):
    # returns: (n_samples, n_assets)
    # 直接计算样本协方差矩阵
    cov_matrix = np.cov(returns.T)
    return cov_matrix
 
# 问题:当n_assets > n_samples时...
returns = load_data()  # 50天数据,100只股票
cov = estimate_covariance(returns)  # 100×100的矩阵
 
# 检查秩
print(f"Matrix rank:{np.linalg.matrix_rank(cov)}")
# 输出:Matrix rank: 50  (应该是100!)

Victor在白板上重重写下伪代码:

n_samples = 50(样本数)
n_assets = 100(资产数)
 
协方差矩阵维度:100×100
但是秩只有:min(50, 100) = 50

这是一个秩亏矩阵! 有50个维度的信息是估计出来的,不是真实的!

全场鸦雀无声。

Victor继续说:

“你们用这个降秩的协方差矩阵做风险优化,计算出来的组合风险被严重低估。因为矩阵认为有50个方向上没有风险波动,但实际上那些方向只是没有足够数据去估计!”

Carol问:“那正确的做法是什么?”

“有几种方法,你看好了:”

Victor在白板上列出:

1. 增加样本数(至少n_samples > n_assets)
2. 使用收缩估计(Shrinkage)
3. 因子模型降维
4. 正则化协方差矩阵(添加Ridge惩罚)

“最重要的是,在使用任何矩阵之前,检查它的秩!如果秩不满,你必须问自己:这个矩阵是否可靠?”

Eric小声说:“我们当时只检查了矩阵是否对称正定,没检查秩…”

“对称正定只是必要条件,不是充分条件。一个秩亏的矩阵一样可以是半正定的,但它包含的信息是不完整的。”

🌙Victor的A/B面

课程结束后,已经晚上8点了。

大家陆续离开,Carol却留了下来。她走到Victor面前:

“Victor,我能问你一个问题吗?”

Victor抬头,推了推眼镜:“什么?”

“你为什么来SigmaX?以你的学术成就,继续在普林斯顿不是更好吗?”

Victor沉默了几秒,然后叹了口气:

“学术界…有时候太纯粹了。我研究随机矩阵理论二十年,发了30篇论文,但都只是理论。我想知道,我的理论在真实市场中是否有用。”

他顿了顿:

“而且,普林斯顿的学生太聪明了,教起来没成就感。你们这群人,基础差得让人脑浆都沸腾了,但进步速度也快得让我惊讶。Alice今天的问题,已经触及到谱理论的核心了。”

Carol笑了:“所以你其实喜欢教数学?”

Victor别过脸:“别自作多情。我只是不想看到一群人拿着错误的数学工具在市场里送钱,还拿那么高的薪水。”

这时,Bob跑回来,气喘吁吁:“Victor,我按你的要求重新实现了系统里的点积和相关系数,你能帮我看看代码吗?”

Victor接过笔记本,快速扫了一眼,冷笑:

“这里用了三层循环,复杂度O(n³)?重写,明天交。”

Bob沮丧地接过电脑。

Victor看着他的背影,嘴角却露出了一丝笑意。

Carol也注意到了,她说:“Victor,你虽然嘴上刻薄,但你确实在认真教我们。”

“少废话。”Victor收拾东西准备离开,“下周继续,特征值和特征向量。那才是真正的硬骨头。”

走到门口,他突然回头:

“Carol,你的数学基础在这群人里算最好的,和Alice不相上下。但你代码写的太多了,太依赖工程直觉,忽略了数学本质。记住,代码可以骗人,但数学不会。”

Carol点头:“我会记住的。”

Victor离开后,Carol站在空荡荡的会议室里,看着白板上密密麻麻的公式和图形感慨:“这样的人生真是难以想象,沉浸在这些东西里度过这一生某种意义上也很不错呢。”

📒补充说明

事实上,真实的量化研究员和开发不可能因为向量点积这种小事而亏损上千万元,如果这样的话数学基础也太差了, 大一学生都能去做量化。本文故事情节纯属虚构,仅用于说明线性代数在量化金融中的重要性及其核心概念。

本周我们跟随Victor学习了线性代数的核心基础(部分):

  1. 向量的几何直觉
  • 点积的三重意义:代数定义、几何定义(|a||b|cos(θ))、投影定义
  • 在量化中的应用:资产相关性、投资组合协同、风险分解
  1. 矩阵作为线性变换
  • 核心观点:矩阵的列向量 = 基向量变换后的位置
  • 常见变换:旋转、缩放、剪切、投影
  • 在量化中的应用:神经网络、因子模型、风险映射
  1. 线性方程组与逆矩阵
  • 几何视角:Ax=b 问什么存在向量x使得A把它变换成b
  • 可逆性:det(A)≠0 ↔︎ 列向量线性无关 ↔︎ 有唯一解
  • 伪逆:当矩阵不可逆时的最佳近似解
  1. 行列式与秩
  • 行列式:变换后体积的缩放比,det(A)=0表示降维
  • :线性无关列向量的个数,表示有效信息量
  • 在量化中的坑:协方差矩阵秩亏导致风险低估

正如Victor所说:代码可以骗人,但数学不会,当代码的执行出问题的时候,我们最好回归到本质的思考中,或许会有更好的结果。

这两周的线代内容并不是提供一种数学的学习方法,而是通过有趣的故事将线性代数的核心概念和几何直觉传达给大家,展示一下我的所思所想。希望大家能在实际工作中结合自己的需要灵活运用和拓展,如有谬误敬请指正。文中的视频均使用油管大神3Blue1Brown的Manim制作,为了视觉展现效果例子的数值不一定和正文Victor的讲解相同请见谅,相关代码和生成的动画视频也上传到了Github仓库中。

本周的相关代码和实现已上传至Github仓库🔗:https://github.com/shuheng-mo/qd-study-plan-104wk.git (PS:包括Victor张留的课堂作业以及摸底测验,也提供了参考答案。)

下周预告:W10 - 线性代数(下)

下周,我们将继续深入线性代数的世界,探索:

  • 特征值与特征向量:找到变换的”主轴”

  • 矩阵分解三剑客:SVD、PCA、LU/QR

  • 实战应用:推荐系统、投资组合优化、数值稳定性

  • 数值稳定性与工程实践

👋 各位下周五见,让我们继续跟随Victor继续探索线性代数的深层奥秘!