你以為股價是因為月營收表現好才上漲嗎? 其實,現實可能完全相反——主力炒股根本不需要月營收數據! 真正厲害的投 […]
你以為股價是因為月營收表現好才上漲嗎?
其實,現實可能完全相反——主力炒股根本不需要月營收數據!
真正厲害的投資人,不會等到數據公布才下手,而是抓住「月營收前後的股價動能」這個關鍵訊號,提前找到飆股機會。有時候,這些動能強的股票甚至飆得更兇!
本文將帶領您深入了解一段程式碼背後的邏輯,並分析使用的數據來源與選股策略,幫助您理解如何利用 Python 和量化技術來挖掘投資機會。
程式碼簡介
這段程式碼來自量化交易的回測工具庫 finlab.backtest
,它旨在根據動能和月營收的特性來選出潛在的飆股,並進行回測模擬,驗證策略的有效性。
核心程式碼:
from finlab.backtest import sim
close = data.get('price:收盤價')
pct_change = (close / close.shift() - 1).rolling(5).mean()
當月營收 = data.get('monthly_revenue:當月營收')
pos = pct_change[(close > close.average(60)) & (close > close.average(20)) & (close > close.average(120)) & (當月營收.average(3) > 當月營收.average(12))].is_largest(10)
r = sim(pos, resample='M', resample_offset='11D', upload=False, stop_loss=0.1)
r.display()
數據來源與處理
1. 收盤價 (Closing Price)
- 使用的數據:
price:收盤價
- 處理方式:
- 計算每日收盤價的五日平均漲跌幅:
pct_change = (close / close.shift() - 1).rolling(5).mean()
- 這樣的計算能平滑日間波動,突顯短期動能。
- 計算每日收盤價的五日平均漲跌幅:
2. 當月營收 (Monthly Revenue)
- 使用的數據:
monthly_revenue:當月營收
- 處理方式:
- 比較三個月平均營收與十二個月平均營收:
當月營收.average(3) > 當月營收.average(12)
- 這樣的條件確保選出的公司近期營收增長良好,具有基本面支持。
- 比較三個月平均營收與十二個月平均營收:
條件篩選邏輯
1. 技術面條件
- 近 60 日、20 日及 120 日均線以上的股價:
close > close.average(60) close > close.average(20) close > close.average(120)
- 這些條件用於確認股價處於多頭趨勢。
2. 基本面條件
- 當月營收三個月平均值高於十二個月平均值:
當月營收.average(3) > 當月營收.average(12)
- 表示公司短期營收增長快於長期趨勢,顯示業績改善。
3. 選出前 10 強股票
- 利用
.is_largest(10)
選出動能最強的 10 檔股票。
策略回測 (Backtesting)
回測設定
- 使用
sim
函數進行模擬:r = sim(pos, resample='M', resample_offset='11D', upload=False, stop_loss=0.1)
resample='M'
:以每月為單位進行再平衡。resample_offset='11D'
:回測的基準日期設為每月的第 11 天,對應月營收數據發布後的市場反應。stop_loss=0.1
:設定 10% 的停損機制,控制風險。
結果展示
最後以 r.display()
顯示回測結果,圖表呈現策略的績效數據與曲線。
策略優勢與限制
1. 策略的主要優勢
- 多層次篩選:結合技術面與基本面條件,增強策略的穩健性。
- 動能增強:動能指標幫助捕捉短期市場熱點。
- 基本面支持:營收增長確保選股具有實質業績基礎,降低投資風險。
2. 策略的潛在限制
- 數據延遲風險:月營收數據發布有一定滯後性,可能影響市場反應的及時性。
- 適用性限制:此策略在極端市場條件(如金融危機)中可能效果不佳。
- 流動性問題:策略可能不適合流動性較差的股票。
實際應用場景與潛在改進
1. 適合的投資者類型
- 短期交易者:希望捕捉短期股價波動。
- 成長型投資者:尋找營收增長良好的潛力股。
2. 在不同市場環境的表現
- 牛市:策略表現更佳,動能與營收增長同步提升。
- 熊市:需注意停損機制,以避免大幅回撤。
- 震盪市:篩選出的股票可能具有相對穩定的表現。
3. 潛在改進方向
- 增加多因子模型,例如結合市值因子或財務指標進一步優化篩選。
- 探討不同停損比例對績效的影響,找到最適合的參數配置。
回測結果分析
根據提供的回測數據與績效表現:
1. 年化報酬率
- 高達 33.5%,遠超大盤平均回報。
2. 風險調整後績效
- Alpha:27.5%,顯示策略的超額收益顯著。
- Beta:0.64,風險低於大盤。
3. 歷史績效曲線
- 從圖中可見,策略的累積報酬呈指數增長,顯示穩健的長期表現。
4. 年度績效分析
- 個別年份如 2024 年表現尤為亮眼,達到 86.7% 的年度回報。
讀者常見問題 (FAQ)
1. 策略適合的投資期限是多長?
此策略適合中短期(1-3 個月)的交易者,透過每月再平衡抓住市場機會。
2. 如何處理月營收數據延遲的問題?
選擇月營收發布後的第 11 天作為基準,盡量捕捉市場反應並降低延遲影響。
3. 是否能結合其他因子一起使用?
完全可以!結合市值、估值或其他技術指標能進一步提升策略的有效性。
結語
這段程式碼展示了一個將技術分析與基本面相結合的高效選股策略。其核心理念是通過動能捕捉短期機會,並結合營收數據增強選股的基本面支持。此外,策略的回測結果證實了其在歷史數據中的卓越表現。
量化策略並非魔法,但它能幫助我們以更理性的方式看待市場。若您對此策略感興趣,不妨嘗試運用並結合其他技術指標,進一步提升您的投資績效,讓數據為您的決策服務!