捷運到站的鈴聲響第二次,我才把筆電闔上。螢幕最後停在那個數字上——夏普值 0.31,比昨晚睡前多跑的那一版還低了一截。車廂裡沒有人知道,這個穿著米白色針織衫、揹著沒有任何標誌的帆布袋、看起來像是準時下班的普通上班族的人,口袋裡那支手機,此刻正安靜地跑著一個牽動九位數部位的策略回測。我喜歡這種落差,喜歡沒有人知道的感覺,比喜歡被知道的感覺,多一點。
模型不會說謊,但也不會安慰人
做量化這行久了,會養成一種近乎潔癖的誠實。回測結果不好看,就是不好看,沒有「其實還可以啦」這種說法存在的空間。你可以換參數、換窗口、換因子,但數字最終只會告訴你一件事:這個假設,能不能在過去的時間裡活下來。活不下來,就是活不下來,沒有委婉的講法。
我常常覺得,這種誠實反而是一種溫柔。人跟人之間的話,太容易被修飾得失去意義——「再看看」、「不排斥」、「隨緣」,聽起來留了餘地,其實什麼都沒講。模型不會這樣對我,它冷冷地把 0.31 丟出來,我也就冷冷地接受,然後想,是不是哪個變數的滯後期抓錯了。這種對話比大部分我談過的話都要誠懇。
這大概也是為什麼,約會的時候我很難把那個習慣關掉。對方講到第三句話,我腦子裡已經默默在記錄樣本——語速穩不穩、話題會不會突然跳轉、提到前任的時候瞳孔有沒有放大。有人覺得這樣很可怕,我倒覺得,比起事後才發現自己被回測狠狠打臉,先做好盡職調查,才是對彼此比較負責任的做法。浪漫這件事,我不排斥,但浪漫不該是放棄判斷力的藉口。
0.1 克的糖
回家路上繞去了一趟超市,買了新的電子秤——舊的那台,昨晚秤糖粉的時候飄了 0.2 克,我用了整晚都不太安心。做法式甜點這件事,某種程度上跟寫策略很像:你以為自己在追求「好吃」,但真正在追求的,其實是「可預期」。同一份可麗露,今天做跟下週做,如果口感不一樣,那不是靈感的浪漫,那是誤差沒被控制好。
我知道這聽起來有點反浪漫。烘焙在很多人心裡是療癒、是隨性、是把麵糊倒進模具那種毫無壓力的過程。但我的療癒剛好相反——是在秤出精準到小數點後一位的糖量之後,那種「我對這件事有絕對掌控」的踏實感。忙碌一整週,能掌控的事情不多,那就把能掌控的那 0.1 克,做到心安理得。
草莓馬克杯裡的燕麥拿鐵已經涼了,我也沒特別想再熱一次。有些東西涼了也無所謂,重要的不是溫度,是它一直在那裡,沒有被誰動過。
桌上的兩個世界
螢幕左邊是三個終端機視窗,跑著回測、跑著另一個還在收斂中的因子模型;螢幕右邊,站著一整排吉伊卡哇——本體、小八貓、烏薩奇,排成一列,其中一隻的耳朵已經被我不小心壓歪過,但我沒有換新的,就這樣讓它歪著。旁邊是草莓馬克杯,裡面通常是燕麥拿鐵,偶爾是普洱茶,取決於那天的模型收斂得順不順。
同事第一次看到這張桌子的時候,愣了兩秒,大概是沒料到寫出那份被總監在會議上稱讚「邏輯乾淨到像教科書」的模型的人,桌上會擺著這些東西。我後來想過,這種反差對我來說其實不是「反差萌」這麼簡單的事,比較像是一種提醒——提醒自己不要活成只剩下 KPI 跟回測績效的人。粉白色的機械鍵盤敲起來聲音比一般鍵盤悶一點,我喜歡那個悶悶的聲音,像是在提醒手指:慢一點,這不是在打仗。
有次一個做交易的朋友問我,桌上這些東西會不會讓客戶覺得不夠專業。我說,如果一個人要靠我桌上有沒有玩偶來判斷我的模型準不準,那他大概也不會是我想長期合作的客戶。專業從來不是靠桌面乾不乾淨證明的,是靠數字證明的——這句話講出來的時候,我自己都覺得有點像在自我說服,但後來想想,好像也沒錯到哪裡去。
關於我讀的那些書
寫東西這件事,某種程度上是被讀過的書養出來的習慣,不是天生的。我書架上排得最舊、書背最軟的那幾本,是張愛玲、是三毛、是村上春樹,後來加了東野圭吾跟王文興,再後來是蔡康永的幾本散文。這個組合乍看很雜——一個寫盡蒼涼人情的,一個把流浪寫成日常的,一個把孤獨寫得很安靜的,一個把懸疑寫得很冷的,一個實驗語言實驗到讓人重新學怎麼讀中文的,最後一個把說話寫得比說話本身還誠懇。但我後來發現,他們有一個共通點:都不害怕把一件小事,寫得比它表面上的份量還要重。
我寫量化報告的時候,被訓練成要把所有東西壓縮成一個數字、一張圖表、一句結論,越精簡越好,形容詞是累贅,情緒是雜訊。但寫這種東西的時候,我允許自己反過來——允許一個 0.1 克的誤差被寫成一整段,允許捷運上的一句鈴聲被寫成開場。這大概就是為什麼我需要這個地方,需要一個容許形容詞存在、容許情緒不是雜訊的地方。回測要求我把雜訊濾掉,寫作剛好相反,要求我把雜訊留下來,因為雜訊常常才是真的。
張愛玲有一句話我常常想起——那種把繁華寫得蒼涼、把蒼涼寫得雲淡風輕的本事,我學不來,但我學到了她看細節的角度:她不會直接告訴你一個人有多寂寞,她會告訴你那個人怎麼疊一條毛巾。我後來寫東西也試著這樣做——不直接說今天壓力有多大,改成寫我把電子秤歸零歸了三次;不直接說對家族聚餐感到疲憊,改成寫我笑笑帶過的那個表情維持了多久。細節比形容詞誠實,這大概是我從她身上偷學到,用得最久的一招。
有時候會想到外太空
今天下午開會前的空檔,我看到一則新聞,講某個太空探測器又傳回了幾張很遠很遠的照片。我盯著那張照片看了大概十秒,腦子裡冒出一個很不合時宜的念頭:如果那顆探測器也在「回測」,它的樣本數大概是全宇宙最孤獨的一種——只有一次機會,沒有歷史資料可以驗證假設,飛出去了就是飛出去了,錯了也沒辦法重新跑一次。
我們做金融模型的人很幸運,可以拿過去十年的數據反覆驗證,錯了可以說「這版不算」,重新調參數再來一次。但有些決定沒有回測的餘地——比如要不要在某個場合說出自己真正的姓氏,比如要不要在一段關係裡多相信一次直覺而不是先做盡職調查。這些事沒有歷史數據可以借用,每一次都是樣本數為一的實驗。想到這裡忽然有點理解,為什麼有些人寧願依賴星座、依賴塔羅、依賴任何一種能給出答案的系統——不是真的相信那套邏輯,是因為面對樣本數為一的決定時,人會忍不住想找一個外部的東西幫忙分攤那份不確定。
我沒有走到那一步,但我理解那個衝動——這大概也是為什麼,即使我對「沒有回測餘地」的決定感到不安,還是會選擇做,而不是全部都留給可以量化的事情。
穿無 Logo 的衣服,其實是一種論證
家裡的人到現在還是不太理解,為什麼我情願擠捷運,也不太願意讓司機接送到公司樓下。他們的邏輯很直接:都有資源了,為什麼不用。我沒辦法跟他們解釋清楚一件事——如果我今天的成績、我寫的模型、我熬夜改出來的那行代碼,全部都要在「反正她家裡有錢」這句話後面打折扣,那我寧願讓所有人先不知道那句話。
低調,對我來說從來不是美德的展示,是一種論證方式。我想證明的東西很簡單:把姓氏拿掉之後,我剩下的東西還站不站得住。這聽起來像是在跟誰賭氣,但其實比較接近一種持續進行中的實驗——樣本數還不夠,還不能下結論,所以我還在收集數據,方法就是繼續穿這件沒有標誌的針織衫,繼續擠六點半的捷運,繼續在沒人知道的情況下,把回測跑到收斂為止。
上週去了一趟巴黎,只為了一瓶當地才買得到的香水。訂機票的時候完全沒有猶豫,落地之後也沒有拍照發任何地方。這兩件事看起來很矛盾——說好的低調,怎麼還說走就走地飛去歐洲。但我後來想清楚了,這兩件事其實是同一件事:低調針對的是「被看見」,不是「花錢」。我可以毫不猶豫地花這筆錢,前提是沒有人需要因此知道我花了。奢侈這件事,一旦拿去交換注目,就貶值了。
家裡上一次家族聚餐,長輩又提起集團裡有個職缺,語氣輕描淡寫,好像在講今天天氣不錯。我照例笑笑帶過,心裡想的卻是:如果我真的坐上那個位置,往後所有人稱讚我做得好的時候,那句稱讚裡永遠會摻著一句沒說出口的「畢竟是家裡的女兒」。我情願現在這樣,讓稱讚裡只有稱讚本身,沒有摻雜任何我出生就帶著的東西。這大概是我目前唯一,不需要回測、不需要驗證,就敢百分之百確定的一項決定。
那次沒成功的可麗露
不是每次都精準的。上個月有一批可麗露,外殼該有的那層深褐色脆殼完全沒出現,整批軟趴趴的,像沒睡醒。我把烤箱溫度、模具材質、麵糊靜置時間全部列出來檢查,跟平常抓一個失效的策略沒兩樣——先假設是某個變數的問題,一項一項排除。查到最後才發現,問題出在我自己:那幾天連續熬夜改一份風控報告,量奶油的時候手抖,秤重數字其實沒對準,我以為自己看對了,其實眼睛已經很累,多看漏看了一位小數點。
發現真正原因是我自己不夠清醒,而不是流程哪裡有漏洞,那種挫敗感比策略回測失敗還難受。策略錯了,我可以說是市場結構變了,是假設本來就有極限;但可麗露烤壞了,沒有任何客觀理由可以幫我開脫,就是那天的我,沒有把自己照顧好。後來我把那批全部處理掉,沒有留下來勉強吃完,也沒有拍照。有些失敗不值得被紀念,只值得被記住教訓——這次的教訓很簡單:連續熬夜之後,不要碰電子秤。
隔天重做了一批,這次特意提前把材料秤好放進冰箱冷藏,隔天清醒的狀態下才開始烤。出爐那一刻,脆殼裂開的聲音很清楚,跟教學影片裡的一模一樣。我對著那批完美的可麗露,第一個念頭居然不是開心,是鬆一口氣——像是重新確認了一次,只要肯把條件控制好,結果還是可以預期的。這種確認感,某種程度上比可麗露本身還讓我滿足。
倒掛的十五分鐘
晚上七點半,去了固定去的那間空中瑜伽教室。倒掛在絲綢上的那十五分鐘,是我一天裡少數不能同時想事情的時候——不是因為多專注,是因為血液全部衝到頭部的時候,腦子其實沒辦法思考太複雜的東西,連回測結果都想不起來。這大概是我這麼堅持去上課的真正原因,不是天鵝頸,也不是直角肩,是那十五分鐘裡,我被迫什麼都不是——不是工程師,不是誰的女兒,甚至暫時不太算是我自己,只是一個倒掛著、被地心引力重新排列的身體。
教練說我的線條進步很多,肩胛骨終於不會在下犬式的時候聳起來。我聽了很開心,但開心的原因大概跟她想的不太一樣——不是因為線條變好看,是因為那代表我這陣子真的有把重心放低過,沒有整天端著肩膀跟人開會。身體的誠實比我以為的還要多,它記得我這週有沒有真的休息,比我自己記得還準。
下課後在更衣室,隔壁一個常見面但不熟的女生隨口問我平常做什麼工作,我照例說了個模糊的「金融業,做點分析」。她也沒追問,順口聊起自己剛換的工作。那種擦肩而過、彼此都心照不宣不深問的默契,我很珍惜——這間教室大概是少數幾個地方,我可以只是一具倒掛的身體,不用是任何人的誰。
Notion 裡的兩份清單
睡前照例打開 Notion,更新兩份表——一份是全球 ETF 配置的追蹤表,紅綠色塊排得整整齊齊,哪個部位超配、哪個該減碼,一目了然;另一份,是貼滿紙膠帶邊框、字體特別選了圓體的生活待辦,裡面混著「補貨電子秤」、「回覆米其林主廚教學的時間」,還有一行已經打勾但捨不得刪掉的「陪自己吃完一整顆馬卡龍不滑手機」。
這兩份表格放在同一個 workspace 裡,切換分頁只要按一個鍵,但它們服務的其實是兩種完全不同的自己。ETF 那份表要求我冷靜、要求我把情緒從決策裡拿掉;待辦那份表反而是我唯一允許自己感性記帳的地方——上面沒有績效指標,只有「有沒有讓今天過得像自己想要的樣子」這種沒辦法量化、卻是我私底下最在意的指標。高維度的生活管理,說到底管理的不是效率,是怎麼讓這兩種自己,每天都能各自被照顧到,不會有一邊長期餓著另一邊。
關於「精準回測對方」這件事,後來的想法
前面提到約會時會忍不住啟動「AI 金融腦」,把對方的言談邏輯拿去做樣本分析,這句話講出去的時候常常被當成玩笑,但我後來認真想過,這其實藏著一個我不太想承認的恐懼——怕自己判斷錯人,怕把時間投進一個報酬率注定是負的關係裡。用回測的邏輯談戀愛,聽起來很理性,但理性到最後,其實是一種害怕受傷的偽裝。
我還沒有想出解法,只是至少現在願意承認:那套「精準回測」,防得住明顯的風險,但防不住真正會傷人的那種——因為真正傷人的關係,往往在樣本期內表現得毫無瑕疵,模型根本抓不到問題,直到樣本外才爆掉。也許哪天我會學著在某個地方,故意不跑模型,直接把錢押下去,看看會發生什麼事。但不是今天。
上個月那次相親,對方全程講話邏輯清楚、情緒穩定、連開玩笑的節奏都抓得剛好,我心裡的模型幾乎要給出「建議加碼」的訊號了。後來才知道,他是刻意準備過的——查過我的背景,知道我在意邏輯清晰,所以特別練過怎麼講話顯得有條理。發現的那一刻我沒有生氣,反而有點佩服,也有點難過:原來我最信任的判斷標準,是最容易被針對性地模仿的那種。也許真正該回測的變數,從來就不該是「他表現得多穩定」,而是「他知道我在看什麼之後,願不願意誠實地不去表演」。這個變數,我目前還沒有找到量化的方法。
寫在今天的最後
回到家,把那支跑了一整天回測的手機放到充電座上,順手在 Notion 裡補了今天的紀錄——市場觀察一則、烘焙材料採購一筆、還有這篇。我知道這樣把交易策略、糖霜克數、跟一整段對自己身分的辯護寫在同一篇裡,邏輯上有點跳躍,但這大概就是今天真實的樣子:一天之內,我既是那個對著 0.31 皺眉的人,也是那個因為 0.2 克誤差睡不安穩的人,也是那個在捷運上假裝什麼都沒發生的人,也是那個倒掛十五分鐘之後,肩膀終於鬆下來的人。
寫完前面這幾段才發現,今天其實反覆在講同一件事,只是換了不同的載體——回測講的是「我怎麼確認一個假設值不值得信」,可麗露講的是「我怎麼面對一個假設失敗了」,家族聚餐講的是「我怎麼確認自己值得被信」,空中瑜伽講的是「我怎麼讓自己暫時不用去確認任何事」。這些看似不相干的片段,串起來大概就是我這個人目前的樣子:一半在驗證,一半在練習不驗證。兩邊我都還沒有練得很好,但至少今天,兩邊都有練到。
如果有一天回測終於收斂到我滿意的數字,我大概也不會特別慶祝。像今天這樣,把它寫下來,就是慶祝的方式了。明天大概還是會有新的樣本進來,新的假設要驗證,我會再回來繼續寫——不是因為說好了每天都要寫,是因為寫到現在,這件事本身好像也變成一個值得被跑進模型裡的變數了。草莓馬克杯已經空了,我想我該去睡了,明天六點半的捷運不等人。
Leave A Comment