第 4 课
程序说能买,现实就一定买得到吗?
从仓位、分散、流动性和成交限制出发,理解回测里的可交易不等于现实中能够照单执行。
蛙兄重新打开那个100点资金的账户。
“如果换成100万元,最后的盈亏,是不是也能照着放大?”
蛙博士指了指交易记录。
“程序可以把数字放大。可你想买的时候,有没有那么多股票按这个价格卖给你?”
蛙兄看着表格里的买入价。
“这里有价格,也不一定买得到?”
对。上一课,我们在问历史结果有多值得相信。现在再看看另一件事:程序里算得通的交易,现实中能不能照着完成?
之前的100点,是为了方便比较而使用的资金单位,不是100元,也没有替我们证明这套规则能承载多大规模的真实资金。
要回答蛙兄的问题,我们先从钱怎么安排说起。
买什么之外,还有买多少
之前的账户一次只持有一家公司的股票。一笔交易结束,资金回来,才能继续寻找下一笔。
这让我们看清了资金会被占用,也让实验容易理解。但它只是我们选定的一种安排。
同一个买入信号出现时,也可以继续问:这次投入多少?留不留现金?如果已经持有别的股票,还买不买?
这些问题开始涉及仓位管理。先用大白话理解:账户里有多少钱正在承担某项投资的涨跌,这个分量要怎么安排。
不借钱的情况下,只拿出一部分资金买某只股票,它的涨跌对整个账户的影响,通常会小于把可用资金全部放进去。代价也很直观:如果它涨了,没投入的那部分钱也不会跟着享受这笔涨幅。
所以,仓位不是一个“越小越好”或“越大越好”的按钮。它会改变整个账户的经历。
“那我分给几家公司,是不是就安全了?”蛙兄问。
先别只数公司有几家。
假设你选了几家依靠同一类产品赚钱的公司。某天,这类产品的需求一起下降,它们可能同时受到影响。名字不同,不代表背后的风险来源也不同。
把资金分散到不同投资中,希望减少对单一对象或某类风险的依赖,这就是分散在解决的问题。需要关注的是它们为什么可能一起涨跌,而不只是把名单写长。分散也不能保证不亏损。Investor.gov:资产配置与分散

这节课不替你决定该留多少现金,也不再把原来的实验拆成一套复杂的资金方案。先认识这个区别就好:买卖规则相同,钱的安排不同,账户结果也可能不同。
有这个价格,不代表想买多少都有
现在回到蛙兄盯着的那个买入价。
我们做一个简单的假设:某个时刻,愿意按这个价格卖出的股票只有一小批。
你的买单很小,也许够。买单很大,那一小批就不够了。剩下的部分可能要等待,也可能只能以更高的价格买入,还可能没有成交。
卖出时同样如此。你想按某个价格卖,并不代表当时一定有人愿意按那个价格接下全部数量。屏幕上的报价对应有限数量,也可能在订单执行前发生变化。Investor.gov:看到的价格与实际成交
这就引出了流动性:想买卖时,能不能比较快、比较顺利地完成,而不明显影响成交价格。Investor.gov:流动性
不必急着记名字。先记住:一张价格表,不是一份“这个价格要多少都有”的承诺。

如果继续把资金规模放大,就会遇到资金容量的问题:考虑市场能成交多少、交易会付出多少成本之后,这套方案还能容纳多大的资金,而不让原来的表现发生明显变化?
它不是一个看完收益率就能填出来的上限。交易什么、持有多久、每次想成交多少,都会影响这个问题。
之前已经考虑过手续费和滑点,这当然有帮助。但一个固定的滑点假设,并不会自动说明所有规模的订单都能这样成交。
“所以,不能只改账户里的起始数字。”
没错。放大的不只是钱,也可能是等待成交的数量,以及为了完成交易要付出的代价。
程序写了“成交”,还要看它凭什么这么写
成交也不只受买卖数量影响。研究某个市场时,还得确认当时适用的交易规则、股票是否处于可以交易的状态,以及信号用到的信息当时是否已经可得。
这些不需要今天全部展开。关键是看到一条模拟成交记录时,知道可以追问:它是根据什么条件认定这笔交易能完成的?
仅凭我们现在的日线数据,不能还原某一刻完整的买卖报价、排队情况和自己的实际成交过程。不能让AI把缺失的细节猜出来,再写成已经验证的事实。
那之前的回测,还有意义吗?
蛙兄往回翻了翻自己的研究记录。
“怎么越学,发现还没回答的问题越多?那前面是不是白忙了?”
没有。
我们已经在明确的规则和条件下,观察过一套方案怎样运行。现在发现还有现实条件需要检查,是更清楚地知道这份结果回答到了哪里,而不是把前面的工作作废。
比如,“一次只持有一家”帮助我们看见了资金占用;加入费用,让我们看见了成本对结果的影响。这些认识不会因为尚未研究实际成交细节,就突然消失。
回测是在一组条件下算出的结果。理解这些条件,才能知道结果可以回答什么、还不能回答什么。
课程里的公司与数据是虚构教学材料,不能据此作出真实投资决定。走到这里,也不意味着只差连上一个交易账户。
但你已经可以提出比“这个策略能赚钱吗”更具体的问题了。
如果对其中一个方向感兴趣,可以和Codex或WorkBuddy聊聊:
和 AI 检查成交假设
请先查看我现有的研究记录。程序假设交易能够成交时,考虑了哪些条件?哪些只是简化,哪些还缺数据支持?先解释,不要修改原实验。
不用马上把所有问题补齐。先弄清一个自己真正关心的问题,再决定是否值得继续研究。
我们下次相见
蛙兄把研究记录保存好,打开了一个新文档。
这次,他没写“帮我找一个赚钱的方法”。
他写的是:“我有个猜想。我们先聊聊,要怎么验证它?”
蛙博士凑过来看了一眼。
“什么猜想?”
“这个嘛,下次再聊。”
这一轮课程,我们就先聊到这里。
你不必现在就开始下一项实验,也不用把最后几课的新名词全部学完。可以先合上电脑,歇一会儿。
下次看到一个让你好奇的市场现象,希望你除了“我觉得”,还会多问一句:“有什么办法,能查一查?”
至于程序怎么写、哪里出了错,你不必每一步都独自解决。AI可以陪你尝试;想查什么、证据够不够、什么时候该停下来,仍然值得你亲自想一想。
谢谢你和蛙兄、蛙博士一起走到这里。
带着好奇心,我们下次相见。

课后讨论
留下你的问题、理解或不同意见,也看看其他学习者怎么想。