问财量化选股策略逻辑
选股逻辑:振幅大于1,近25个交易日有单日涨幅大于等于百分之10,20日均线大于120日均线。
选股逻辑分析
该选股策略综合考虑了股票价格波动、短期向上趋势、和长期向上趋势,其选股指标较为全面。通过该选股策略,可以挑选出较为稳健的多头趋势股票,同时避免选取过于波动的股票。
有何风险?
该选股策略存在以下风险:
- 只考虑了股票价格方面的指标,缺少企业基本面和估值等方面的考量,可能选取出的股票品质不够高;
- 只考虑了20日均线与120日均线两个时间段的均线,不能完全反映出时间序列中更详细的信息,较为粗略;
- 只观察了最近25个交易日内单日涨幅大于等于10%的股票,忽略其他重要信息,可能会有所遗漏;
- 太长或太短的选股周期,理念显得单一,缺少灵活性。
如何优化?
为了缓解以上风险,应进行以下优化:
- 在选股策略中加入企业基本面和估值等方面的指标,以提高选股的品质;
- 增加更多时间段的均线,如5日、30日、60日和240日等,以利用更丰富、更精准的信息;
- 增加量能条件,考虑应用量价分析,以增强选股的准确性和预测能力;
- 增加灵活性,选择合适的时间周期,以满足不同投资人群的风险需求和投资风格。
最终的选股逻辑
据此,我们最终确定的选股逻辑为:
- 振幅大于1;
- 近25个交易日内有单日涨幅大于等于百分之10;
- 20日均线大于120日均线;
- 增加企业基本面和估值等方面的指标;
- 增加量能条件;
- 增加灵活性,选择合适的时间周期。
同花顺指标公式代码参考
C1 = IF(HIGH-LOW > ATR(CLOSE,20), 1, 0);
C2 = IF(ABS((CLOSE-REF(CLOSE,1))/REF(CLOSE,1)) > 0.1, 1, 0);
C3 = IF(MA(CLOSE, 20) > MA(CLOSE,120), 1, 0);
C4 = // 增加企业基本面和估值等方面的指标,默认为1表示通过。
C5 = // 增加量能条件,默认为1表示通过。
SELECTOR = C1*C2*C3*C4*C5;
RESULT= SORT_RANK(SELECTOR, DESCEND(HEAT));
python代码参考
import pandas as pd
import numpy as np
import talib as ta
df = pd.read_csv('your_data.csv', index_col='date')
C1 = np.where(df['high'] - df['low'] > ta.atr(df['close'], 20), 1, 0)
C2 = np.where(abs((df['close'] - df['close'].shift(1)) / df['close'].shift(1)) > 0.1, 1, 0)
C3 = np.where(df['close'].rolling(20).mean() > df['close'].rolling(120).mean(), 1, 0)
C4 = // 增加企业基本面和估值等方面的指标
C5 = // 增加量能条件
selector = C1 * C2 * C3 * C4 * C5
result = df.sort_values(by='heat', ascending=False).index[np.argsort(np.argsort(selector))]
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
