问财量化选股策略逻辑
- 至少5根均线重合的股票
- 昨天换手率>8%
- 底部抬高
选股逻辑分析
- 该策略首先筛选出至少5根均线重合的股票,这表明这些股票的走势较为稳定,同时也可能表明这些股票的价格走势较为一致。
- 筛选出昨天换手率>8%的股票,这表明这些股票的交易活跃度较高,可能存在较好的市场机会。
- 筛选出底部抬高的股票,这表明这些股票的价格走势呈现上升趋势,可能存在较好的投资机会。
有何风险?
- 该策略可能无法准确预测股票的价格走势,因此可能存在投资风险。
- 该策略可能无法准确筛选出具有投资价值的股票,因此可能存在投资风险。
- 该策略可能受到市场波动的影响,因此可能存在投资风险。
如何优化?
- 可以通过增加均线数量来提高策略的准确性。
- 可以通过调整换手率的筛选标准来提高策略的准确性。
- 可以通过调整底部抬高的筛选标准来提高策略的准确性。
最终的选股逻辑
- 通过筛选出至少5根均线重合的股票,筛选出昨天换手率>8%的股票,筛选出底部抬高的股票,将这些股票进行组合,得到最终的股票池。
python代码参考
- 以下是使用pandas和numpy库实现该策略的示例代码:
import pandas as pd
import numpy as np
def strategy(data):
# 筛选出至少5根均线重合的股票
ma5 = data['close'].rolling(window=5).mean()
ma10 = data['close'].rolling(window=10).mean()
ma20 = data['close'].rolling(window=20).mean()
ma50 = data['close'].rolling(window=50).mean()
ma100 = data['close'].rolling(window=100).mean()
ma200 = data['close'].rolling(window=200).mean()
ma500 = data['close'].rolling(window=500).mean()
ma1000 = data['close'].rolling(window=1000).mean()
if len(set(ma5)) == 5 and len(set(ma10)) == 5 and len(set(ma20)) == 5 and len(set(ma50)) == 5 and len(set(ma100)) == 5 and len(set(ma200)) == 5 and len(set(ma500)) == 5 and len(set(ma1000)) == 5:
# 筛选出昨天换手率>8%的股票
data['yesterday_volume'] = data['volume'].shift(-1)
data = data[(data['yesterday_volume'] > 8) & (data['volume'] > 100000)]
# 筛选出底部抬高的股票
data['bottom'] = data['close'].rolling(window=10).min()
data = data[(data['close'] > data['bottom']) & (data['close'] > data['close'].shift(1))]
# 将这些股票进行组合,得到最终的股票池
return data
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。