先别写代码。先做个思想实验。
你面前有两台机器。第一台:输入今天的日期,它输出一条「像股票」的价格曲线,涨跌、波动、偶尔的暴跌,统计特征和真实行情几乎无法区分。第二台:里面是几百个虚拟的人——有的死抠价值,有的追涨杀跌,有的凭心情乱买,还有个永远两面挂单的摊主——外加一台铁面无私的配对机器。你不知道它会走出什么行情,连造它的人也不知道。
问题是:哪一台才是「股市模拟器」?
直觉会选第一台——它像啊。但这本书会花十二章说服你:第一台只是个曲线播放器,第二台才是市场。区别不在像不像,在于你能不能走进去。在第一台机器里,你的买入不改变任何事,你只是观众;在第二台里,你砸出一笔大单的瞬间,盘口真的薄了一层,价格真的被你推了一格,对面的做市商真的皱了眉(如果他会皱眉的话)。一个能被你改变的市场,才配叫模拟器。
这本书是一次完整的建造记录。我们从一台只会配对的机器(撮合引擎)开始,看着价格从一笔笔成交里「长」出来;然后给这个世界装上一条只有上帝能看见的暗线(基本面),和一套含噪声的新闻流;再请进一群会亏钱、会恐慌、会临阵叛变的 NPC;加上做市商、摩擦、杠杆;最后看着泡沫和崩盘不需要任何剧本,自己长出来。
建造的过程会反复撞上一个朴素的标准:遇到任何设计分歧,就问「这是让数字更像真的,还是让玩家的体验更像真的」——我们永远选后者。这个目标叫「可信」,不叫「准确」。它俩的区别,比你想的大得多。
读完这本书,你会得到两样东西:一张能照着开工的架构图,和一双从此不一样的眼睛——再看到屏幕上那根红绿相间的 K 线时,你看到的将不再是「价格在动」,而是几百万人正在出价、等待、叛变和爆仓。
那么,开工。第一件事,是搞清楚你到底要模拟什么。