一、九点十五分的集合竞价
交易日的开端从不是九点三十分。
真正懂行的人知道,战争在九点十五分就已打响。此刻,国泰证券浦江营业部的VIP交易室里,苏辰面前的六块屏幕上同时刷新着数据流。房间隔音做得很好,门外交易大厅的喧嚣被彻底隔绝,只剩下服务器风扇低沉的嗡鸣,以及他自己平稳的呼吸声。
沈墨靠在门边的控制台旁,手里端着杯黑咖啡,没有加糖。他的目光在苏辰和监控屏幕之间移动——那里实时显示着苏辰账户的所有操作:持仓、可用资金、风险敞口、甚至每一次鼠标点击的坐标。
“还有两分钟。”沈墨看了眼墙上的原子钟,钟面显示09:13:27,“你确定要全仓进场?”
苏辰没有回答。他的视线锁定在中间那块屏幕上,那里是平安银行(000001)与平银转债(127010)的联动报价界面。左侧是正股分时图,右侧是可转债走势,下方滚动着五档盘口数据。
数据面板在视野边缘浮动:
【平安银行】
·昨收:10.28元
·集合竞价现价:10.25元(-0.29%)
·卖一档:10.26元(327手)
·买一档:10.24元(215手)
【平银转债】
·昨收:103.20元
·集合竞价现价:103.15元(-0.05%)
·转股溢价率:1.97%
·隐含波动率:18.3%
数字在跳动。每一秒,盘口都在变化,有人撤单,有人挂新单,买卖力量在看不见的战场上交锋。苏辰的瞳孔微微收缩——这是他在高强度数据处理时的生理反应,视网膜仿佛变成了高刷新率的显示屏,能同时追踪十六个数据点的实时变化。
“记住规则。”沈墨的声音响起,“单日亏损超过5%,我会强制平仓。单笔交易持仓超过总资金30%,需要我二次授权。还有——”
“我知道规则。”苏辰打断他,声音平静,“安静。”
沈墨挑了挑眉,但没再说话。他啜了口咖啡,苦味在舌尖蔓延。这种被一个二十一岁年轻人命令的感觉很新奇,但更让他感到新奇的是——自己居然真的照做了。
09:14:50。
苏辰的右手放在鼠标上,左手悬在键盘数字区上方。手指修长,关节分明,没有任何颤抖。前世经过十二年高强度交易训练形成的肌肉记忆,正在这具年轻身体里苏醒。
他调出昨晚计算好的对冲模型。Excel表格里,公式已经运算完毕,得出最佳建仓比例:
买入平银转债:65,000元(约63手)
融券卖出平安银行:38,000元(约3700股)
这样构建的对冲组合,在股价波动±3%的范围内,理论最大亏损不超过0.8%,而理论最大收益可达2.1%。关键在于时机——必须在两者价差最大的时刻同时完成两笔交易,否则对冲效果会打折扣。
09:15:00。
集合竞价开始。
屏幕上的数字开始疯狂跳动。平安银行的报价从10.25元瞬间砸到10.20元,买盘涌出,又弹回10.22元。平银转债相对稳定,在103.10-103.20元之间窄幅震荡。
苏辰的左手动了。手指在数字键上敲击,输入价格和数量:
第一单:买入平银转债
价格:103.18元
数量:63手
下单时间:09:15:17
几乎在同一秒,右手鼠标点击融券卖出界面:
第二单:融券卖出平安银行
价格:10.23元
数量:3700股
下单时间:09:15:18
两笔委托同时挂入系统。
沈墨的身体微微前倾。他面前的监控屏上,苏辰账户的“待成交委托”栏亮起两个红色条目,时间戳相差仅0.3秒。这种精准的同步操作,需要预判盘口变化、计算网络延迟、并在极短时间内完成两次决策——绝不是新手能做到的。
“你怎么确定这个价位能成交?”沈墨忍不住问。
“盘口深度。”苏辰盯着屏幕,语速很快但清晰,“平安银行在10.23元有四百多手托单,但都是程序化单,弹性很弱。只要大盘低开,这些单子会被迅速吃掉。可转债那边,103.18元是昨日成交密集区,做市商在这个位置有持续报价义务。”
仿佛为了验证他的话,09:15:42,平安银行的10.23元卖单被一笔三百手的大单砸穿,股价瞬间下探10.21元。几乎同时,苏辰的融券卖单成交——系统显示成交价10.229元,比挂单价还要好一点。
三秒后,平银转债的买单也成交了,成交价103.17元。
两笔交易完成时间差:3.2秒。
账户持仓更新:
·平银转债:63手,成本103.17元
·平安银行融券:3700股,成本10.229元
·总风险敞口:0.2%(模型计算值)
沈墨看着这些数字,沉默了整整十秒。然后他说:“你昨晚没睡觉,就是在算这些?”
“睡了四小时。”苏辰说,目光没有离开屏幕,“足够了。”
09:25,集合竞价结束。平安银行定在10.22元,平银转债103.19元。苏辰的对冲组合已经浮盈0.11%——看起来很少,但这是无风险收益,且年化收益率超过20%。
更重要的是,这个头寸像一个锚,稳稳地扎在市场里。现在,他可以动用剩余的约两万元现金,去做一些更有侵略性的操作。
“接下来做什么?”沈墨问。他的语气已经从监督变成了询问。
苏辰切换屏幕,调出另一组股票列表。那是他昨晚筛选出的五只标的,共同特点是:市值小(30亿以下)、有题材(互联网金融、移动医疗、智能硬件)、技术形态处于突破前夜——最重要的是,他记得这些股票在接下来一周内都有超过15%的涨幅。
但全买是不可能的。资金太少,分散投资只会稀释收益。
他需要选出最强的那一只。
(多维度数据分析)
五只股票的实时数据在屏幕上并排显示:
1. 东方财富(300059)- 互联网金融龙头,昨日收18.75元
2. 同花顺(300033)- 炒股软件概念,昨日收22.10元
3. 乐视网(300104)- 视频网站,昨日收32.45元(停牌中)
4. 万达信息(300168)- 智慧城市,昨日收26.88元
5. 华谊兄弟(300027)- 影视传媒,昨日收23.67元
苏辰闭上眼睛。记忆库开始检索2014年9月中下旬这些股票的具体走势:
·东方财富:9月22日央行降息后单周暴涨37%
·同花顺:跟随东方财富,但弹性稍弱
·乐视网:9月23日复牌,连续三个涨停后高位震荡
·万达信息:慢牛走势,一周涨幅约12%
·华谊兄弟:受国庆档期预期,温和上涨
收益最高的是东方财富,但风险也最大——如果记忆出现偏差,或者时间线有细微变化,高杠杆操作可能直接爆仓。
乐视网确定性最强,但明天才复牌,买不进去。
那么……
他睁开眼睛,手指在键盘上敲下代码:300059。
“你要买东方财富?”沈墨皱眉,“这只股票波动率太大,而且互联网金融板块最近监管风声紧。”
“所以才有机会。”苏辰调出东方财富的日K线图。
图形显示,该股从8月底的16元起步,已经涨到18元以上,涨幅超过15%。传统技术分析会认为这是高位,风险大于机会。但苏辰知道,这仅仅是开始——到10月底,这只股票会涨到28元。
更重要的是,他记得一个关键细节:今天下午两点左右,会有一家知名券商发布深度研报,首次给予东方财富“买入”评级,目标价25元。报告发布后,股价会在尾盘急拉4%。
现在价格:18.78元。
他还有约两万元现金。如果全仓买入,能买约10600股。如果今天尾盘真的涨4%,浮盈就有八百多元。明天再冲高时卖出,可以滚动到下一只股票。
但这样太慢。
苏辰看向融资金额栏。沈墨给他的五万融资额度,只用了一部分做对冲组合。还剩约三万可用。
一个危险的念头浮现。
“沈经理。”他开口,声音依然平稳,“我申请临时提高融资杠杆。今天之内,1:2。”
沈墨的咖啡杯停在半空:“理由?”
“东方财富,今天尾盘会拉升。我有把握。”
“把握?”沈墨放下杯子,走到苏辰身边,看着屏幕上的K线图,“苏辰,我承认你刚才的对冲操作很漂亮。但那是套利,这是投机。两者不是一个概念。”
“我知道。”苏辰抬起头,与沈墨对视,“所以我才申请。如果你不同意,我就用自有资金做,赚少一点而已。”
两人目光交锋。沈墨看到那双眼睛里没有任何狂热,没有赌徒常见的贪婪或恐惧,只有一种近乎冷酷的理性——像是在解一道数学题,无论答案是什么,都不会影响解题者的情绪。
“你要多少?”
“两万本金,配四万融资,总共六万。”苏辰说,“全仓东方财富。今天收盘前卖出,绝不隔夜。”
沈墨看了眼监控屏上的时间:09:31,正式交易已经开始。东方财富的股价在18.76-18.82元之间震荡,成交量温和放大。
“如果亏了呢?”
“亏损超过10%,你可以强行平仓。盈利部分,我依然分你20%。”苏辰顿了顿,“但如果赚了,我要你承诺一件事。”
“说。”
“接下来一周,我需要随时调用不超过二十万的融资额度。时间窗口可能只有几分钟,不能等层层审批。”
沈墨沉默。他的手指在控制台上敲击,调出东方财富的实时资金流向数据:主力资金净流入约八百万,散户净流出五百万,典型的吸筹形态。
他又看了眼苏辰。这个年轻人坐在交易椅上,背挺得笔直,肩膀放松,没有任何紧绷感——这是真正自信的表现,不是虚张声势。
“成交。”沈墨最终说,“但我会把风控阈值调到8%。一旦触发,系统自动强平,没有商量余地。”
“可以。”
授权通过。苏辰账户的可用融资额度瞬间提升。他没有丝毫犹豫,直接调出下单界面:
买入:东方财富(300059)
价格:18.80元(市价)
数量:32000股
金额:60,160元
委托发出。由于金额不大,成交很快完成。平均成交价18.79元,比当前市价还低一分钱。
现在,他的持仓变成了:
·平银转债:63手(对冲组合)
·平安银行融券:3700股(对冲组合)
·东方财富:32000股(投机头寸)
·总仓位:96%(含融资)
·风险度:高
沈墨看着这些数字,忽然笑了:“你知道你现在像什么吗?”
“什么?”
“像走在钢丝上的人,手里还拿着火把。”沈墨说,“很美,也很危险。”
苏辰没有回应。他的注意力已经完全集中在屏幕上。东方财富的股价开始波动,从18.79元慢慢爬升到18.83元,又回落至18.81元。成交量柱一根根弹出,每根代表一分钟的成交额。
时间09:47。
距离下午那篇研报发布,还有四个多小时。
这期间,股价可能下跌,可能震荡,也可能提前启动。他需要监控的不仅是东方财富,还要关注大盘走势、板块情绪、甚至政策风声。
他切换出一个新的窗口:财经新闻实时推送。这是他自己编写的一个简单爬虫程序,监控着七家主流财经媒体的头条更新。
09:51,第一条重要新闻弹出:
【央行今日开展1200亿元14天期逆回购操作,中标利率3.70%】
逆回购放量,这是宽松信号。股市通常会有正面反应。
果然,大盘指数开始缓慢爬升。东方财富跟涨,冲到18.88元。苏辰的持仓浮盈已经超过三百元。
但他没有任何喜悦表情。浮盈只是数字,没卖出前随时可能变浮亏。
10:30,第二波新闻:
【传证监会将放开券商代销金融产品限制,正在内部征求意见】
互联网金融板块集体异动。东方财富直线拉升,三分钟内涨到19.10元,涨幅1.7%。
苏辰的浮盈突破一千元。
沈墨吹了声口哨:“运气不错。”
“不是运气。”苏辰说,“这个消息我昨晚就预判到了。上周证监会主席在内部会议上的讲话稿泄露了部分内容,提到‘要丰富券商业务范围’。”
“你连这种内幕都知道?”
“我知道很多事情。”苏辰平静地说,“但大多数时候,我不需要内幕。只需要把公开信息拼凑起来,就能看到别人看不到的图案。”
这话半真半假。他确实有前世的记忆,但也确实在锻炼自己用公开信息分析的能力——因为记忆可能出错,但逻辑不会。
股价在19.10元附近震荡了半小时。苏辰在此期间一动不动,像一尊雕塑。只有眼睛在屏幕之间快速移动,监控着价量关系、资金流向、板块轮动。
11:20,离上午收盘还有十分钟。
突然,东方财富的盘口出现异动。卖一档19.11元的位置,连续出现几笔百手以上的卖单,像是有人在刻意压盘。
苏辰的眼神锐利起来。他调出Level-2数据,看到这些卖单来自同一个营业部席位:中信证券北京望京营业部。这是个知名的游资席位。
“有人想压价吸筹。”沈墨也看出了端倪,“这个位置压盘,应该是想在下午拉高前多拿点筹码。”
苏辰点头。他看了眼自己的持仓,浮盈已经有一千八百多元。如果现在卖出,可以锁定利润,避开下午可能的风险。
但他没有卖。
因为他知道,下午的拉升会比这些人预想的更猛。
“你要扛过午盘?”沈墨问。
“嗯。”
“不怕他们继续砸?”
“他们不敢砸太深。”苏辰指着盘口数据,“你看,19.08元以下就有密集买盘。如果砸穿这个位置,会有其他资金进来抢筹,他们就拿不到便宜货了。”
话音未落,股价果然在19.08元止跌,开始缓慢回升。到上午收盘时,收在19.12元。
苏辰的浮盈:2106元。
沈墨看了眼账户,又看了眼苏辰:“现在我相信你有天赋了。”
“这只是开始。”苏辰站起身,活动了一下僵硬的脖颈,“下午才是重头戏。”
“你去哪?”
“吃饭。”苏辰走向门口,“然后去见李浩。下午的交易,我已经设置好了条件单,到价位自动触发。”
沈墨愣住:“你不盯盘?”
“该做的都已经做了。”苏辰拉开门,“剩下的,交给市场。”
他走出交易室,留下沈墨一个人对着六块闪烁的屏幕。
走廊里,苏辰看了眼手机。有一条未读短信,来自李浩:
“原型优化完成,帧率稳定在25FPS,功耗再降15%。但发现新问题:多滤镜叠加时内存泄漏。需要当面讨论解决方案。另外……我有个朋友想见你,他说能解决我们的服务器成本问题。”
苏辰回复:“两点,咖啡馆。带你朋友来。”
发送。
然后他走进电梯,按下1楼。金属门缓缓关闭,镜面里映出他年轻而冷静的脸。
上午赚了两千元,这只是开始。
下午的研报行情,才是真正的大餐。
而晚上……
他想起沈墨给的那些照片。陈轩和柳婷,林国栋的黑色奔驰,还有那个在凌晨三点守在会所外的保镖。
复仇的网正在收紧,但猎物已经开始警觉。
接下来的每一步,都必须更加精准。
电梯到达一楼,门开。交易大厅的喧嚣扑面而来,散户们围在行情大屏前,有人兴奋,有人沮丧,有人茫然。
苏辰穿过人群,走向大门。阳光从玻璃门外涌入,有些刺眼。
他眯起眼睛,踏入九月的正午。
战斗才刚刚开始。
二、代码与筹码
创客咖啡馆午后两点的光线呈现出一种奇异的质感——被老式格子窗分割成菱形的光斑,斜铺在深色木地板上,像某种等待破译的密码。空气里除了咖啡因的焦香,还弥漫着一种属于2014年科技创业圈的特定气味:新拆封的电子产品包装味、3D打印树脂的微甜化学气味、以及熬夜后年轻人身上散发出的、混合着疲倦与亢奋的荷尔蒙气息。
苏辰推开玻璃门时,李浩已经坐在老位置。他身边多了一个人。
那个人大约二十七八岁,穿着不合时宜的黑色皮夹克,领口露出磨损的棉T恤边缘。他有一张过于平凡的脸——五官的每一个单独部分都普通得让人过目即忘,但组合在一起却产生了一种奇异的辨识度:眼睛间距略宽,鼻梁不高但笔直,嘴唇很薄,抿成一条几乎没有弧度的直线。他正用一把多功能军刀修剪指甲,动作缓慢而专注,刀刃在阳光下偶尔闪过冷光。
“苏辰。”李浩站起身,动作比平时急促,“这是王磊,我本科室友。现在做……IDC(互联网数据中心)资源整合。”
王磊抬起头,目光像测量仪器般扫过苏辰全身。那眼神不是审视,是扫描——从鞋子的磨损程度(廉价但干净)到衬衫的领口状态(熨烫过但布料一般),再到手腕上的电子表(基础款),最后停留在眼睛上。整个过程持续三秒半。
“李浩说你懂技术。”王磊开口,声音是那种长期吸烟导致的低沉沙哑,但吐字异常清晰,“还说你有个项目,需要大量服务器资源。”
他没有说“你好”,没有握手,直接切入主题。这种社交方式要么是极度内向,要么是极度自信——苏辰判断是后者。
“坐。”苏辰拉开椅子。木椅腿在地面摩擦出短促的声响,隔壁桌一个正在写商业计划书的年轻人不满地抬头看了一眼,又埋头继续敲打键盘。
三人落座,形成一个不规则的三角。李浩的笔记本屏幕上,视频处理程序的调试界面正实时运行,帧率计数器稳定在25.1FPS。王磊的军刀已经收起来,双手交叠放在桌面上,手指修长,指节粗大,右手虎口处有一道淡白色的旧疤。
“李浩说你需要解决内存泄漏问题。”苏辰没有寒暄,直接看向李浩的屏幕,“问题出现在多滤镜叠加的第几层?”
李浩眼睛一亮——这才是他喜欢的对话方式。“第三层。当我同时加载风格迁移、边缘增强和色彩校正三个滤镜时,内存占用会以每秒1.3%的速度递增,十分钟后崩溃。单滤镜运行正常。”
他调出代码编辑器,指向一段函数:“问题应该出在这里。我怀疑是GPU纹理内存没有及时释放,但检查了所有glDeleteTextures调用,理论上都闭环了。”
苏辰俯身细看代码。那是OpenGL ES 2.0的着色器程序,用于在移动端GPU上做实时图像处理。代码写得干净利落,注释详细,变量命名规范——典型的学院派风格,严谨但缺乏工程化的脏技巧。
“你把每个滤镜当作独立管线处理。”苏辰说,“每次切换都重新编译着色器程序?”
“对,为了灵活性——”
“这就是问题。”苏辰从背包里拿出自己的笔记本,开机,打开一个本地文档,“看这个。2013年苹果WWDC开发者大会,有个Session讲iOS上的Metal API。里面提到一个技巧:预编译所有可能的着色器组合,缓存起来。虽然占用更多初始内存,但运行时零编译开销,而且能避免大量的上下文切换。”
他调出一张架构图,那是他昨晚根据2026年成熟的移动端图形优化方案,反向推导出的2014年可行方案:
```
【多滤镜叠加优化方案】
1. 预处理阶段:编译12种基础滤镜着色器,存入缓存
2. 运行时:根据用户选择的滤镜组合,从缓存中调用预编译好的复合着色器
3. 内存管理:采用LRU(最近最少使用)算法自动清理缓存
4. 备选方案:如果设备内存不足,回退到动态编译模式(兼容低端机)
```
李浩盯着那张图,手指开始无意识地在桌面上画圈——这是他深度思考时的标志性动作。“预编译……缓存……但用户可能的滤镜组合有上百种,难道全部预编译?”
“只编译最常用的20种组合。”苏辰说,“根据用户行为数据分析,80%的用户只会使用不到10种固定搭配。我们可以在后台悄悄收集数据,动态调整缓存策略。”
“隐私问题呢?”
“本地计算,不上传。只记录滤镜使用频率的匿名统计。”