火車駛出站臺(tái),軌道的震動(dòng)逐漸平穩(wěn)。陳帆靠在窗邊,目光落在對(duì)面座位上那臺(tái)被棉被裹住的服務(wù)器機(jī)箱上。車廂燈光昏黃,照著膠帶纏繞的接縫處微微反光。他沒再看窗外,只是把筆記本包往懷里收了收。
三個(gè)小時(shí)后,深圳北站。
搬運(yùn)工人將推車抬下列車,輪子碾過站臺(tái)邊緣時(shí)發(fā)出沉悶的響聲。他一路跟到出口,確認(rèn)設(shè)備無(wú)損,隨即攔了輛出租車。司機(jī)看著后座兩個(gè)沉重的鐵箱,皺了下眉,但沒多問。車子穿過城市主干道,拐進(jìn)一片老舊工業(yè)區(qū),最終停在一棟灰白色外墻的小樓前。
這是他提前租下的臨時(shí)實(shí)驗(yàn)室,原是一家電子廠的質(zhì)檢間。門鎖換了新的,鑰匙插進(jìn)去轉(zhuǎn)動(dòng)時(shí)有些滯澀。他推開鐵門,空曠的房間迎面而來(lái),水泥地面還留著叉車劃過的痕跡。墻角堆著幾塊廢棄電路板,空氣中浮著淡淡的金屬味。
他立刻開始布線。兩臺(tái)服務(wù)器并排安置在加固支架上,電源接通,指示燈逐一亮起。網(wǎng)線插入交換機(jī)端口,本地局域網(wǎng)建立完成。他從背包取出一張光盤,貼著手寫標(biāo)簽:“System_v3.2”,放入光驅(qū)。
系統(tǒng)啟動(dòng)界面跳出,Windows NT 4.0的藍(lán)色登錄框出現(xiàn),輸入密碼后進(jìn)入桌面。數(shù)據(jù)庫(kù)服務(wù)未能自動(dòng)加載,彈出驅(qū)動(dòng)缺失提示。他打開命令行窗口,逐項(xiàng)注冊(cè)SQL Server所需的DLL文件,修復(fù)路徑引用錯(cuò)誤。三小時(shí)過去,屏幕終于顯示“Database Connected”。
他插入林悅寄來(lái)的U盤,導(dǎo)入最新數(shù)據(jù)包。校驗(yàn)進(jìn)度條走到盡頭,狀態(tài)顯示“完整”。此時(shí)已是深夜,窗外廠區(qū)徹底安靜下來(lái),只有主機(jī)風(fēng)扇持續(xù)低鳴。
他沒有休息。雙擊桌面上的“PredictEngine_Alpha”圖標(biāo),程序啟動(dòng),界面簡(jiǎn)潔,僅有一個(gè)輸入框和運(yùn)行按鈕。這是他在臨行前重構(gòu)的核心預(yù)測(cè)模塊,首次在深圳的硬件環(huán)境下運(yùn)行。
點(diǎn)擊“開始任務(wù)”,模型載入訓(xùn)練集。內(nèi)存占用瞬間飆升至百分之九十以上,系統(tǒng)彈出警告:“虛擬內(nèi)存不足,進(jìn)程已終止。”
他盯著報(bào)錯(cuò)信息,手指在鍵盤上頓了兩秒。奔騰III 800MHz的處理器性能足夠,但512MB內(nèi)存必須精打細(xì)算。他關(guān)閉遠(yuǎn)程訪問端口,暫停所有非必要后臺(tái)服務(wù),釋放出128MB可用空間。隨后修改模型參數(shù),將原始數(shù)據(jù)分塊處理,啟用增量學(xué)習(xí)模式。
重新運(yùn)行。
進(jìn)度條緩慢推進(jìn),CPU使用率穩(wěn)定在75%左右。他調(diào)出資源監(jiān)控面板,觀察內(nèi)存波動(dòng)曲線。二十分鐘后,負(fù)載趨于平穩(wěn),任務(wù)進(jìn)入最后階段。
三十分鐘后,屏幕中央跳出綠色提示:“Prediction Complete”。
他靠回椅背,閉眼兩秒,再睜眼時(shí)已恢復(fù)冷靜。這是第一次,整個(gè)預(yù)測(cè)流程在半小時(shí)內(nèi)完成——此前在舊設(shè)備上,同樣的任務(wù)需要兩個(gè)小時(shí)。
他立即調(diào)取輸出結(jié)果。模型對(duì)近期市場(chǎng)趨勢(shì)的判斷清晰呈現(xiàn):波動(dòng)加劇,資金活躍度上升,政策信號(hào)密集釋放。一條加粗紅線標(biāo)注出關(guān)鍵節(jié)點(diǎn)——“5月19日前后,存在顯著上漲概率”。
他放大該區(qū)間數(shù)據(jù),發(fā)現(xiàn)模型不僅捕捉到了成交量異動(dòng),還識(shí)別出多只藍(lán)籌股同步出現(xiàn)買入信號(hào)。這不是簡(jiǎn)單的歷史擬合,而是基于多個(gè)維度變量的綜合推演。
他決定做一次回測(cè)驗(yàn)證。
輸入1998年5月1日至15日的全部市場(chǎng)數(shù)據(jù),啟動(dòng)獨(dú)立測(cè)試任務(wù)。這一次,他手動(dòng)鎖定了外部變量干擾,僅保留基本面與交易行為參數(shù)。四十分鐘后,結(jié)果返回。
屏幕上,一個(gè)紅色標(biāo)記赫然浮現(xiàn):“政策利好窗口期:5月19日前后,上證指數(shù)漲幅≥5%”。
他盯著這行字,眉頭微蹙。這個(gè)結(jié)論太精確了,幾乎像是預(yù)知未來(lái)。他懷疑是否因訓(xùn)練集包含后續(xù)數(shù)據(jù)導(dǎo)致泄露,或是權(quán)重分配過度傾斜某一變量。
他清空緩存,換用另一組獨(dú)立樣本進(jìn)行三次重復(fù)測(cè)試。每次調(diào)整初始參數(shù),避免路徑依賴。三次結(jié)果高度一致,關(guān)鍵節(jié)點(diǎn)均指向5月19日。
模型穩(wěn)定性成立。
他調(diào)出變量貢獻(xiàn)度分析圖,發(fā)現(xiàn)影響判斷的主要因素并非單一指標(biāo),而是財(cái)政支出增速、國(guó)債發(fā)行節(jié)奏與券商凈買入量的協(xié)同變化。這三者在過去兩周內(nèi)同時(shí)出現(xiàn)拐點(diǎn),被模型識(shí)別為“復(fù)合型政策驅(qū)動(dòng)信號(hào)”。
他的手指懸在鍵盤上方,遲遲未落。
就在這時(shí),手機(jī)震動(dòng)起來(lái)。
來(lái)電顯示是林悅。
他接通,聲音很輕:“喂。”
“你預(yù)測(cè)的‘5·19行情’,真的會(huì)發(fā)生嗎?”她的語(yǔ)氣不像在質(zhì)疑,更像是在確認(rèn)某種預(yù)感。
他望著屏幕上的回測(cè)圖,沉默了幾秒。
“三天后,就知道了。”他說完,掛斷電話。
房間里又只剩下機(jī)器運(yùn)轉(zhuǎn)的聲音。他打開系統(tǒng)日志,在最新條目下輸入備注:“算力釋放,模型初具認(rèn)知能力。”
然后新建一個(gè)文檔,命名為“Policy_Detection_Model_V1”。他開始拆解當(dāng)前模型的決策邏輯,準(zhǔn)備構(gòu)建專門用于政策敏感度分析的子模塊。第一步是定義政策事件的量化標(biāo)準(zhǔn):央行公告、財(cái)政部發(fā)文、交易所規(guī)則變更……每一類都要轉(zhuǎn)化為可計(jì)算的數(shù)據(jù)特征。
他剛寫下第一條規(guī)則,手機(jī)再次響起。
這次是短信。
林悅發(fā)來(lái)一組數(shù)字:今日滬深兩市新增開戶數(shù)同比增長(zhǎng)47%,單日成交額突破80億,創(chuàng)年內(nèi)新高。
他看完,沒有回復(fù)。起身走到服務(wù)器旁,檢查硬盤讀寫狀態(tài)。主存儲(chǔ)單元運(yùn)行正常,備份鏈路也已同步開啟。他拔下U盤,放入抽屜鎖好。
回到電腦前,他重新加載預(yù)測(cè)任務(wù),加入最新數(shù)據(jù)流。進(jìn)度條再次啟動(dòng),緩緩向前推進(jìn)。
熒光映在他的臉上,眼神專注而清醒。
風(fēng)扇低聲旋轉(zhuǎn),主機(jī)面板上的指示燈有節(jié)奏地閃爍。
他敲下最后一行代碼,按下回車。