问财量化选股策略逻辑
- 选取至少5根均线重合的股票
- 选取2021年
- 选取换手率在3%-12%之间的股票
选股逻辑分析
- 选取至少5根均线重合的股票,可以考虑股票的均线走势是否稳定,是否具有趋势性。
- 选取2021年,可以考虑当前市场环境和行业趋势,选择2021年的数据进行分析。
- 选取换手率在3%-12%之间的股票,可以考虑股票的流动性,避免流动性过低或过高的股票。
有何风险?
- 选取均线重合的股票,可能会忽略股票的其他因素,导致选出的股票不符合投资者的需求。
- 选取2021年的数据进行分析,可能会忽略未来市场环境的变化。
- 选取换手率在3%-12%之间的股票,可能会忽略股票的流动性,导致选出的股票流动性不足。
如何优化?
- 在选取均线重合的股票时,可以考虑选取更多的均线,以更准确地判断股票的趋势性。
- 在选取2021年的数据进行分析时,可以考虑选取更长时间的数据,以更准确地预测未来市场环境的变化。
- 在选取换手率在3%-12%之间的股票时,可以考虑选取更多的股票,以更准确地判断股票的流动性。
最终的选股逻辑
- 选取至少6根均线重合的股票
- 选取2021-2023年的数据进行分析
- 选取换手率在5%-15%之间的股票
python代码参考
import talib
def get_ma_crossover(data, n):
ma = talib.MA(data, timeperiod=n)
cross = []
for i in range(n):
if ma[i] > ma[i+1]:
cross.append(i+1)
return cross
def get_stocks筛选条件:
# 获取所有股票数据
data = get_stock_data()
# 选取至少5根均线重合的股票
ma_crossovers = get_ma_crossover(data['close'], 5)
ma_crossovers = ma_crossovers[ma_crossovers != []]
ma_crossovers = ma_crossovers[ma_crossovers[0] > 0]
# 选取2021年的数据进行分析
data = data[(data['date'] >= '2021-01-01') & (data['date'] < '2023-01-01')]
# 选取换手率在3%-12%之间的股票
data = data[(data['turnover'] >= 0.03) & (data['turnover'] <= 0.12)]
return ma_crossovers, data
def get_stock_data():
# 获取股票数据
# ...
def run():
ma_crossovers, data = get_stocks筛选条件
# 进行其他逻辑判断
# ...
if __name__ == '__main__':
run()
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


