跳转至

第 0 课 先看清这段学习旅程

这本手册从一笔能用纸笔算清的交易开始,最后带你完成一项可以交给别人复查的量化研究。

适合谁没有编程、金融和统计基础的读者
前置知识会使用浏览器和计算器即可
建议用时35 分钟
本课成果知道从哪里开始,也知道每一阶段要完成什么

先认识终点,再决定怎样出发

假设你在短视频里听到一句话。有人说,一只股票如果连续上涨,后面往往还会继续强势。你觉得这句话似乎有道理,搜索以后又发现许多说法。有的研究观察三天,有的观察二十天;买入时间也可能放在收盘或第二天开盘。最醒目的内容常是一条漂亮曲线,费用和失败年份却没有交代。信息越看越多,你反而不知道应该相信哪一个结论。

量化研究就是从这种含糊处开始的。研究者先把“连续上涨”“继续强势”写成任何人都能重复的规则,再说明需要哪些数据、这些数据在什么时间能够看见。接下来,他让规则沿着历史日期逐日运行,记录订单、成交、持仓和费用。最后还要把没有参与调试的数据留出来,检查原来的发现能否再次出现。

完成本手册以后,你会把自己的研究整理成一份毕业报告。报告中要有明确的问题、数据说明、策略规则、交易时间线、回测账本、偏差检查、失败分析和模拟盘计划。读者能够看清你做过哪些选择,也能指出证据还欠缺什么。这样的报告比一段能够运行的代码更接近真正的研究,因为代码只记录电脑执行了哪些步骤,报告还要解释为什么这样做,以及结论能够支持到什么程度。

先给量化一个朴素的定义
量化研究是把市场想法改写成明确规则,再用按时间排列的数据检查这条规则曾经怎样表现。它帮助我们减少含糊和遗漏,却不会把未来变成确定答案。

定义里有两个地方需要先记住。明确规则意味着另一位读者只看你的说明,也能找到相同的日期并作出相同判断。按时间排列意味着研究只能使用当时已经出现的信息,不能站在今天回头替过去的自己补答案。后面的每一课都会回到这两条要求。

新手学习要先排好知识顺序

量化同时涉及金融、数学和计算机,第一次打开资料时很容易撞见一长串陌生词。有的数字描述一笔交易赚亏了多少,有的数字记录成交价格与预想价格的差距;到了机器学习部分,还要区分模型可以看到的线索和事后才完整的答案。这些内容会在真正用到时再获得名称。如果读者还没有看见一笔交易怎样从想法走到账户,提前背下一串术语也找不到它们在流程中的位置。

本手册采用一种逐层展开的顺序。第 1 课只使用六天虚构价格,让你用纸笔走完一次信号、下单、持有和退出。第 2 到第 8 课再学习 Python,并且直到前面的数值、表格、判断和循环都能读懂以后,才出现第一段完整策略代码。市场、收益和回测会在下一阶段展开。机器学习放在传统研究之后,因为只有先懂时间、数据和验证,才有能力判断一个复杂模型有没有解决真实问题。

这条路线也说明为什么你不需要先修完三套大学课程。遇到价格变化时,我们先学习眼下够用的百分比,再理解为什么前一次涨跌会改变下一次计算的起点。需要处理行情表时,再认识列表、表格和日期。等到模型开始比较预测,样本、误差和统计证据才会出现。每个概念都会先解决一个具体困难,然后在后面的例子里再次出现。

六个阶段会逐步汇成同一个项目

下面这张路线图把三十四课压缩成六段。沿着箭头阅读时,留意每一段的成果都会成为下一段的输入,最后共同进入毕业报告。

flowchart LR
    accTitle: Easy Quant 的六阶段学习路线
    accDescr: 学习从纸上交易开始,依次经过 Python、研究基础、经典策略、机器学习和 AI 毕业项目,每个阶段都为同一份毕业报告增加新的内容

    first["第一次认识量化<br/>手算一笔交易"] --> python["Python 入门<br/>读懂策略代码"]
    python --> research["研究基础<br/>建立可信账本"]
    research --> strategy["经典策略<br/>比较假设与边界"]
    strategy --> ml["机器学习<br/>理解模型与验证"]
    ml --> project["AI 完整项目<br/>完成毕业报告"]

    classDef start fill:#eef3ff,stroke:#3157d5,stroke-width:2px,color:#172b65
    classDef middle fill:#f6f0ff,stroke:#7653c7,stroke-width:2px,color:#34205f
    classDef finish fill:#e9f8f1,stroke:#15805d,stroke-width:2px,color:#103d30
    class first,python start
    class research,strategy,ml middle
    class project finish

第一阶段只有两课。你会认识数据、信号、订单、成交、持仓和回测,并在六天价格中逐日核对信息出现的顺序。阶段成果是一张能够手算的纸上交易单。这个小例子的样本很少,不能证明策略有效,它的任务是让完整流程第一次变得可见。

第二阶段从第 2 课走到第 8 课。你会先知道为什么研究常用 Python,也会区分编辑器、文件、终端和 Python。随后才学习数值、变量、列表、表格、条件、循环和函数。到第 8 课时,你会把一条均线策略拆成数据、指标、信号、持仓和收益五段,并能用普通中文解释每一行代码。

第三阶段是第 9 到第 17 课。市场如何成交、行情数据从哪里来、收益与风险怎样计算、回测账本怎样逐日变化,都会在这里讲清。阶段末尾还会检查三类常见麻烦。历史决策可能偷看尚未发生的事,数据可能遗漏后来退市的公司,反复调试也可能让规则只记住一段历史中的偶然噪声。你最后会得到一份写明失败条件的回测方案,并学会用时间向前滚动的方法检查它。

第四阶段覆盖第 18 到第 23 课。趋势、突破、均值回归、配对交易、多因子、风险平价和做市等策略会使用同一套阅读卡。你要比较每种策略依赖的市场现象、所需数据、信号形成、适用环境、失效原因和常见错误。这里没有收益排行榜,因为脱离样本、费用和参数展示一个收益数字,会掩盖研究中最重要的条件。

第五阶段从第 24 课开始学习机器学习。模型用来作判断的输入线索、经过未来一段时间才完整的正确答案,以及最简单的直线规则都会依次出现。随后我们再学习会不断分叉提问的树模型、由许多计算单元连接起来的神经网络,以及几种专门处理先后顺序和长距离关系的模型。每次增加一层复杂度,我们都会说明旧方法遇到了什么限制,新模型多做了哪一步,又带来了哪些验证风险。

第六阶段把前面的零件连接起来。你会学习怎样让 AI 质疑含糊规则、解释代码、设计检查和审阅报告,也会区分回测、模拟盘与真实交易。最后的毕业项目要求你完整记录研究问题、数据、规则、结果、偏差、失败和下一步,而不是交出一张单独的净值曲线。

怎样安排自己的学习节奏

课程页给出的阅读时间包括故事、手算、自测和练习,并不只计算扫一遍文字所需的时间。第一次阅读一课可能只花二十分钟,真正把例子重新算一遍、修改代码并完成课后题,往往还需要同样长的时间。学习速度不影响路线,前置关系才影响理解。

学习方式 每次投入 大致安排 适合的情况
先体验 30 到 45 分钟 完成第 0、1 课 还在判断量化是否适合自己
稳定入门 每周 4 次,每次 45 分钟 约 10 到 12 周完成主线 第一次系统学习编程和金融
项目推进 每周 3 次,每次 90 分钟 约 12 到 16 周完成毕业报告 已经有一个想检查的市场问题

如果你每周能够学习四次,可以用前两周完成 Python 入门。第三至第五周学习市场、收益、回测和验证,第六至第七周阅读经典策略,第八至第十周理解机器学习和深度学习,最后两周完成 AI 协作、模拟盘计划和毕业项目。某一课的手算还不能独立完成时,留在原地再做一个新例子,会比追赶章节编号更有帮助。

一页课程应该怎样读

每页开头的四个小格会告诉你本课面向谁、需要先懂什么、建议用时和完成后能带走什么。正文通常从一个生活化问题开始,随后解释旧办法为什么不够,再引出新概念。看到定义时先回到故事,指出这个概念解决的是哪一步困难。能够在例子里找到位置以后,定义才算真正落地。

表格和公式需要慢读。先沿日期逐行查看表格,确认每个数属于哪一天、在当时是否已经可见。公式出现时,先看每个符号对应例子里的哪个数字,再按一次计算器。公式只是把已经理解的关系压缩成更短的写法。如果还不知道分子和分母分别表示什么,就先回到手算过程,不必强迫自己背字母。

代码也遵守同样顺序。代码块上方会说明它要完成的任务、使用哪些输入以及运行后应该看见什么。阅读时把每一行改写成普通中文,检查它读取了什么、做了什么、留下了什么。程序结果与手算不同的时候,先保留差异并寻找原因。日期错位、单位混用或缺失值往往会在这种对照中被发现。

练习区在视觉上会比主干正文更轻。它的作用是暴露理解中的空白,而不是继续堆放新知识。每题都提供提示和折叠答案。先在纸上留下自己的答案,再打开参考内容;答错时回到最近的数字例子即可,不用从头重读整章。

卡住以后怎样缩小问题

遇到读不懂的句子时,先找到断点,再沿图中的顺序缩小问题。这样做能把“整章都不懂”改成一个可以手算、查词或询问的具体疑问。

flowchart TB
    accTitle: 初学者遇到困难时的处理顺序
    accDescr: 读者先定位具体句子,再回到最近的数字例子,接着查阅本页定义并完成一个小练习,仍然不清楚时再带着明确断点询问 AI

    stuck["指出具体卡住的句子"] --> example["回到最近的数字例子"]
    example --> tell{"能否用自己的话复述"}
    tell -->|可以| continue["继续阅读"]
    tell -->|还不行| term["查本页术语与图解"]
    term --> lab["完成一个互动或手算"]
    lab --> ask["带着明确断点询问 AI"]
    ask --> tell

    classDef action fill:#eef3ff,stroke:#3157d5,stroke-width:2px,color:#172b65
    classDef decision fill:#fff7d6,stroke:#b38a00,stroke-width:2px,color:#514000
    classDef finish fill:#e9f8f1,stroke:#15805d,stroke-width:2px,color:#103d30
    class stuck,example,term,lab,ask action
    class tell decision
    class continue finish

向 AI 求助时,问题越具体,解释越容易停在你的理解范围内。你可以贴出原句,写明自己已经理解的部分,再指出断点。例如,你已经知道收盘价要等收盘后才完整,却不明白为什么持仓要向后移动一天,就请 AI 使用四天价格表说明这段时间关系,并要求它不要提前引入机器学习术语。

宽泛地要求 AI “把量化讲明白”,通常会换来更多陌生词。让它一次只解释一个断点,并给出可以手算的数字,会更适合初学阶段。AI 给出的解释仍要回到课程中的时间线和答案已知的小例子上核对。

数学、计算机和金融会怎样汇合

量化常被形容为数学、计算机与金融共同完成的工作。数学帮助我们比较不同价格尺度,描述平均水平、波动和不确定性。计算机能够让一条规则稳定处理许多日期与资产,并保存每一步结果。金融知识说明交易所、订单、费用、停牌和风险限制怎样影响真实账户。

三方面各自正确还不够,它们必须在同一条时间线上相互核对。一个收益公式可能完全正确,代码却把明天的价格放到了今天;程序也可能没有任何报错,但假设每次都能按理想价格成交;市场故事听起来合理,统计结果却只来自少数幸运样本。完整研究的价值就在于把这些问题放在同一份记录中检查。

本手册会把数学放进数字例子,把代码放进已经讲清的任务,把金融规则放进订单与账户。你不需要先记住所有工具名称。每当一个新概念出现,先问它解决了流程中的哪项困难,再看它如何改变原来的例子。

这本手册刻意留下的边界

所有行情案例默认使用虚构数据或教学数据,它们只帮助理解方法,不提供真实账户的买卖建议。课程不会承诺某种策略能够获利,也不会用缺少研究条件的收益数字吸引读者。策略库关注假设、实现、验证和失效条件,换到自己的市场、费用和风险约束以后,每条规则都要重新研究。

Python 入门阶段不要求安装本地环境。浏览器练习场足以完成最初的变量、表格和代码阅读。等你知道文件、终端和软件包分别有什么用途以后,再决定是否搭建本地工具,会少掉许多与当前知识无关的障碍。

课程也不会把一次失败隐藏起来。策略在某段时期失效、程序出现报错、模型在新数据上退步,这些现象都在说明条件和边界。能够解释为什么放弃一个想法,与发现一个值得继续验证的想法同样重要。

一分钟自测

如果一段代码可以顺利运行,并且回测曲线向上,它是否已经成为可信的量化研究?

查看答案 还没有。研究还要说明数据在何时可见、交易怎样成交、费用如何计算、规则是否经过反复挑选,以及在未参与调试的数据上能否继续接受检查。

本课术语

词语 先这样理解
量化研究 把市场想法写成明确规则,再按时间顺序使用数据检查
学习路线 按知识前置关系安排的课程顺序
回测 让规则沿历史日期运行并逐步记账的实验
研究报告 记录问题、数据、规则、证据、限制和下一步的文档
复查 由自己或别人重新核对研究过程与结果

课后练习

1 辨认最终成果

这本手册最终希望你交出一段代码,还是一份完整研究报告?

提示想一想代码能够记录什么,又有哪些判断需要用文字说明。
答案最终成果是一份完整研究报告,代码只是其中用来执行和复查规则的一部分。

2 安排起点

完全不会 Python 的读者应该从哪一课开始,又会在第几课第一次读完整策略?

提示先理解工具,再依次学习数值、表格、判断与函数。
答案从第 2 课开始学习 Python,在第 8 课第一次逐行阅读完整策略。

3 检查学习方法

遇到一个陌生公式时,直接背下字母为什么容易造成假理解?

提示考虑每个符号能否在具体数字中找到对应对象。
答案如果不知道符号代表哪个数量、使用哪一天的信息以及单位是什么,即使记住公式也无法判断计算是否合理。

4 动手安排

在纸上写下每周能够稳定投入的次数和时长,再给前两个阶段各安排一个完成日期。

提示计划要按照自己能稳定做到的时间,不必追求最快。
答案答案因人而异。一个可行例子是每周四次、每次四十五分钟,两天完成体验阶段,两周完成 Python 入门。

5 开放思考

为什么一门面向新手的课程仍然要保留失败条件和研究边界?

评价要点量化面对的是不确定市场。失败条件能防止读者把历史巧合误当规律,研究边界则说明结论能够支持到哪里,也帮助后来的人避免重复同一错误。
离开本页前
这条路线从一笔能用纸笔核对的虚构交易出发,最后落到一份包含问题、数据、规则、验证、失败分析和模拟盘计划的研究报告。先记住这两个位置。学习途中遇到陌生模型时,回头看看它究竟改动了中间哪一步,路线就不容易走丢。