问财量化选股策略逻辑
选取振幅大于1、开盘价在十日线左右、剔除昨日涨停的股票为投资组合。
选股逻辑分析
- 振幅大于1表明该股票有较大的波动,提供高回报的机会;
- 开盘价在十日线左右符合价值投资选股的基本逻辑;
- 剔除昨日涨停的股票有助于避免跟风、追高等不理性投资行为,并防止过热股票带来的风险和压力。
- 综合上述因素可以筛选出具有较好的短期投资机会的标的。
有何风险?
- 筛选条件过于片面,无法全面反映标的的投资价值;
- 在反复震荡、横盘行情中效果不如预期;
- 过于依赖技术分析指标,忽略基本面变化等风险因素,导致错误决策。
如何优化?
- 可适度调整筛选条件;如可振幅大于2、考虑其他移动平均线;
- 结合其他投资分析工具,如股票排名、资金流向等,综合评价标的的投资价值;
- 尽量避免盲目追涨杀跌,要注重风控和分散投资,合理分配仓位和资金。
最终的选股逻辑
选取振幅大于1、开盘价在十日线左右、剔除昨日涨停的股票为投资组合。
同花顺指标公式代码参考
//振幅大于1
COND1:=(HIGH-LOW)/LOW>0.01;
//开盘价在十日线左右
MA10:MA(CLOSE,10);
COND2:=(OPEN>MA10*0.98) AND (OPEN<MA10*1.02);
//剔除昨日涨停
YESTERDAY_LIMIT:=(REF(CLOSE,1)=REF(HIGH,1));
COND3:=NOT(YESTERDAY_LIMIT);
//综合条件
CONDITION:=COND1 AND COND2 AND COND3;
SIGNAL:CHECKCOND(CONDITION,1);
Python代码参考
import pandas as pd
def select(df):
# 振幅、10日均线
cond1 = (df['high'] - df['low']) / df['low'] > 0.01
ma10 = df['close'].rolling(window=10).mean()
cond2 = (df['open'] > ma10 * 0.98) & (df['open'] < ma10 * 1.02)
# 剔除昨日涨停
yday_limit = (df['close'].shift(1) == df['high'].shift(1))
cond3 = ~yday_limit
basic_cond = cond1 & cond2 & cond3
df = df.loc[basic_cond].reset_index()
return df
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
