问财量化选股策略逻辑
- 今日增仓占比>5%
- 周线MA5金叉MA10
- 换手率3%-12%
选股逻辑分析
- 今日增仓占比>5%:表示股票近期有明显的资金流入,说明市场对该股票的看好程度较高,有利于股票的上涨。
- 周线MA5金叉MA10:表示股票的短期和长期趋势是向上的,说明股票有较强的上涨动力。
- 换手率3%-12%:表示股票的换手率处于合理范围内,说明市场对该股票的关注度适中,有利于股票的稳定。
有何风险?
- 今日增仓占比>5%:如果资金流入量过大,可能会导致股票短期内涨幅过高,从而带来一定的风险。
- 周线MA5金叉MA10:如果股票的短期和长期趋势已经处于上升阶段,那么在金叉时买入可能会面临追高的风险。
- 换手率3%-12%:如果换手率过低,说明市场对该股票的关注度较低,可能会导致股票的流动性不足,从而带来一定的风险。
如何优化?
- 可以将换手率的范围调整为2%-8%,以适应不同市场环境。
- 可以将今日增仓占比的阈值调整为3%,以适应不同股票的市场表现。
- 可以考虑加入其他因素,如股票的市值、业绩等,以提高策略的准确性和稳定性。
最终的选股逻辑
def select_stock():
# 今日增仓占比
today_net_flow = get_net_flow()
today_net_flow_ratio = today_net_flow / today_net_flow.shift(1)
today_net_flow_ratio = today_net_flow_ratio.fillna(0)
today_net_flow_ratio = today_net_flow_ratio.apply(lambda x: x if x > 0.05 else 0.0)
# 周线MA5金叉MA10
ma5 = df['close'].rolling(window=5).mean()
ma10 = df['close'].rolling(window=10).mean()
crossover = ma5 > ma10
crossover = crossover.shift(1)
crossover = crossover.fillna(0)
crossover = crossover.apply(lambda x: x if x == 1 else 0)
# 换手率
turnover = df['volume'] / df['close'] * 100
turnover = turnover.fillna(0)
turnover = turnover.apply(lambda x: x if x > 3 and x < 12 else 0)
# 今日增仓占比与周线MA5金叉MA10的组合
combination = today_net_flow_ratio & crossover
# 今日增仓占比与换手率的组合
combination2 = today_net_flow_ratio & turnover
# 选择符合条件的股票
selected_stocks = df[(combination | combination2) == 1]
return selected_stocks
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。