書房的空調嗡嗡作響,努力對抗著鵬城3月的悶熱。
林晨盯著螢幕上密密麻麻的程式碼,眼神專注。過去一週,他像螞蟻搬家一樣,從 tushare 和 akshare 上抓取了滬深 300 成分股過去五年的日線資料——開盤價、收盤價、最高價、最低價、成交量。然後用 pandas 清洗、處理,計算出一系列技術指標:移動平均線()、相對強弱指數(RSI)、布林帶(Bollinger Bands)、CD……這些指標被拼接成一個個“特徵向量”,按時間順序排列,形成了他模型的“飼料”。
資料準備好了。接下來,是給這些資料找一個能消化它們、並預測未來的“大腦”。
他選擇了 LST長短期記憶網路)。這是一種特殊的迴圈神經網路(RNN),擅長處理像股價序列這樣具有時間依賴性的資料。普通的 RNN 在傳遞長期資訊時容易“遺忘”,而 LST透過精巧的“門”結構(輸入門、遺忘門、輸出門)控制資訊流,能更好地記住序列中的長期模式。這聽起來很像是為捕捉股市那些若隱若現的“趨勢”和“週期”量身定做的。
“理論上是這樣”,林晨揉了揉發酸的眼睛,自言自語。實踐是另一回事。
他開啟 PyTorch,開始搭建模型結構。輸入層對應特徵維度,接著是兩層 LST層,用於捕捉不同時間尺度的依賴關係,然後是 Dropout 層——隨機“丟棄”一部分神經元連線,防止過擬合的常用手段,最後是全連線層輸出預測值:下一個交易日的收盤價。
定義損失函式(an Squared Error,均方誤差),選擇最佳化器(Ada,設定學習率、訓練輪數(epoch)……
敲下最後一行程式碼,林晨深吸一口氣,點選執行。
風扇的轉速明顯加快,筆記型電腦的散熱口發出輕微的嘶鳴。螢幕上,代表損失值的曲線開始跳動,隨著迭代輪數的增加,那條曲線緩緩向下探去。訓練集上的損失在下降,這意味著模型正在從歷史資料中學習規律。
同時,他也預留了一部分從未見過的資料作為驗證集,用來監控模型在“新資料”上的表現,防止它只死記硬背訓練資料。
訓練持續了將近四十分鐘。當進度條走到終點,林晨立刻啟動了回測程式。
回測,就是用訓練好的模型,在另一段歷史資料(測試集)上模擬交易,檢驗策略盈利能力。他設定了簡單的規則:如果模型預測明日收盤價高於今日收盤價一定閾值(比如 0.5%),則模擬買入;如果預測低於今日收盤價一定閾值,則模擬賣出;否則持有。
程式開始執行,一行行日誌快速滾動。林晨的心跳也跟著加快。他彷彿能聽到虛擬資金在 K 線圖上流動的聲音。
終於,回測報告生成了。
他的目光第一時間鎖定在幾個關鍵數字上:
測試集累計收益率:18.7%
年化收益率:約 32.5%
夏普比率:1.2
最大回撤:-8.3%
林晨的呼吸停滯了一瞬,隨即,一股強烈的熱流從胸腔直衝頭頂。十八個點!超過三十的年化!夏普比率大於 1 意味著風險調整後的收益還算不錯,最大回撤控制得也尚可。
成功了?他的第一個 AI 量化策略,在歷史回測中,竟然跑出瞭如此漂亮的曲線?
他猛地從椅子上站起來,在狹小的書房裡來回走了幾步,拳頭不自覺地握緊。幾個月來的焦慮、自我懷疑、埋頭苦學的孤寂,在這一刻似乎找到了一個宣洩的出口。這不是紙上談兵,這是程式碼和數學構建出的、實實在在的“可能性”。他的路,或許真的走對了!
興奮持續了幾分鐘。冷靜,必須冷靜。林晨強迫自己坐回螢幕前,開始仔細審視回測的細節。
他調出了策略的淨值曲線圖。曲線總體向上,但中間有幾段明顯的盤整和下跌。他查看了交易訊號分佈,有些密集區域連續發出買入訊號,有些階段則長時間空倉。他又對比了模型在訓練集和驗證集上的損失曲線。
看著看著,他眉頭漸漸皺起。
驗證集上的損失,在訓練後期下降得非常緩慢,甚至有輕微抬頭的跡象,而訓練集損失還在穩步下降。兩者之間的差距在拉大。
一個熟悉的術語跳入腦海:過擬合(Overfitting)。
他的模型,可能過於“精通”訓練資料中的特定噪聲和偶然模式了,以至於損害了它在未知資料上的泛化能力。就像一個學生把一本習題冊的每一道題甚至標點符號都背得滾瓜爛熟,但遇到稍微變形的考題就可能抓瞎。回測用的測試集雖然也是歷史資料,但和訓練集時間上相鄰,可能存在一定的相似性,掩蓋了部分過擬合的問題。如果拿到真正的、未來的行情中去,表現可能會大打折扣。
。靜冷的慾知求和覺警著合混種一是的之代而取,去褪速迅興的才剛,說聲低晨林,”單簡麼那沒然果“
?證驗叉的雜復更用採要不要?學科否是式方分劃的料資試測和料資練訓?整調要需否是率比 tuoporD、量數元經神、數層?理合否是構結的TSL?標指緒、料資面本基的劃計前之他如比,料資的元多更加該應否是,標指技了除?分充否是程工徵特。程流和型模的己自視審新重他
。點起的步進是正,題問現發。索探的烈強更他了燃點而反,喪沮他讓有沒並這但。現湧個一接個一題問
。力能捉捕的點間時鍵關對升提來)制機力意注如比(型模他其合結慮考至甚,合擬過止防制機)gnippotS ylraE(停早的格嚴更引,)數層、度維層藏(數引超的TSL 整調,)始開料資礎基報財的到取獲從先(徵特多更加試嘗:向方化佳最的 etaidei 個幾下記他
。紅橙片一染被空天的城鵬。昏黃近已天,外窗
。礙障的除掃要需上路礦富往通了出指地晰清也時同,挖可礦有路條這了明證它,機型原的轉運能但糙個一像就,略策個一第。醒清的實充種有而反,憊疲到有沒他。面介計設式程的麻麻了掉關,果結測回和碼式程好存儲晨林
。氣底的出建構輯邏和碼式程由、的甸甸沉份一了多中心他,刻此但。在存樣一音景背像然依,待期的庭家、影的業失、力的貸房。人行的家歸和火燈的起亮漸逐裡區小下樓著看,邊窗到走他
。破突的一到零從是它但。陷缺滿充能可至甚,完不還略策個這
。裡所易的盤開刻一下在,場戰的正真,”貴富上紙“是也亮漂再測回。戶賬驗實的失損承能全完他、的額小個一是只,家部全是不。溫水試一試裡場市實現去,金資的正真點一用,後之化佳最在是就,步一下
。量能的跡軌變改著藏蘊能可卻面裡,石礦黑的默沉塊一像它,中暗黑,幕螢腦電眼一了看頭回他
。”能不更人,會不輯邏但,人騙以可碼式程“,說己自對他,”來慢慢“
。始開剛剛才許或,戰挑的正真








