问财量化选股策略逻辑
选股逻辑:振幅大于1,北京A股除外,按个股热度从大到小排序名。
选股逻辑分析
该选股逻辑主要以股票价格的波动性、地域分类以及热度作为选股指标。具体逻辑如下:
- 选取波动性大于1的股票;
- 排除北京A股,减少地域限制;
- 按个股热度从大到小排序。
有何风险?
该选股逻辑可能存在以下风险:
- 忽略了基本面分析;
- 忽略了市场走势的影响;
- 只注重短期热度,忽略了股票长期表现。
如何优化?
为了改善上述可能存在的风险,可以从以下几个方面对选股逻辑进行优化:
- 综合考虑基本面和技术分析指标;
- 对选股策略中的技术分析指标进行组合运用;
- 进行市场的大趋势分析。
最终的选股逻辑
改进后的选股逻辑如下:
- 振幅大于2%;
- 长期基本面指标符合;
- 排除北京A股;
- 均线组合向上发散;
- 综合考虑市场热度;
- 选股数量不少于5个。
同花顺指标公式代码参考
考虑到此选股逻辑选股的繁多限制,同花顺指标公式代码可以参考以下:
//振幅大于2%
IF((HIGH-LOW)/LOW>0.02 AND NOT(ISBJA),1,0)
//均线组合向上发散
MA(CLOSE, 5) >= MA(CLOSE, 10) AND MA(CLOSE, 10) >= MA(CLOSE, 20)
//长期基本面指标符合
IF((ISSUSPENSION=0) AND TOWEEKS((CURRENT - FY1EPS)/(CURRENT * TOTALSHARES*10000/NETASSET)=0 AND NOT(ISBJA), 1, 0)
//个股热度
Rank(CAPITALIZATION/TURNOVER, 1)
python代码参考
选股逻辑的python代码可以参考以下:
def multi_factor_picker(context):
# 振幅大于2%,排除北京A股,长期基本面指标符合
exc_stocks = context.exc_stocks[
((context.stocks.high - context.stocks.low) / context.stocks.low > 0.02) &
~(context.stocks.board == '北京A股') &
(basic_fundamental_judge(context.stocks))
]
# 均线组合向上发散
ma_rule = [(context.stocks.close >= context.stocks.close.rolling(5).mean()) &
(context.stocks.close.rolling(5).mean() >= context.stocks.close.rolling(10).mean()) &
(context.stocks.close.rolling(10).mean() >= context.stocks.close.rolling(20).mean())]
exc_stocks = exc_stocks[ma_rule]
# 考虑个股热度
exc_stocks['rank'] = exc_stocks['market_cap'] / exc_stocks['turnover_rate']
exc_stocks['rank'] = exc_stocks['rank'].rank(method='max', ascending=False)
exc_stocks = exc_stocks.sort_values('rank')
# 返回选中的股票代码
# ...
注意事项
此回答中的选股逻辑、指标公式和python代码仅供参考,具体实现需要根据自身投资策略进行相应的调整。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
