问财量化选股策略逻辑
选取振幅大于1、开盘价在十日线左右、至少5根均线重合的股票为投资组合。
选股逻辑分析
- 振幅大于1表明该股票有较大的波动,提供高回报的机会;
- 开盘价在十日线左右符合价值投资选股的基本逻辑;
- 5根均线重合表明该股票处于多头趋势,出现反弹概率较高;
- 综合上述因素可以筛选出具有短期投资机会的标的。
有何风险?
- 该策略采用短期技术指标进行选股,容易受市场情绪和羊群效应的影响,需要适当控制投资风险和交易频率;
- 该策略在选股时较为简单,需要结合其他技术指标和基本面分析,提高选股策略的可靠性和有效性。
如何优化?
- 可进一步结合其他技术指标如KDJ、MACD等,提供更全面和深入的技术分析;
- 根据实际需求和风险承担能力,适当调整选股策略,控制投资风险和交易频率;
- 进行基本面分析,筛选出具有核心竞争力、良好估值等特点的标的。
最终的选股逻辑
选取振幅大于1、开盘价在十日线左右、至少5根均线重合的股票为投资组合。
同花顺指标公式代码参考
//第一步,振幅大于1
COND1:=(HIGH-LOW)/LOW>0.01;
//第二步,开盘价在十日线左右
MA10:MA(CLOSE,10);
COND2:=(OPEN>MA10*0.98) AND (OPEN<MA10*1.02);
//第三步,至少5根均线重合的股票
COND3:=SUM(MA(CLOSE,1)=MA(CLOSE,2),5)>=5;
//综合条件
CONDITION:=COND1 AND COND2 AND COND3;
SIGNAL:CHECKCOND(CONDITION,1);
python代码参考
import pandas as pd
import numpy as np
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)
# 至少5根均线重合
ma_list = [df['close'].rolling(window=i).mean() for i in range(1, 6)]
ma_sum = sum([1 if ma_list[i].iloc[-1] == ma_list[i+1].iloc[-1] else 0 for i in range(4)])
cond3 = ma_sum >= 5
basic_cond = cond1 & cond2 & cond3
df = df.loc[basic_cond].reset_index()
return df
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
