斯坦利·德魯肯米勒 (Stanley F. Druckenmiller)的投資哲學

By | 2026-03-03

Fomo研究院昨天寫了一篇文章如連結,這文章是摩根士丹利對傳奇投資人 Stan Druckenmiller 進行了一場深度訪談的內容。我請Gemini把這位大神的投資哲學寫成Xscript的選股腳本,今天我們就來聊一聊這位大神,以及我們要如何透過AI的協助,複製這位大神的投資哲學到台股的投資中。

Druckenmiller是個猛人,他原本在密西根大學唸經濟學博士,唸一唸發現學術界的經濟學模型過於僵化、不具備市場實戰價值而決定退學,直接投入金融業。

1977年他以去Pittsburgh National Bank當實習生,僅花一年時間,便因展現出卓越的商業直覺與分析能力,25 歲就被拔擢為股票研究部主管。

他在這個職務做了四年,1981年創辦了屬於自己的避險基金Duquesne Capital Management

這個基金以 100 萬美元創立 ,最高管理資產規模達 120 億美元。 30 年期間,締造了平均年化報酬率約 30% 的驚人紀錄,且從未有過任何虧損的年度(包含 2000年網路泡沬及2008 年金融海嘯期間仍維持正報酬)。

他最知名的戰役是,他曾從1988到2000年兼任過索羅斯量子基金的操盤手,在1992年重倉放空英鎊,為量子基金一天就賺了10億美金。

2010年之後,他就把錢都退完給客戶,目前專注於管理自有資金,持續活躍於全球市場,近年在 AI 浪潮(如 Nvidia)與生技醫療等領域亦有精準的佈局。

這樣一位如神一般存在的投資人,他的投資邏輯必有值得我們學習的地方

Fomo研究院這一篇寫的很好,內容請大家點連結進去看,基於版權我不好多寫

不過我可以在這篇文章提的這五點之外,另外分享幾點

一,永遠聚焦 18 到 24 個月後的未來

Druckenmiller 從不根據今天的財報或明天的新聞來交易,他認為現在的數據早就被市場定價了。 他的工作是想像「18 到 24 個月後,這家公司或這個世界的經濟樣貌會是什麼?」然後在現在尋找能夠引發那種改變的催化劑。他買的不是公司現在的價值,而是買它兩年後的變化率。

他的這個觀點我超級認同

二,將技術分析作為「測溫計」與「計時器」

他不迷信簡單的圖表型態,但他極度依賴技術分析來驗證基本面觀點。 如果他的基本面研究顯示某檔股票極佳,但圖表卻呈現不斷破底的空頭走勢,他會選擇觀望,認為「市場一定看到了我沒看到的東西」。他利用技術分析來感受市場的情緒、尋找絕佳的進場時機(Timing),並設定嚴格的停損點。

看完了他的投資哲學之後,我想要跟大家分享我如何用AI+XQ來複製他的投資哲學

第一步:  我把Fomo研究院的這篇文章貼到 gemini上,然後gemini就幫我整理出這篇文章的重點,然後gemini問我要不要進一步探討如何利用程式(例如 XScript 或 Python)將這些哲學轉化為具體的選股濾網嗎?例如,我們可以試著構思一段邏輯,專門篩選出「本益比處於歷史低位,但近兩季研發費用卻異常暴增」的潛在轉型股。

我說  yes,gemini就幫我生成了一份xscript的選股腳本

第二步,我把這腳本貼到XQ的 Xscript編輯器去編譯

然後就出現下面的錯誤訊息

第三步: 修正腳本

我看了一下,發現他的腳本中用了GetField(“營業研發費用”, “Q”); 但Xscript的研發費用欄位,並沒有營業兩個字,所以我就直接把這兩個字去掉,重新編譯,就成功了

成功後的腳本如下

// 腳本名稱:轉型迷霧淘金 (低本益比 + 研發爆增)
// 資料頻率:日

// 參數設定
input: PE_Length(750, "本益比歷史區間(天,預設約3年)");
input: PE_Threshold(1.2, "歷史低位容忍倍數(1.2=距最低點20%內)");
input: RD_Growth(30, "近兩季研發費用年增率門檻(%)");

// --- 條件一:本益比處於歷史低位 ---
value1 = GetField("本益比", "D");
value2 = Lowest(value1[1], PE_Length); // 過去N天的最低本益比

// 確保本益比為正值(排除虧損),且目前本益比接近歷史最低點
condition1 = value1 > 0 and value1 <= (value2 * PE_Threshold);


// --- 條件二:近兩季研發費用異常暴增 ---
// 取得研發費用 (以季為頻率)
value3 = GetField("研發費用", "Q"); // 最近一季
value4 = GetField("研發費用", "Q")[1]; // 前一季
value5 = GetField("研發費用", "Q")[4]; // 去年同期 (最近一季)
value6 = GetField("研發費用", "Q")[5]; // 去年同期 (前一季)

condition2 = false;
// 確保去年同期的研發費用大於0,避免分母為零的運算錯誤
if (value5 + value6) > 0 then begin
// 計算近兩季研發費用總和的年成長率
value7 = ((value3 + value4) - (value5 + value6)) / (value5 + value6) * 100;

// 若成長率突破門檻,則觸發條件
if value7 >= RD_Growth then condition2 = true;
end;


// --- 綜合篩選與輸出 ---
if condition1 and condition2 then begin
ret = 1;
outputField1(value1, "目前本益比");
outputField2(value7, "近兩季研發年增率(%)");
outputField3(value3 + value4, "近兩季研發總額(百萬)");
end;

我把它拿來回測了一下,持有天數直接設為120天,我用的是普通股扣除KY,金融股及營建股

回測報告如下

我把這個選股加到每日自動執行的清單中,就可以知道有那一檔台股符合Druckenmiller的選股標準,接下來我就把這檔股票放到自選股,用其他技術分析指標來研判是否出現進場訊號

 

以上是我用AI+XQ的協作過程,先前介紹的技術指標,蠻多也是先請AI幫我寫腳本,寫完再放到Xscript編輯器裡去編譯,然後再根據錯誤訊息去修改,以我目前的心得,大部份的錯誤都是getfield的欄位名稱跟XS有小小落差,或是畫圖的語法,XS是直接用UI來設,不支援直接用語法寫,但AI對於寫程式的邏輯倒是很少有出過錯,甚至比我們人寫還精準

昨天有網友在問我寫的這些指標是怎麼做出來的,謹以此篇作例子,也請大家可以自己試看看。