AI學習與應用體會系列文章04:由年報數據到組合監察
續上文
投資唔係叫模型預測下一隻會升嘅股票,而係將資料來源、年報閱讀、程式計算、策略規則、組合監察同人工審批連成一個可追溯流程。AI 可以加快研究,但唔會替人承擔資金風險。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
筆者第一個較深入嘅 AI 應用方向係投資。但筆者愈做,愈覺得最有用嘅問題唔係「今日應該買邊隻股票」,而係:資料由邊度取得、年報點樣讀、數字點樣重算、策略點樣寫成規則、組合偏離幾多先要處理,以及邊一步必須由人批准。
投資分析本身係一個反覆循環。市場價格會變,公司會公布新業績,持倉比例會因升跌而改變,原本合理嘅假設亦可能失效。AI 真正幫到筆者嘅地方,係將搜集、整理、計算、比較同提醒連起來,令每次分析唔使由零開始。
同一項資產,對唔同人可以有完全唔同答案。投資目標、時間長短、可承受跌幅、現金需要、現有持倉、幣種同其他限制,都會改變一個決定是否合理。LLM模型單憑一個股票代號,無法知道呢啲背景;即使佢講得再肯定,亦只係產生一個欠缺完整條件嘅意見。
所以,筆者建立投資系統時,第一步唔係揀資產,而係先寫清楚投資範圍、策略目標、資料截至日期、可接受風險、再平衡規則同禁止事項。AI 之後所有分析,都要喺呢個框架入面進行,而唔係每次根據新聞或者市場情緒重新發明一套理由。
| 投資系統最重要嘅,唔係產生更多意見,而係令每個數字有來源、每個建議有規則、每個交易有批准。 |
第一層:建立可以追溯嘅資料
如果資料層唔可靠,後面做得幾精密都冇意思。Agent 可以定期由交易所、公司投資者關係網站、基金公司、受託人或者數據供應商取得資料,但「下載成功」唔等於資料已經適合分析。系統仍然要知道每項數據代表乜、截至幾時,同埋有冇經過調整。
1|市場數據:價格、成交、派息、匯率同其他時間序列,並標明交易日、時區、幣種,以及有冇處理拆股、合股等公司行動。
2|公司原始文件:年報、業績公告、上市文件、投資者簡報同正式通告。呢類資料應該優先於轉述文章或者模型記憶。
3|補充資料:公司新聞、行業數據、管理層訪問同市場評論,可以幫助找線索,但需要同原始文件分開標示,唔應該自動升格成已證實事實。
筆者會要求系統為資料保存發布日期、報告期、來源、頁碼或者連結、幣種、單位同版本。收入寫住「500」,究竟係五百元、五百萬,定係五億;價格係收市價、即時價,定係經派息調整後嘅數據,對計算結果可以有非常大分別。
Agent 亦可以先做基本質量檢查,例如找出缺失日期、重複記錄、異常跳動、過期檔案同前後矛盾。遇到來源讀取失敗或者數值超出合理範圍,較可靠嘅做法係停止並報告,而唔係用上一期資料或者自行估一個數字補上。
讀年報,唔只係叫 AI 寫摘要
年報往往有幾百頁。AI 最直接嘅用途,係先幫筆者定位值得閱讀嘅部分,例如收入來源、分部表現、毛利變化、現金流、負債、資本開支、重大承擔、關連交易、核數師意見同管理層對前景嘅解釋。佢可以將大量文件壓縮成一張研究地圖,令筆者知道應該由邊度開始。
業務變化:收入由邊個產品、地區或者客戶群帶動?增長係數量、價格、收購,定係一次性因素造成?
財務質素:盈利有冇轉化成現金?應收賬、存貨、借貸、利息成本同資本開支有冇出現值得留意嘅變化?
風險與例外:有冇資產減值、訴訟、重大承擔、會計政策改變、終止業務,或者管理層只喺附註先交代嘅事項?
不過,筆者唔會只收一段「公司表現良好」式摘要。每個重要結論最好都附上原文位置、報告期同引用片段,令我可以直接返回文件核對。AI 如果從表格抽取數字,亦要同總數、分項同前一年資料交叉檢查。
PDF 掃描質素、OCR、括號表示負數、千元同百萬元單位,以及持續經營同終止經營業務嘅分類,都可能令抽取結果出錯。所以,AI 摘要比較適合作為導航同初步整理,而唔係取代對重要會計資料嘅核實。
文字交俾模型,數字交俾 Python
大型語言模型擅長理解文字、比較管理層逐年說法、整理變化同提出需要追問嘅問題;涉及精確運算,筆者會盡量交俾 Python、SQL 或者固定程式。兩者配合,比要求模型同時閱讀、記數同心算可靠得多。
程式可以計算收入增長、利潤率、負債比率、自由現金流、估值指標、移動平均、動量、波動率、最大跌幅、資產相關性、滾動回報同投資組合配置。每次運算都可以保存輸入數據、公式、程式版本同輸出,之後重新執行亦應該得到相同結果。
但「由程式計」亦唔代表一定正確。自由現金流用邊個定義、回報有冇計派息、波動率點樣年化、財務數字用報告值定調整值,都係方法選擇。公式要先寫清楚,再用已知例子同自動測試檢查,唔可以將一個有小數點嘅答案誤當成客觀真相。
對筆者嚟講,最實用嘅原則仍然係:可以直接讀原文嘅,唔好只靠模型記憶;可以由程式計算嘅,唔好只靠語言模型估;需要判斷嘅,就將前提同不確定性寫出嚟。
筆者自己已經將幾十個個人投資策略,逐步整理成 Agent 可以讀取同執行嘅形式。最花時間嘅地方唔係叫 AI 寫一段程式,而係將原本存在腦入面、帶有例外同模糊判斷嘅方法,改寫成一份清楚規格。
1|投資範圍:策略可以使用邊類資產,邊啲市場、產品或者資料不足嘅項目要排除。
2|輸入資料:需要邊啲價格、財務數據或者分類資料,更新頻率係幾多,缺失資料點處理。
3|訊號規則:乜嘢條件先算符合策略,訊號使用邊一日資料,避免將未來先知道嘅資訊放入歷史判斷。
4|配置方法:持有幾多項資產、每項上限、現金比例、權重算法,以及集中度限制。
5|再平衡節奏:每日、每週、每月,定係偏離超過某個範圍先處理;同一訊號可唔可以短期反覆交易。
6|風險同例外:最大倉位、資料過期、交易暫停、極端波動、程式錯誤或者其他異常情況下,系統應該停止定降級。
規則、參數同程式最好分開保存,並有版本紀錄。Agent 可以協助將自然語言規則轉成程式、建立測試同找出矛盾,但正式執行時應該按照已批准版本運作,唔應該每次自由重新解釋策略。
當策略寫成規則之後,AI 就可以協助監察,而唔係每日不停產生買賣評論,搵升跌理由。系統關心嘅核心問題,係現有組合同目標之間有冇出現需要處理嘅偏離,以及偏離係由價格變動、現金流、公司行動,定係資料錯誤造成。
1|更新資料:下載最新而且已通過檢查嘅市場、基金同匯率數據。
2|計算目標:按照每個策略當前版本,計算目標資產同配置比例。
3|讀取現況:取得實際持倉、現金、幣種同未完成交易,再統一計算口徑。
4|比較偏離:找出每項資產同整體風險相對目標嘅差距,並標示原因同資料時間。
5|提出方案:當偏離超過指定範圍,先發出提示,再計算需要買入或賣出嘅數量同幾個可選方案。
Dashboard 可以顯示配置、集中度、波動、回撤、現金比例同偏離程度,但目的唔係用更多圖表令人追住每日升跌,而係將注意力集中喺真正超出規則嘅事項。冇觸發條件時,系統最好保持安靜。
提示亦唔等於交易指令。佢只係話俾我知「目前狀態同已定規則有差異」,下一步仍然要核對資料、理解原因,同埋判斷今次偏離係咪值得處理。
理論配置同真實交易之間,仲有交易費用、買賣差價、最低交易單位、匯率、現金結算、稅費(視市場而定)同市場流動性。只係將目標比例減去現有比例,未必會得到最合理嘅買賣方案。
系統可以先考慮用新投入資金、派息或者自然現金流補足低配資產,減少不必要賣出;亦可以比較一次完成、分段處理或者暫時留喺容許區間內,邊個方案成本較低。真正目標通常唔係將每個比例調到小數點後完全一致,而係喺風險、成本同操作複雜度之間取得平衡。
AI 可以協助整理限制、產生幾個候選方案同解釋取捨,但如果輸入持倉、價格或者匯率有錯,佢同樣可以非常有效率咁計出一個錯誤答案。因此,再平衡建議需要連同資料日期、估算成本、交易後配置同異常警告一齊交付。
回測最容易令人過度自信
AI 同程式令建立回測變得容易,亦因此更容易產生錯覺。只要快速嘗試足夠多參數,總會搵到一條歷史曲線睇落非常漂亮;但嗰個結果可能只係配合咗過去噪音,而唔係一個可以延續嘅規律。
常見問題包括偷睇未來資料、只保留今日仍然存在嘅資產、忽略除權派息同交易成本、用錯公布日期、反覆調參數,以及測試咗大量版本之後只展示最好一個。Agent 愈快產生策略,呢種選擇偏差就愈需要被記錄同控制。
較有紀律嘅做法係預先寫低假設,將資料分成建立同樣本外驗證部分,使用滾動測試、不同成本假設、參數敏感度同簡單基準比較,亦保存失敗版本。回測只可以話俾我知某套規則喺指定歷史數據同假設下點樣表現,唔係對未來回報嘅保證。
涉及真錢,human in the loop 仍然不可取消
理論上,系統可以再透過證券商 API 建立甚至執行交易。但由研究結果去到真實資金,中間應該有清楚權限分層。讀取市場資料、產生建議、建立訂單同真正送出訂單,唔應該全部由同一個 Agent 自由完成。
資料權限:研究 Agent 以讀取為主,敏感帳戶資料同交易權限只喺必要環境開放。
交易前審批:每張建議訂單要列出原因、價格時間、數量、成本、交易後配置同仍然存在嘅風險,再等人確認。
硬性限制:設定單筆金額、總風險、資產上限、可交易產品、執行時段同每日次數,避免模型用語言繞過規則。
紀錄同停止:保存數據、程式版本、訊號、工具調用、批准人同執行結果;遇到過期資料、異常價格或者矛盾,就停止而唔係勉強完成。
一個未處理嘅拆股、錯誤幣種或者過期持倉,都可能令建議數量差幾倍。因此,我會將 AI 定位為研究、計算、監察同準備方案嘅系統,而唔係自行承擔風險嘅基金經理。自動化愈接近真實資金,就愈要假設資料會錯、網絡會斷同 API 會拒絕;human in the loop 係將責任留俾真正理解後果同承擔損失嘅人。
AI 最有價值嘅,係將紀律寫入流程
AI 唔會令市場變得可以預測。佢最實際嘅價值,係更快處理文件、固定重複計算、保持不同策略使用一致資料,同埋喺組合偏離時提醒。當每個結論有來源、每個數字可以重算、每個策略有版本、每個建議保留前提同風險,分析就由一次性意見變成可以追查、反駁同改善嘅過程,亦可以減少遺漏步驟、口徑不一同臨時情緒造成嘅錯誤。
呢篇文章分享嘅係筆者點樣設計分析同監察流程,唔係對任何股票、基金或者策略嘅買賣建議。最終目標唔係將決定交俾 AI,而係用 AI 擴大筆者可以處理嘅範圍,同時保留核實、監督同承擔責任嘅能力。
投資組合可以用同一套方法監察,強積金亦可以。不過,技術上做得到全自動,唔代表成本、保安風險同實際收益一定合理。下一篇就會由呢個問題出發。
下一篇
AI 管理強積金:技術上做到,係咪代表值得做?
下一篇會將同一套資料搜集、策略計算同配置監察方法放入強積金情境,再比較公開 API、多重認證、瀏覽器自動化、維護成本同保安風險,說明「可以自動化」同「值得自動化」點解係兩個不同問題。


