问财量化选股策略逻辑
- 今日增仓占比>5%, 表示最近有主力资金流入,可能是买入信号。
- 昨日股价大于250日均线, 表示股票价格在长期趋势上表现良好,可能是买入信号。
- 30日平均线向上, 表示股票价格在短期趋势上表现良好,可能是买入信号。
选股逻辑分析
- 今日增仓占比>5% 表示主力资金流入,说明市场对该股票有较大兴趣,可能为买入信号。
- 昨日股价大于250日均线 表示股票价格在长期趋势上表现良好,说明该股票具有较好的投资价值。
- 30日平均线向上 表示股票价格在短期趋势上表现良好,说明该股票短期上涨动能较强。
有何风险?
- 如果市场对该股票没有兴趣,主力资金流入也可能是为了拉高出货。
- 股票价格在长期趋势上表现良好并不一定代表短期上涨,可能存在回调风险。
- 30日平均线向上并不代表股票价格一定会继续上涨,可能存在短期回调风险。
如何优化?
- 可以加入更多技术指标来综合分析,如MACD、RSI等。
- 可以加入股票的基本面分析,如盈利能力、负债率等。
- 可以加入股票的行业分析,如行业景气度、政策支持等。
最终的选股逻辑
- 今日增仓占比>5%
- 昨日股价大于250日均线
- 30日平均线向上
- MACD金叉
- RSI在50以上
python代码参考
- 以下代码为示例,仅供参考
import tushare as ts
import talib
# 初始化pro接口
pro = ts.pro_api()
# 获取所有A股股票的代码和名称
df = pro.daily(ts_code='000001.SZ')
codes = df['ts_code'].tolist()
names = df['name'].tolist()
# 获取今日增仓占比
df = pro.basics(ts_code=codes, fields=['net自愿买回', '流通A股'])
df = df.sort_values(by='net自愿买回', ascending=False)
df = df[df['net自愿买回'] > 0]
df['今日增仓占比'] = df['net自愿买回'] / df['流通A股']
df = df.sort_values(by='今日增仓占比', ascending=False)
# 获取昨日股价
df = pro.basics(ts_code=codes, fields=['close'])
df = df.sort_values(by='close', ascending=False)
df = df[df['close'] > 250]
# 获取30日平均线
df = pro.kline(ts_code=codes, fields=['close'], interval='30d')
df = df['close'].rolling(window=30).mean()
# 获取MACD金叉
df['MACD'] = talib.MACD(df['close'], fastperiod=12, slowperiod=26, signalperiod=9)
df['MACDsignal'] = talib.MACD(df['close'], fastperiod=12, slowperiod=26, signalperiod=9)
df['MACDcross'] = (df['MACDsignal'] > df['MACD']).astype(int)
# 获取RSI
df['RSI'] = talib.RSI(df['close'], timeperiod=14)
# 选择符合要求的股票
selected = df[(df['今日增仓占比'] > 0.05) & (df['close'] > 250) & (df['MACDcross'] == 1) & (df['RSI'] > 50)]
# 输出符合条件的股票代码和名称
print(selected['ts_code'].tolist())
print(selected['name'].tolist())
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


