Dan Sullivan 的投資哲學

By | 2026-04-15

Dan Sullivan 是美國歷史最悠久、最受尊崇的投資通訊《圖表派》(The Chartist)的創辦人與發行人。如果說前面我們見識了各種基本面與動能的混血,那麼 Sullivan 就是一位**「純粹到不能再純粹的相對強度(Relative Strength)與趨勢跟隨者」**。

他曾公開表示:「當你把時間花在研究盈餘、本益比或總體經濟時,你只是在浪費時間。市場上唯一真實的,只有價格的相對表現。」

以下為您整理這位「圖表派宗師」的核心投資哲學,並將他這套「絕對強勢與趨勢跟隨法則」,轉化為符合 XQ 系統限制與知識庫欄位規範的 XScript 量化選股腳本,作為我們 Type A 博物館的終極館藏!

💡 丹.蘇利文 (Dan Sullivan) 經歷與投資哲學

核心投資哲學:

  1. 相對強度是一切 (Relative Strength is King)
    Sullivan 不買跌深反彈的股票,也不買大盤漲 10% 它只漲 5% 的溫吞股。他只買那些「漲幅遠遠超越大盤與其他多數股票」的超級領頭羊。
  2. 52 週新高的魔法 (The Magic of 52-Week Highs)
    他最喜歡的買進訊號,就是股價突破或逼近 52 週(一年)新高。他深信,會創下一年新高的股票,代表上方已經沒有套牢賣壓,前方是萬里無雲的飆漲天空。
  3. 長線趨勢的保護 (The Long-Term Trend)
    即使股票短期很強勢,但如果它跌破了長期的 200 日移動平均線(年線),在 Sullivan 眼裡,這檔股票就已經「死亡」了。他要求股票必須穩穩站在中長期均線之上。
  4. 徹底無視基本面 (Zero Fundamentals)
    他不在乎這家公司是賣半導體還是賣衛生紙,他完全不看 EPS、營收或 P/E。只要資金在推升它的價格,它就是好股票。

⚙️ XScript 邏輯解構 (Type A: 選股腳本 – 蘇利文絕對相對強度策略)

為了在台股的 XQ 系統中完美還原 Dan Sullivan 的哲學,我們將徹底拔除所有基本面條件,建立一個**「長線多頭 + 半年內極端強勢 + 逼近一年新高」**的純技術動能模型:

  1. 大趨勢的生命線 (Long-Term Trend)
    • 多頭排列:今日 收盤價 必須大於 50 日均線(季線),且 50 日均線必須大於 200 日均線(年線)。
  2. 相對強度的量化 (Relative Strength Proxy)
    • 既然是市場最強的領頭羊,我們計算過去半年(約 120 個交易日)的「價格變動率(Rate of Change, ROC)」。要求 roc120 > 30.0%(代表這檔股票在過去半年內已經漲了超過 30%,展現出極強的相對強度)。
  3. 萬里無雲的創新高 (Near 52-Week High)
    • 今日 收盤價 距離過去 250 天的最高價不到 5%(即 Close >= high250 * 0.95),隨時準備突破天際。
  4. 動能交易的血液 (High Liquidity)
    • 純技術派最重視流動性,限制 成交量 > 2000 張

XScript 程式碼

// 腳本類型:Type A 選股腳本 (Screener)
// 策略名稱:Dan Sullivan (圖表派) 絕對相對強度策略
// 策略邏輯:徹底無視基本面!尋找均線長線多頭、半年內漲幅超過 30%,且股價距離 52 週新高不到 5% 的超級領頭羊

// 確保長天期歷史資料讀取足夠 (計算 200 日年線與 250 日最高價需要)
SetTotalBar(260);

// 變數宣告鐵律:無底線、無系統保留字 daily、預設給定初始值
var: ma50(0), ma200(0), high250(0), roc120(0), volToday(0);
var: isTrendUp(false), isRelativeStrong(false);

// 嚴格依照 Data Dictionary 讀取技術與價量資料
volToday = GetField("成交量", "D"); // 流動性指標

// 計算中長線均線與 52 週最高價
ma50 = Average(Close, 50);
ma200 = Average(Close, 200);
high250 = Highest(High, 250);

// 計算 120 日 (約半年) 的變動率 (Rate of Change),作為相對強度的代理指標
// 防呆機制:確保 120 天前的收盤價大於 0
if Close[120] > 0.0 then 
roc120 = ((Close - Close[120]) / Close[120]) * 100.0 
else 
roc120 = 0.0;

// 條件一:長線大趨勢保護 (股價大於 50 日線,且 50 日線大於 200 日線)
if Close > ma50 and ma50 > ma200 then 
isTrendUp = true 
else 
isTrendUp = false;

// 條件二:絕對相對強度與創新高 (半年內漲幅超過 30%,且逼近 52 週新高 5% 以內)
if roc120 > 30.0 and Close >= (high250 * 0.95) then 
isRelativeStrong = true 
else 
isRelativeStrong = false;

// 核心量化綜合判斷:單一等號、完整邏輯包覆
// 條件說明:
// 1. isTrendUp = true (大趨勢確認無誤)
// 2. isRelativeStrong = true (完美符合 Sullivan 對「相對強度」與「創新高」的狂熱追求)
// 3. volToday > 2000 (確保進出流動性極佳,隨時可以停損撤退)
if isTrendUp = true 
and isRelativeStrong = true 
and volToday > 2000 then begin

// 觸發條件成立
ret = 1;

// Type A 選股腳本專屬:輸出九宮格檢驗欄位 (警示腳本絕對禁用)
OutputField1(roc120, "半年漲幅ROC(%)");
OutputField2(high250, "52週最高價");
OutputField3(Close, "今日強勢收盤價");
OutputField4(ma200, "200日均線(年線)");
OutputField5(volToday, "今日成交量");
end;

 

 

回測報告如下