问财量化选股策略逻辑
- 至少5根均线重合的股票: 这个逻辑表示股票的价格趋势比较稳定,因为至少5根均线代表了不同时间段的平均价格,如果这些平均价格重合在一起,说明股票的价格波动比较小,比较稳定。
- 昨天换手率>8%: 这个逻辑表示股票的交易活跃度比较高,因为昨天的换手率大于8%,说明股票在昨天有比较大的成交量,说明市场对这只股票比较感兴趣。
- 30日平均线向上: 这个逻辑表示股票的价格趋势比较向上,因为30日平均线向上,说明股票在过去的30天里,价格一直在上涨,这是一个比较积极的信号。
选股逻辑分析
以上三个逻辑结合起来,可以筛选出那些价格趋势稳定、交易活跃度高、价格趋势向上的股票,这些股票可能具有较好的投资价值。
有何风险?
虽然以上三个逻辑结合起来可以筛选出一些比较好的股票,但是仍然存在一定的风险。首先,这些股票的价格趋势可能并不是一直向上的,可能会出现回调的情况。其次,这些股票的交易活跃度也可能会下降,导致股票的价格波动加大。最后,股票市场存在较大的不确定性,因此以上策略并不是100%准确的。
如何优化?
为了优化以上策略,可以考虑加入更多的因素,例如股票的市盈率、市净率等,这些因素可以帮助筛选出更加优质的股票。此外,还可以考虑加入技术分析的因素,例如股票的K线图、布林线等,这些因素可以帮助更好地判断股票的价格趋势。
最终的选股逻辑
以下是最终的选股逻辑:
- 筛选出至少5根均线重合的股票。
- 筛选出昨天换手率大于8%的股票。
- 筛选出30日平均线向上的股票。
- 筛选出市盈率低于行业平均市盈率、市净率高于行业平均市净率的股票。
- 筛选出K线图上出现金叉或者向上突破形态的股票。
python代码参考
以下是筛选股票的python代码:
import talib
def select_stock():
# 获取所有A股股票的代码
codes = get_stock_codes()
# 筛选出至少5根均线重合的股票
filtered_codes = []
for code in codes:
# 获取股票的历史K线数据
k_data = get_k_data(code)
# 计算5日、10日、20日、60日、120日均线
ma5, ma10, ma20, ma60, ma120 = talib.MA(k_data['close'], timeperiods=[5, 10, 20, 60, 120])
# 判断5日、10日、20日、60日、120日均线是否重合
if ma5[-1] == ma10[-1] == ma20[-1] == ma60[-1] == ma120[-1]:
filtered_codes.append(code)
# 筛选出昨天换手率大于8%的股票
filtered_codes = []
for code in filtered_codes:
# 获取股票昨天的成交量和换手率数据
v_data = get_v_data(code)
# 获取昨天的换手率
yesterday_v = v_data['volume'][-1] / v_data['close'][-1]
if yesterday_v > 8:
filtered_codes.append(code)
# 筛选出30日平均线向上的股票
filtered_codes = []
for code in filtered_codes:
# 获取股票的历史K线数据
k_data = get_k_data(code)
# 计算30日平均线
ma30 = talib.MA(k_data['close'], timeperiod=30)
# 判断30日平均线是否向上
if ma30[-1] > ma30[-2]:
filtered_codes.append(code)
# 筛选出市盈率低于行业平均市盈率、市净率高于行业平均市净率的股票
filtered_codes = []
for code in filtered_codes:
# 获取股票的财务数据
f_data = get_f_data(code)
# 获取行业平均市盈率和市净率
pe = f_data['pe'] / f_data['pb']
if pe < f_data['industry_avg_pe'] and pe > f_data['industry_avg_pb']:
filtered_codes.append(code)
# 筛选出K线图上出现金叉或者向上突破形态的股票
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
