跳转至

四、算法交易简介

🎯 寓言故事 —— 《陈记米行的百石大单》

清光绪年间,江南稻香镇上有家陈记米行,掌柜陈守仁做了四十年粮食买卖,米价、行情、码头上的船老大姓甚名谁,他闭着眼都能说上一二。米行平日里做的是零星生意,张家三斗、李家一石,街坊上门现称现付,一杆秤一算盘就完事。

这一年开春,麻烦来了。镇外金家村的财主金老爷要翻修祠堂,趁着新谷未上、陈米尚足,要陈守仁一次性供应一百石上等白粳。一百石!这数字顶得上陈记平常三个月的销量。陈守仁接下大单,心里却发了愁——他做了四十年米,从没一下子卖过这么多。

陈守仁先按老法子办。他唤上长子陈大柱,父子俩套了牛车,浩浩荡荡直奔金家村。一百石白粳分装二十辆大车,前前后后拉成一字长蛇,沿着镇外的青石板路招摇过市。一路上,但凡车辕碰地有声,就有乡邻围过来瞧热闹:"哟,陈掌柜这是发大财啦!""一百石!啧啧,这是要送哪里去?"消息像风一样传开。

到了金家村,问题来了。村口的米贩孙二麻子听说了这一百石大单,连夜派人去镇上连收了三十石陈米,等陈守仁的牛车到时,镇上米市的价格已经悄悄涨了三分。陈守仁这才醒悟——他拉着一百石米招摇过市,等于把"我要买米"的牌匾扛在肩上喊。越招摇,对手越知道,越知道,价格越往不利方向跑。他这一百石米,原本按进价算能赚十二两银子,结果一折腾,缩水到不足七两。

陈守仁在米铺里闷了三天,茶饭不思。长子陈大柱看不下去,嘟囔了一句:"爹,要不咱们分几次卖?"

陈守仁摇头:"金老爷要的就是十天之内到齐,咱们不能拖太久,拖久了米价要是跌下去,又得亏另一头。"

陈守仁遇到的是买卖行当里最难解的一道题——单子太大,一下出手,会把市价砸得变样(这是行里人说的"砸市",本来好好的价,被你一冲就走偏了);可若是拖得久了,市价又可能往反方向跑,等米送齐,黄花菜都凉了。两头都亏,怎么做都亏。

第四天清早,陈守仁忽然把烟杆往桌上一磕:"分。"

他叫来大柱、二柱、三柱三个儿子,再雇了镇上七个靠得住的伙计,凑成一班十人。他把一百石白粳分成十拨,每拨十石,分装在普通麻袋里,外观上与镇上零星交易的米袋并无二致。

接着他定了三道规矩。

头一道:按时辰分。从卯时到酉时,每隔一个时辰,让一拨人赶着驴车从米铺后门出发,走小巷、走田埂、走夜路,十拨人分散在不同时辰上路,绝不扎堆。街坊看见的,只是陈家今天又送了几石零米给某某酒坊、某某面铺,与平日无异。

第二道:按生意分。他让大柱扮成酒坊的伙计、二柱扮成面铺的帮工、三柱扮成寺庙的供米采办,每个去处都说得出名号、说得出用途。孙二麻子派人去镇上打听,听到的都是"陈家今天又给刘家酒坊送了八石""陈家二公子帮城隍庙备了十石香米"——零零散散,合情合理,谁也想不到这是一笔百石大单在暗中进行。

第三道:跟着市面走。陈守仁自己坐镇米铺,每隔半个时辰就让小儿子跑去米市口问一次今日的成交量。成交量大、米市热闹的时辰,就多派一拨上路;成交量小、米市冷清的时辰,就少派一拨,宁可让米在仓里多搁一天。他跟三个儿子说:"市面活,咱们就跟活;市面静,咱们就静。跟着米市的呼吸走,别让人看出咱们的节奏。"

十日之后,一百石白粳按约送入金家村祠堂仓库。金老爷验过成色,点头满意,当场结清银两。陈守仁回家一算账——这回赚到了十一两七钱银子,比头一回那一趟整整多出近五两。

金老爷后来纳闷,问他:"老陈,第一回我看你牛车招摇过市,还当你故意给乡邻做脸面;第二回怎么就悄没声了?"

陈守仁笑了笑:"金老爷,我做了四十年米,最怕的不是米价高米价低,是让人家知道我要买米、知道我要卖米。知道的人多了,价格就不由我了。这一百石米,我没让外人看出来是一笔大单。"

他顿了顿,又说:"拆开来、藏起来、跟着市面走,单子还是那个单子,钱却多赚了五两。"

金老爷似懂非懂地点了点头。陈守仁也没多解释——这种门道,说穿了不值钱,做到了才值钱。

陈守仁没读过什么书,没听过"交易成本"四个字,更不懂什么买卖价差、冲击成本、机会成本。但他用四十年的米行经验,摸到了一条朴素的道理:大买卖最怕张扬,藏锋于市、顺市而动,才能既不砸市、也不误事。这道理,用到哪朝哪代、哪行哪业,都是一样的。


📖 原文定义

投资者在交易过程中,既希望交易不要对市场产生太大的冲击(冲击成本),也不希望因交易时间过长而面临市场价格向不利方向变动或错失交易机会的风险(机会成本)。这对交易执行提出了一个挑战:如何平衡冲击成本和机会成本。为了应对这一挑战,算法交易(Algorithmic Trading)技术应运而生。

算法交易,特别是其中的执行算法(Algorithmic Execution),是指使用计算机算法来优化交易订单执行过程。这类算法通过遵循数量规则、用户指定的基准和约束条件,使用计算机来优化订单的执行路径、时间、价格以及数量。其主要目标是最小化市场影响,降低交易成本,获得最佳价格。

算法交易的执行过程通常如下:交易员把指定交易量的交易指令输入模型,并设定目标(如基准、价格或时间),模型根据指令和目标产生优化过的交易策略,将一个大额的交易拆分成多项小额交易,以尽量减少对市场价格造成的冲击,降低交易成本,并提高交易效率。

时间加权平均价格算法(TWAP):在固定间隔的时间点上平均下单,旨在最小化市场影响并提供平均执行价格。

成交量加权平均价格算法(VWAP):根据市场成交量加权均价下单,以降低交易对市场的冲击。

跟量算法(TVOL):旨在帮助投资者跟上市场交易节奏,若交易量放大则同样放大这段时间内的下单成交量,反之则相应降低。

执行缺口算法(IS):该算法的主要目标是最小化执行缺口。在尽量不造成大的市场冲击的情况下,快速以接近客户委托时的市场价格完成交易。

人的疏忽、贪婪、恐惧难以避免,这些非理性因素对交易带来了不确定性,而算法交易可以最大限度地避免人的影响。

💡 对应点

故事元素 概念对应
陈记米行一次要送一百石白粳 大额订单(算法交易要处理的对象)
一百石分成十拨、十辆大车变成十次小送 拆单:将大额订单拆分为多项小额交易
街坊看到的是"零星卖米" 隐藏交易意图,降低信息泄露造成的市场冲击
父子三路分头送、不同身份 减少大单对市场的冲击,降低冲击成本
不同时辰分散上路 时间加权平均价格算法(TWAP):固定时间间隔分散下单
米市热闹多送、米市冷清少送 成交量加权平均价格算法(VWAP)/ 跟量算法(TVOL):跟随市场成交量节奏
第一回招摇过市、被人看穿涨了三分 一次性大额下单 → 冲击成本高、信息泄露、市场价向不利方向移动
拖得太久米价又跌 机会成本:执行过慢、价格向不利方向变动
第二回十日送齐、净赚十一两七钱 算法交易的最优结果:最小化市场影响、降低交易成本
掌柜不张扬、不急躁、按规矩办 算法交易避免人的贪婪、恐惧、疏忽等非理性因素
老掌柜"跟着米市的呼吸走" 算法按预设规则自动化执行,不被情绪左右

📝 来源:科目二 · 第十章第二节 · 四、算法交易简介