第一章:金融统计学导论
各位同学,欢迎来到《金融统计学论文复现与代码实现》的第一课。
我是这门课的主讲。在金融量化这个行当摸爬滚打了十来年,我见过太多人拿着漂亮的模型,却跑不出靠谱的结果。说白了,金融统计学的核心不是公式有多炫,而是你能不能把数据背后的逻辑讲清楚。
这一章,我们先搭好地基。不急着写代码,先搞清楚我们要干什么、怎么干。
1.1 课程概览:我们要学什么?
这门课的目标很直接:带你复现经典金融统计学论文,并用Python把结果跑出来。
你可能会问:“我为什么要复现论文?” 嗯,这个问题问得好。我个人习惯是,每接触一个新模型,先找一篇经典论文,亲手把代码敲一遍。为什么?因为只有亲手跑过,你才知道那些公式在真实数据上会出什么幺蛾子。
课程会覆盖30个章节,从最基础的金融数据特征,到GARCH模型、事件研究法、因子模型,再到机器学习在金融中的应用。每一章,我都会带着你读论文、写代码、看结果。
核心学习路径:
- 理解金融统计学的底层逻辑
- 掌握Python在金融数据分析中的实战技巧
- 能够独立复现一篇中等难度的金融统计学论文
1.2 金融数据特征:它和普通数据不一样
金融数据有个特点——它不听话。
我在项目中遇到过最头疼的事,就是拿普通统计学的思路去处理股票收益率数据。结果呢?模型预测得挺美,实盘一跑就亏钱。
金融数据有几个典型特征,你必须刻在脑子里:
| 特征 | 说明 | 举个例子 |
|---|---|---|
| 非正态分布 | 收益率分布有厚尾,极端值比正态分布多 | 2008年金融危机,一天跌掉过去三年的涨幅 |
| 波动率聚集 | 大波动后面跟着大波动,小波动后面跟着小波动 | 暴跌之后往往还有暴跌,而不是立刻反弹 |
| 自相关性弱 | 今天的收益率和明天的收益率,基本没关系 | 昨天涨了5%,今天可能涨也可能跌,猜不准 |
| 非平稳性 | 均值和方差会随时间变化 | 十年前A股平均波动率2%,现在可能变成3% |
你想想看,如果拿处理身高、体重那套方法去处理股票数据,结果会怎样?大概率是灾难。所以,金融统计学专门有一套工具来处理这些“不听话”的数据。
避坑指南: 我曾经在分析某只股票的日收益率时,直接用了普通线性回归。结果R²高得吓人,0.95!我当时还挺高兴,后来才发现——我把时间序列当成了独立样本处理,犯了“伪回归”的错误。嗯,从那以后,我每次建模前都会先做平稳性检验。
1.3 论文复现的意义与流程
为什么要复现论文?说白了,就是验证+学习。
验证,是看看这篇论文的结果是不是真的。我见过不少论文,数据一换,结果就变了。复现能帮你识别哪些是“真功夫”,哪些是“数据挖掘”。
学习,是跟着顶级研究者的思路走一遍。你想想看,能发在顶级期刊上的论文,方法通常都是经过反复推敲的。复现一遍,等于让大佬手把手教你做研究。
复现一篇论文,我一般按这个流程走:
- 读论文:先通读一遍,搞清楚研究问题、数据来源、模型方法
- 找数据:尽量用论文原数据,找不到就用类似数据替代
- 写代码:按论文步骤,一步步实现模型
- 对比结果:看自己的结果和论文是否一致,不一致就找原因
- 总结反思:记下踩过的坑,思考改进空间
注意: 复现不是抄代码。如果你只是把别人的代码跑一遍,那叫“运行”,不叫“复现”。真正的复现,是你理解了每一步在做什么,能用自己的话讲清楚。
1.4 Python环境配置:Anaconda + Jupyter Notebook
工欲善其事,必先利其器。我们选Python,因为它生态好、上手快、社区活跃。
我个人习惯用Anaconda来管理Python环境。为什么?因为它自带了一堆常用的数据科学库,省得你一个一个装。
安装步骤:
- 去Anaconda官网下载对应系统的安装包
- 双击安装,一路默认就行
- 安装完成后,打开Anaconda Navigator
- 点击“Launch”启动Jupyter Notebook
装好之后,我们来验证一下环境:
# 在Jupyter Notebook中运行
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import statsmodels.api as sm
print("所有库导入成功!")
print(f"NumPy版本: {np.__version__}")
print(f"Pandas版本: {pd.__version__}")
如果没报错,恭喜你,环境配好了。
小技巧: 我建议你为这门课单独创建一个虚拟环境。命令是 conda create -n fin_stat python=3.9。这样不会影响你电脑上其他Python项目。
1.5 本章知识体系
下面这张图,帮你把第一章的核心内容串起来:
这张图把第一章的四个核心模块串在了一起。你从中心出发,沿着四个方向走,就能把基础打牢。
1.6 写在最后
这一章的内容,说白了就是“热身”。
别小看这些基础概念。我见过太多人,一上来就急着跑模型,结果连数据平稳性都没检查,最后跑出来的结果根本没法用。嗯,磨刀不误砍柴工,先把基础打牢,后面才能跑得快。
下一章,我们会正式进入金融数据的世界,开始动手处理真实的市场数据。到时候,你会用到这一章配好的Python环境。
课后任务:
- 安装Anaconda,启动Jupyter Notebook
- 运行上面的代码,确认环境没问题
- 找一篇你感兴趣的金融统计学论文,通读一遍摘要和引言
公众号:蓝海资料掘金营,微信deep3321