清晨六點,宿舍的燈還關(guān)著,只有電腦屏幕泛出冷光。陳帆推開門進來,腳步?jīng)]停,徑直走到桌前,手指在鍵盤上敲下第一行命令。
日志文件顯示,凌晨三點十二分,數(shù)據(jù)采集任務(wù)中斷。
他皺了下眉,調(diào)出守護進程記錄。系統(tǒng)曾嘗試自動重啟抓取腳本,但緩存目錄為空,后續(xù)流程無法繼續(xù)。他轉(zhuǎn)頭看向張遠的床鋪——人還沒醒,被子堆成一團,一只拖鞋歪在桌角。
“又是你碰的?”陳帆低聲說。
張遠翻了個身,迷糊應(yīng)了句:“啥?”
陳帆沒再問。他從抽屜取出移動硬盤,插入接口,加載昨日完整備份。三小時前丟失的數(shù)據(jù)鏈重新接上,國債行情數(shù)據(jù)庫恢復(fù)完整。他啟動收益率曲線擬合程序,輸入流動性篩選條件,目標(biāo)鎖定在“98國債(8)”上。
這是一只五年期附息債,票面利率6.5%,當(dāng)前二級市場凈價低于理論估值近兩個百分點。系統(tǒng)回測顯示,過去五年中,每當(dāng)出現(xiàn)類似折價,三個月內(nèi)均回歸至合理區(qū)間,平均收益7.1%。
李陽七點二十到宿舍,背著書包,頭發(fā)微濕,像是剛洗過。他站在陳帆身后看了幾分鐘圖表,說:“波動太小,跑不贏通脹。”
“這不是為了賺錢。”陳帆敲下回車,刷新一次模型參數(shù),“是為了驗證信號能不能落地。”
張遠起床后喝了半杯涼水,盯著屏幕上跳動的收益率數(shù)字看了半天,忽然問:“你要我拿錢買這個?”
“五百就行。”陳帆把回測報告調(diào)出來,“只持兩周,如果價格沒漲,到期直接賣。”
“生活費就一千二。”張遠搓了搓臉,“虧了吃啥?”
“不會虧。”陳帆指著屏幕右側(cè)的時間序列圖,“你看它每年二季度都有一次修復(fù)行情,去年、前年都這樣。現(xiàn)在是四月初,時間點對得上。”
李陽蹲下身,撿起掉在地上的U盤,插進主機。他打開本地緩存文件夾,確認數(shù)據(jù)未損壞后才開口:“你們真打算動手?”
“已經(jīng)建模了。”陳帆說,“缺的是執(zhí)行。”
張遠咬著嘴唇,在屋里來回走了兩圈。最后他掏出手機,點開券商APP,輸入賬號密碼,手指懸在轉(zhuǎn)賬框上方。
“輸了可沒法撤。”
“輸吧。”陳帆聲音不高,“錯了我們記下來,下次改。”
五百元轉(zhuǎn)入證券賬戶,三分鐘后,全部買入“98國債(8)”,成交價93.72元。交易成功提示彈出時,張遠長出一口氣,一屁股坐在椅子上。
“我這輩子還沒干過這么懸的事。”他說。
陳帆點擊保存操作日志,命名:“首筆人工決策執(zhí)行_98國債(8)_買入”。后臺同步啟動監(jiān)控腳本,每小時檢查一次持倉市值與市場均價偏離度。
接下來幾天,三人作息依舊。白天上課,晚上輪流守機房,確保爬蟲穩(wěn)定運行。新一批企業(yè)債數(shù)據(jù)已入庫,系統(tǒng)開始構(gòu)建信用風(fēng)險評分模型。張遠每隔幾小時就刷一次賬戶,看浮盈有沒有變化。
第七天,持倉收益達到1.8%。
第十天,突破3.4%。
第十五天收盤,凈值升至95.16元,總收益41元,年化回報率推算超過8.2%。
當(dāng)晚八點,張遠拎著兩箱可樂和一大袋烤串進了宿舍。油紙盒攤在桌上,肉香混著孜然味彌漫開來。
“請客!”他把一瓶可樂塞進陳帆手里,“你說能漲,它就真漲了!”
李陽撕開包裝紙,接過一串雞翅。他咬了一口,抬頭說:“樣本太少,不能說明問題。”
“你還較什么勁?”張遠笑罵,“事實擺在這兒,系統(tǒng)指哪打哪!”
陳帆沒動飲料。他正盯著服務(wù)器狀態(tài)面板,一條紅色預(yù)警突然跳出:
【高危】‘01城投債’主體財務(wù)指標(biāo)惡化,穆迪內(nèi)部評級調(diào)整流程已啟動,預(yù)計7日內(nèi)公告。
他立刻切換加密通道,接入數(shù)據(jù)源核查。預(yù)警基于昨夜抓取的一份地方政府財政簡報,其中披露該平臺公司資產(chǎn)負債率已達89.6%,且連續(xù)三個月未能按時償還信托貸款。系統(tǒng)通過關(guān)鍵詞匹配和關(guān)聯(lián)債務(wù)分析,判定其信用風(fēng)險急劇上升。
“別說話。”陳帆抬手示意。
張遠還在吹牛:“下一輪我準備投五千,要是每月都能賺八個點,一年下來……”
“閉嘴。”陳帆打斷他,手指快速敲擊鍵盤,調(diào)出債券持有人結(jié)構(gòu)圖。
預(yù)警信息來自非公開渠道摘要,原始文件需權(quán)限訪問。但他比對了近期同類城投債的利差走勢,發(fā)現(xiàn)已有資金提前撤離跡象。系統(tǒng)判斷,市場尚未反應(yīng),但窗口期極短。
“這玩意兒會爆。”他說。
李陽放下烤串,湊過來:“你是說,有人要違約?”
“不是‘要’,是‘快’。”陳帆關(guān)閉頁面,拔出U盤,“我們現(xiàn)在知道的,別人還不知道。但不會太久。”
張遠愣住:“那咱們……能做空嗎?”
“不能。”陳帆把U盤收好,“現(xiàn)在沒人信我們,也沒工具可用。”
“那你緊張個啥?”
“我不是緊張。”陳帆看著他,“我是提醒你,剛才那頓燒烤的錢,是因為我們走在前面。但只要慢一步,就會被人反殺。”
屋內(nèi)安靜下來。風(fēng)扇嗡嗡轉(zhuǎn)著,吹動桌角一張打印紙邊緣微微卷起。
李陽低聲說:“所以這次盈利,只是運氣?”
“是積累。”陳帆糾正,“數(shù)據(jù)、邏輯、執(zhí)行,少一個都不行。但有了這些,也不代表永遠正確。就像這只債——我們能看見,別人遲早也能看見。”
張遠低頭看著自己喝剩半瓶的可樂,忽然伸手去拿另一罐。他用力過猛,指尖打滑,整瓶可樂傾斜倒下,褐色液體順著桌沿滴落,在地板上迅速蔓延。
沒人去擦。
陳帆站起身,把服務(wù)器電源調(diào)至低功耗模式,僅保留核心服務(wù)運行。他打開筆記本,新建一個文檔,標(biāo)題寫為“內(nèi)部備忘錄_01城投債風(fēng)險跟蹤”。
李陽收拾背包,動作緩慢但仔細。他把今天做的筆記塞進夾層,又檢查了一遍U盤是否帶離。
張遠終于彎腰撿起空瓶,嘴里還在嘀咕:“下次……至少投三千……”
陳帆沒有反駁。他只是將最新預(yù)警歸檔,設(shè)置每日自動更新提醒。然后關(guān)閉主控界面,拉上背包拉鏈。
窗外路燈亮起,映出三個人影斜斜落在水泥地上。遠處操場傳來跑步聲,間雜著模糊的談笑。
李陽走到門口,回頭看了一眼仍在運行的服務(wù)器指示燈。
綠燈閃爍,頻率穩(wěn)定。
陳帆坐回椅子,打開待辦清單,新增一項:
4. 建立信用風(fēng)險事件響應(yīng)機制
他敲下回車,指尖停在鍵盤上方。
手機震動了一下。
新消息來自林悅,只有四個字:
“小心風(fēng)向。”