问财量化选股策略逻辑
首先,我们定义了以下三个条件来筛选股票:
- 换手率:要求股票的换手率在2%到9%之间,这个条件可以筛选出比较活跃的股票,避免冷门股。
- PE:要求股票的市盈率大于0,这个条件可以筛选出具有投资价值的股票。
- 五根均线重合:要求股票的五根均线(包括5日、10日、20日、60日和120日均线)重合,这个条件可以筛选出趋势较为稳定的股票。
选股逻辑分析
这个策略的逻辑是通过筛选出符合以上三个条件的股票,来找到具有投资价值和活跃度的股票。这些股票的趋势较为稳定,可能会有较好的投资回报。
有何风险?
这个策略的局限性在于,它只能筛选出符合特定条件的股票,而不能对整个市场进行全面分析。另外,股票市场的波动性较大,即使符合上述条件的股票也可能出现短期波动,因此投资者需要谨慎考虑。
如何优化?
为了优化这个策略,我们可以考虑加入更多的条件来筛选股票,例如加入股票的市值、行业等信息。另外,我们也可以考虑加入技术指标来更好地分析股票的趋势和波动性。
最终的选股逻辑
以下是最终的选股逻辑:
- 换手率:要求股票的换手率在2%到9%之间。
- PE:要求股票的市盈率大于0。
- 五根均线重合:要求股票的五根均线(包括5日、10日、20日、60日和120日均线)重合。
- 市值:要求股票的市值在一定范围内。
- 行业:要求股票所在行业具有一定的投资价值。
以下是最终的python代码参考:
import talib
def get_stock_data(symbol):
# 获取股票的历史数据
data = yf.download(symbol, start='2020-01-01', end='2021-12-31')
# 计算五根均线
ma5 = talib.MA(data['close'], timeperiod=5)
ma10 = talib.MA(data['close'], timeperiod=10)
ma20 = talib.MA(data['close'], timeperiod=20)
ma60 = talib.MA(data['close'], timeperiod=60)
ma120 = talib.MA(data['close'], timeperiod=120)
# 计算五根均线的重合情况
is_converged = ma5[-1] == ma10[-1] == ma20[-1] == ma60[-1] == ma120[-1]
# 返回符合条件的股票数据
return data[(data['close'] > 0) & (data['close'] < data['close'].max()) & (data['volume'] > 2000000) & (data['volume'] < 90000000) & is_converged]
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


