问财量化选股策略逻辑
首先,我们定义一个函数来筛选至少5根均线重合的股票。具体来说,我们定义一个函数get_crossing_moments()
,该函数接受一个股票的收盘价数据作为输入,并返回一个包含至少5根均线重合的股票的列表。
def get_crossing_moments(prices):
# 计算移动平均线
mom1 = prices.rolling(window=10).mean()
mom2 = prices.rolling(window=20).mean()
mom3 = prices.rolling(window=30).mean()
mom4 = prices.rolling(window=40).mean()
mom5 = prices.rolling(window=50).mean()
# 筛选出至少5根均线重合的股票
crossing_moments = []
for i in range(1, len(prices)):
if mom1[i] > mom2[i] and mom2[i] > mom3[i] and mom3[i] > mom4[i] and mom4[i] > mom5[i]:
crossing_moments.append(prices[i])
return crossing_moments
接下来,我们按照股票的规模大小排序,并返回前20个股票的列表。
def get_sorted_crossing_moments(prices):
crossing_moments = get_crossing_moments(prices)
sorted_crossing_moments = sorted(crossing_moments, key=lambda x: x.shape[0], reverse=True)
return sorted_crossing_moments[:20]
最后,我们将上述两个函数组合在一起,得到最终的选股逻辑。
def get_top_crossing_moments(prices):
crossing_moments = get_crossing_moments(prices)
sorted_crossing_moments = sorted(crossing_moments, key=lambda x: x.shape[0], reverse=True)
return sorted_crossing_moments[:20]
选股逻辑分析
该策略的逻辑是基于股票的收盘价数据,计算移动平均线,并筛选出至少5根均线重合的股票。然后,按照股票的规模大小排序,并返回前20个股票的列表。这种策略的优点是简单易懂,可以快速筛选出规模较大的股票。然而,它可能无法捕捉到一些重要的市场趋势
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
