樹的組合 - IBKR 虛擬交易倉,一起共建
它不是我的選股清單。它是一套會出錯、會被推翻、也因此會不斷變好的系統
Draw Tree Porfolio是一項公開投資實驗,由我們與社群共同建構。
這項實驗仍在校準。證據指數尚未完整驗證,估值方法、配置規則與自動化流程都會繼續修改。我們已經犯過不少錯,之後也一定還會犯。
所有交易均透過 IBKR 模擬帳戶執行,不涉及真實資金。文中提及的公司、目標價、持倉及交易,只用作測試研究方法,不構成任何投資建議。
請不要跟單。
如果你想參與,我們真正需要的不是照着買賣,而是檢查數據、挑戰假設、質疑估值,並指出我們可能忽略的風險。
一、大部分研究報告,在完成的一刻已經開始過期
公司會公布新業績,管理層會改變資本配置,競爭對手會推出新產品。原本合理的假設,可能隨時被新證據推翻。
還有另一件事,股價會在毫無新聞的情況下靜靜改變。
你花了幾個星期研究一家公司,得出 100 元的牛市目標。當時股價是 50 元,潛在上行是 100%。
三個月後,公司沒有任何新消息。股價卻升至 85 元。
投資命題沒有改變。
但賠率已經不同了。
原本 50 元的潛在上行,如今只剩 15 元。跌回熊市目標的空間反而擴大了。這家公司仍然可能是好公司——但已經未必是一項同樣吸引的投資。
反過來也成立。
如果股價由 50 元跌至 30 元,賠率可能改善。但如果市場已經出現新的證據,令之前的假設被證偽,信念和目標股價也要跟着下調。
傳統研究擅長回答的是:
在特定時間點,這家公司應該值多少?
但組合真正需要持續回答的問題是:
以今天的證據和今天的價格,它還值得佔用多少資本?
這正是 Draw Tree 想補上的一段路。
二、Draw Tree 有甚麼不同
Draw Tree Portfolio 同時追蹤兩條變化。
第一條來自公司:
新證據 → 信念更新 → 估值更新
第二條來自市場:
股價變動 → 牛市上行改變 → 熊市下行改變 → 賠率更新
兩條路最後在同一個地方匯合:
信念 × 現價相對牛熊目標的位置
→ 初始注碼
→ 組合比較
→ 模擬交易
即使一家公司完全沒有新消息,股價大幅變動也可能令倉位需要調整。
同樣地,即使股價沒動,一份新業績或一項管理層指引,也可能改變信念與估值,繼而改變倉位。
研究不是更新一次便完成。價格也不是等到財報日才值得檢查。
Draw Tree 與舊式研究最大的分別,不在於有沒有使用 AI,而在於研究成果能不能被執行:
我們不是要消除錯誤,而是要讓錯誤無法長期躲藏。
三、系統如何運作
整套系統分成四層。
研究層。 每家公司都有一份結構化研究檔案,記錄核心投資論點、支持證據、牛市/基準/熊市估值、反證條件,以及目前的研究判決。這些內容不只是給人閱讀,也是後續檢查和計算的輸入。
檢查層。 可量化的條件由程式直接判斷——收入、每股盈利、訂單、股份數、估值倍數是否越過門檻。難以化約為單一數字的條件——例如管理層是否改變策略、產品延遲是否已影響商業化——則由 AI 判官閱讀原始資料後評定。最後再由一道端到端一致性核對把關,確保證據、判決與組合行動互相咬合。
配置層。 研究判斷不會停留在「高、中、低信心」。系統會同時計算證據指數、牛市上行與熊市下行,再經相關性折讓、單一持倉上限與再平衡門檻,得出目標倉位。
看好一家公司,不代表它應該成為最大的持倉。信念高,但熊市下行更深,注碼仍然可能較小。完整公式與配置規則全部放在 GitHub,正文不再逐條重寫。
紀錄層。 估值更新、判斷改動和模擬組合操作全部留下版本紀錄。舊判斷不會被刪除,而是由新判斷取代並存底;組合操作寫入只增不改的公開帳本,配合 Git 歷史與 SHA-256,保留可以核對的決策軌跡。
完整流程如下:
結構化研究檔案
↓
機器檢查 + AI 檢查
↓
估值與反證判決
↓
Kelly 配置引擎
↓
模擬組合
↓
Git 歷史 + 公開帳本
截至目前,系統覆蓋 69 隻股票、69 份研究檔案,登記了 2,151 條反證條件,每週六全數重審;模擬組合亦已接入 Kelly 配置與再平衡流程。
不過,這套架構並不是一次過設計出來的。
它是在一次又一次真實錯誤中逐步建立的。
四、反證條件:我們如何失守
我們把全部反證條件分成三種形態。每一種都有不同的執行機制——因為每一種,我們都曾以不同的方式失守。
量化門檻
例如:
季度非 GAAP 每股盈利低於 2.00 美元。
這類條件帶有明確指標、方向與數字。財報一出,引擎便會機械比對;一旦越線,便永久鎖存,不容任何解釋。約三分之一的條件屬於這一類。
我們曾經遇過這樣的情況:一家公司的財報數字早已跌破預先登記的門檻,判決卻繼續維持「看好」超過一個月。
AI 用「這個指標其實不算數」之類的說辭把龍門移走。觸發數字其後又超出新聞更新的時間窗,系統再也引用不到。
最後我們加上三重防線:
機器鎖存:一旦越線便永久記錄,不受新聞時間窗影響。
每週整體重審:判官必須逐條交代每個條件的狀態。
硬性校驗閘:已觸發的條件之上,不得存在正面判決,除非附有公開的明文推翻理由。
時間死線
例如:
合併後六個月內未見新訂單公告。
這類條件的本質是時限:承諾的事件沒有如期發生,缺席本身就是證據。
約一成的條件屬於這一類。死線到期後,引擎會自動把狀態翻為「逾期未兌現」,注入證據流,判官必須在同一週處理。
我們曾經讓一個交叉銷售的死線靜靜過期,判決卻仍然停在正面。
原因很簡單:「沒有發生的事」不會出現在任何新聞裡。
現在它會。
定性條件
例如:
管理層公開描述需求放緩。
競爭對手獲得旗艦客戶。
這類條件無法化約為單一數字,約佔全部條件近六成。它們由 AI 判官每週對照證據評定。
我們刻意不把它們硬塞成假數字。拒絕假精確。
不過,AI 判官的權力同時受兩道限制。
第一,判決只能落在六級量尺之上。分支與根命題的滾算全屬機械,AI 碰不到分數。
第二,每條定性條件的評定,都必須引用具體證據,留檔可查。
還有一種錯:方向寫反了
審查時我們發現,超過十棵樹的「反證條件」欄,寫的竟然是驗證性的好消息。
也就是說,這些條件永遠不可能被觸發,證偽形同虛設。
我們逐條把它們改寫成帶有門檻與時限的不利事件,並立下一條修訂規則:
反證條件若要修改,原文必須保留存底,並公開註明原因。
連「修改反證條件」這個動作本身,也要可以被審計。
五、枝幹權重:鏈,還是並列?
子假說,也就是葉子,每週各自獲得判決後,還要合成分支與根命題。
這裡有一個問題:
葉子應該加權嗎?
答案是:要看分支的內部邏輯。兩種答案都可能成立。
如果葉子構成一條邏輯鏈——每一環都必須成立,斷一環便全斷——加權就是錯的。
一條鏈的強度,等於最弱的一環。因此,分支判決應取所有葉子中的最低分,不加權。任何一葉被證偽,整條分支便隨之證偽。
Amazon:一條真正的鏈
Amazon 自研晶片的「製造」分支有三塊葉子:
拿到台積電先進製程產能。
買到足夠的 HBM 記憶體。
搶到 CoWoS 封裝檔期。
造一顆晶片,三樣缺一不可。產能再充裕,沒有記憶體仍然出不了貨。
因此,這條分支的判決,永遠等於三塊葉子中最弱的一塊。
但如果葉子是並列的業務驅動——彼此獨立,也可以互相補位——取平均,或按重要性加權,才比較接近現實。
一個引擎失靈,其他引擎仍然可以推進。
Samsung:被我們錯標成鏈
Samsung 的「技術護城河」分支也有三塊葉子:
HBM4E 工程樣品如期交付客戶。
自家 2nm 製程良率爬坡。
頻寬規格維持性能溢價。
三者彼此支撐。然而,即使良率暫時落後,Samsung 仍然可以找台積電代工,樣品仍然可以交付,性能溢價也可能繼續存在。分支不應因一葉受挫而全軍覆沒。
分辨兩者,只有一條判準:
最弱一環失敗時,有沒有替代或回收路徑?
有替代——例如外包、第二供應商、互替管線——就是並列。
沒有替代,才是鏈。
這條判準,是一次內部抽查逼出來的。
當時我們批量把二十二條分支標成「鏈」,其中包括 Samsung 這一條。它最弱的一環,是「自家先進製程製造關鍵晶粒」。
隨後,我們用同一判準覆核其餘二十一條「鏈」。十四條站得住,七條改回並列。
分支之上,各分支再按重要性砝碼——遞減的費氏數列 8、5、3、2、1——加權滾算出根命題判決與證據指數。
砝碼在建樹時定案並附上理由,同樣不得靜默改動。
六、三情境估值:我們在這裡犯過最尷尬的錯
每家公司建立三個情境:
牛市:哪些條件同時成立。
基準:最合理、但不保證發生的路徑。
熊市:核心假設失效後的結果。
結構性破壞不需要第四個情境。反證條件一旦觸發,判決便轉為「已證偽」,信念歸零,倉位由公式自動壓向零。
估值方法按公司特性選擇:市盈率、EV/Revenue、EV/EBITDA、分部加總、市銷率或市賬率。
我們同時禁用現金流折現與股利折現模型。原因不是它們永遠沒有價值,而是它們很容易把幾十個假設藏進一個看似精確的數字——這正是我們想逃離的黑盒。
但規則寫得漂亮,不代表執行得乾淨。
全面審計時,我們在自己的估值檔案裡找到兩類錯。
第一類:循環錨定
好幾棵樹的「基準每股盈利」,追查來源後發現並不是任何人的預測,而是用現價除以一個假設倍數反推出來的。
表面上是:
我們估計 EPS 為 7.43 美元。
實際上,這個數字唯一的出處就是當時的股價。
目標價看似是獨立判斷,其實只是把市場價繞一個圈,再還給市場。
發現一棵樹出事後,我們清查全隊。結果好幾家公司的盈利、股份數和淨現金都中招。
由此立下兩條硬規則:
每個輸入必須追溯至已公布的財報實績或具名機構共識,嚴禁用「現價除以倍數」反推。
同一家公司必須以第二種估值方法交叉檢查,兩者的收斂誤差須在 5% 以內。
第二類:熊市錨在自己的想像
早期部分熊市目標,只是「我們覺得已經夠保守」的數字,沒有任何外部參照。
開倉前的審計,把它們逐一重錨到具名的歷史低谷倍數。
例如 Alibaba 的熊市,錨在它自己於 2024 年 12 月真實出現過的約 12 倍前瞻市盈率。
市場曾經給過這個價,就不能假裝它不可能再給。
同一次審計亦暴露了一個尚未解決的問題:同屬韓國記憶體,SK Hynix 的熊市下行是 38%,Samsung 卻只有 15%。
深度相差超過一倍,是否合理?
我們沒有假裝有答案,而是把它編號掛在公開爭議帳 OQ-1,歡迎任何人拿證據來結案。
七、系統也可以犯錯
錯誤不一定報錯。
系統可以順利完成運算,卻使用了錯誤的股份數目。
ONDS 原本被系統記錄為 2.796 億股,實際應為 6.115 億股。單是這個錯誤,已足以令每股目標價接近減半。
系統也可以使用過期的淨現金。一家公司帳上原本寫着二十億美元,實際只剩約一億四千七百萬美元。
它甚至可以用淨利潤層面的指標,去證偽一條營運利潤率的命題。數字本身沒有錯,口徑卻完全不同,判決仍然會失真。
最危險的錯誤,不是系統停止運作。
而是系統帶着錯誤,繼續運作。
所以我們定下一條原則:
問題寧可吵鬧地失敗,也不要安靜地出錯。
股份數與市值不在同一個量級,流程便中止。
口徑無法對應,判決便不能通過。
送入配置引擎的標的,若沒有出現在配置或剔除名單,整次運算便失敗。
現價若跌穿熊市目標,標的會被隔離,等待人工檢查——因為系統無法自行分辨,是資料錯了,還是市場真的開出一個比我們最壞情境更低的價格。
八、這不是一個人的樹
建立了這些規則,不代表我們已經解決投資問題。
我們仍然可能用錯數據、選錯估值對標、把熊市情境定得太淺、高估證據指數的預測能力,或者在股價大升後仍然高估剩餘賠率。
數學不會令判斷自動變得客觀。
AI 也可以用很流暢的語言,替錯誤辯護。
所以這項實驗真正要測試的,不是模型看起來有多聰明,而是:
如果每項假設都可以被檢查,每次價格變動都會重算賠率,每個錯誤都留下紀錄,而所有改變都會重新傳到倉位——這個組合能否比同一股票池的等權組合,產生更好的風險調整後回報?
我們已經預先登記測試期限、基準和證偽條件。
如果結果不支持它,我們便要承認它沒有增加價值。畫樹這套哲學也沒帶存在的必要了。
來一起建造
單一作者有盲點,單一模型也有盲點。
為了讓大家更加容易理解估值背後的邏輯和指出其中的盲點,由本週開始,每個星期六的 Slack Channel 自動更新,訊息開首第一段都會放上研究快照:這隻股票憑甚麼進入組合,又為甚麼得到這個權重。
📐 研究快照 · 🔬 校準中
🧮 組合定倉(為何是這個權重):
證據 p 0.75 · 上行 b +99% · 下行 a 38%
→ 邊際優勢 edge +65%
↳ edge 為正 → 納入組合
折讓前權重 ∝ edge÷(a·b) = 1.74
再經相關性折讓與 33% 上限,定出實際倉位
🎯 情境目標:
🐂 4,340,000(+99%)
⚖️ 2,810,740(+29%)
🐻 1,360,000(−38%)
現價:KRW 2,180,000
我們也重新整理了 /tree val 估值卡。
在相關頻道輸入這個指令,你不會只看到一個目標價,而會看到牛市、基準與熊市情境;各情境使用的財務數字、估值方法與倍數;具名對標公司;以及現價相對三個情境的位置。
📐 估值卡 · BABA · USD 112.33
🏷️ 三層估值框架
T1 純電商 P/E
JD ~8x · PDD ~9–10x
估值帶:8–12x
T2 混合平台 P/E
騰訊 ~16–17x · 美團 ~14–15x
估值帶:13–17x
T3 雲+AI 分部加總(SOTP)
Alphabet 8.4x · Microsoft 7.3x
(NTM EV/Revenue)
📍 現價隱含 P/E ≈ 17.5x
正處於混合平台 → SOTP 過渡
🐂 Bull 175.76(+56%)
SOTP:雲 EV/Revenue 8.0x
電商 P/E 12x
折讓 −15%
⚖️ Base 102.85(−8%)
整體 P/E 16x
對標:騰訊/美團
🐻 Bear 60.89(−46%)
整體 P/E 12x
對應 2024-12 forward 低谷
你看到了覺得不合理的話,歡迎在 SLACk 頻道裡直接説出來,我會立刻處理。
我們不相信一套投資系統會因為用了更多數學、更多程式或更多 AI,就自然變得可靠。
它只有被攤在陽光下,讓人逐項檢查、反駁和找錯,才有機會變得更可靠。
所以,我們把研究方法、預先登記的實驗協議、估值紀錄、判決變動、模擬組合帳本,以及曾經犯過的錯,全部公開在 GitHub。
你可以由任何一個位置開始:核對一個數字、質疑一個估值倍數、挑戰一條反證條件,或者指出一項我們尚未看見的風險。
這棵樹還遠未完成。
把它放在陽光下,正是我們打算繼續建造它的方法。
附錄一:2026 年 7 月 13 日第一版組合預覽
以下是 7 月 12 日以生產引擎,按週五收市價,對全部 69 棵樹進行試算的結果。
正式執行時間為週一 21:45 。屆時引擎會按即市價格與最新相關性重新計算,因此最終權重可能與以下預覽有小幅出入。
這是模擬組合的預計開倉名單:
由 69 棵樹到第一批倉位
整個篩選結果如下:
69 棵樹
→ 68 隻合資格
→ 61 隻獲配置
→ 7 隻被引擎剔除
→ 首日預計實際開倉 37 隻
TSLA-OPTIMUS 與 TSLA 指向同一標的,因此依照協議剔除其中一項,留下 68 隻合資格標的。
其中 61 隻獲得正權重,7 隻被引擎剔除。
由於單筆調倉設有 1% 門檻,首日只會為目標權重達 1% 或以上的標的建立模擬倉位。因此,首日預計實際開倉 37 隻,合計約佔組合 85%。
其餘 24 隻的目標權重介乎 0.1% 至 1.0%,資金暫時保留為現金。日後權重漂移越過門檻,才會正式建倉。
附錄二:每週節奏與頻道指引
這項實驗以固定節奏運轉。每一步都有時間表,也有紀錄。
頻道分工
組合層問題——例如倉位、權重、剔除原因、相關性與實驗設計——請在 #draw-tree-portfolio 討論。中英文兩個 workspace 都已開設同名頻道。
個股層問題——例如估值、證據、反證條件及公司假設——請到對應的股票頻道提出。
你亦可以隨時輸入:
/tree val
查看該股票最新的估值卡與定倉分解。
你戳破的每一個錯誤,都會寫進公開修正帳。
我們每週六重新審判,每週一調整模擬組合。
下一版,等你一起。





謝謝,這個幫助很大,系統越做越好!