今天學習一個基于低位單峰密集的選股多因子模型,需要結合技術面(籌碼分布)、基本面(估值/成長)和量價特征,以下是一個完整的框架設計和實現步驟: 1. 核心邏輯定義
2. 因子池設計2.1 技術面因子(核心)
2.2 基本面輔助因子
2.3 市場情緒因子
![]() N1:=750; {3年交易日≈750天} N2:=14; {RSI計算周期} N3:=5; {短期成交量均線周期} N4:=30; {長期成交量均線周期} {1. 計算RSI} LC := REF(CLOSE,1); {昨日收盤價} DELTA := CLOSE - LC; {價格變動} UP := SUM(IF(DELTA > 0, DELTA, 0), N2); {N2日內上漲幅度總和} DOWN := SUM(IF(DELTA < 0, ABS(DELTA), 0), N2); {N2日內下跌幅度總和} RS := UP / (DOWN 0.000001); {防止除零} 手動RSI := 100 * (RS / (1 RS)); {RSI計算公式} {2. 籌碼集中度條件} 籌碼下限 := COST(15); 籌碼上限 := COST(85); 籌碼寬度 := 籌碼上限 - 籌碼下限; 集中度條件 := 籌碼寬度 / C < 0.15; {3. 股價低位判定} 最低價3年 := LLV(LOW,N1); 最高價3年 := HHV(HIGH,N1); 價格分位數 := (CLOSE - 最低價3年) / (最高價3年 - 最低價3年 0.0001); 低位條件 := 價格分位數 <= 0.2; {4. 量價突破驗證} 量能放大 := MA(VOL,N3) / MA(VOL,N4) > 1.5; 突破籌碼峰 := CLOSE > (籌碼上限 籌碼下限) / 2; 量價條件 := 量能放大 AND 突破籌碼峰; {5. 估值安全邊際} PE := DYNAINFO(39); {動態市盈率} 估值條件 := PE > 0 AND PE < 30; {6. 超賣修復信號} RSI條件 := 手動RSI < 30 AND 手動RSI > REF(手動RSI,3); {RSI低于30且3日內回升} {綜合選股條件} 選股條件: 集中度條件 AND 低位條件 AND 量價條件 AND 估值條件 AND RSI條件; 使用建議:
{大盤趨勢過濾(滬深300在60日均線上方)} INDEXC300 := STKINDI('399300','CLOSE',0,6,0); 2、選股結果過多/過少 {放松條件示例} 價格分位數 := ... <= 0.25; {從20%放寬到25%} 量能放大 := ... > 1.3; {從50%增幅降到30%} |
|