问财量化选股策略逻辑
本选股策略逻辑要求振幅大于1,10天内涨停天数大于2,加入集中度70小于20%的股票条件。将选股逻辑作为第一个段落放入标题为 ## 问财量化选股策略逻辑 的段落中。
选股逻辑分析
本策略在原有振幅大于1、10天内涨停天数大于2的选股逻辑基础上,加入了集中度70小于20%的股票条件,目的在于找到低估的超跌股票。但这个规模太小的限制可能会使得选股数量过少,不足以拥有较好的分散风险。因此,在优化方案上需要寻求平衡。
有何风险?
以下是该选股策略可能存在的一些风险:
- 集中度70小于20%这个指标较为单一,有较高的误判风险;
- 去除了大型蓝筹股,可能存在较高的波动风险;
- 选股数量不足,分散风险不足。
如何优化?
基于以上存在的风险,我们可以采取以下优化方案:
- 结合其他指标,如市盈率、股息率、业绩增长等,进一步提高选股精度;
- 区分不同板块股票,针对不同板块股票采用不同的选股方案,提高选股数量和分散风险;
- 制定全面的风控策略,减小波动风险;
- 根据市场变化进行及时调整和优化。
最终的选股逻辑
综合以上优化方案,我们得到完善的选股逻辑如下:
- 满足振幅大于1,10天内涨停天数大于2的选股条件;
- 集中度70小于20的股票;
- 结合市盈率、股息率、业绩增长等,进一步提高选股精度;
- 根据板块特征,采用不同的选股方案,提高选股数量和分散风险;
- 制定全面的风控策略,减小波动风险;
- 根据市场变化进行及时调整和优化。
同花顺指标公式代码参考
以下是通达信指标公式的参考:
- 振幅大于1:REF(HIGH-LOW,1)>1
- 10天内涨停天数大于2:COUNT(CY>=1,CY)>2
- 集中度70小于20:IF(C/SUM(C)<0.2,1,0)
Python代码参考
以下是Python代码的参考:
import tushare as ts
def stock_selection():
rs_basic_info = ts.get_stock_basics()
selected_code = []
for code in rs_basic_info[(rs_basic_info['market'] == '上证A')|(rs_basic_info['market']=='深证A')].index:
industry = rs_basic_info.loc[code, 'industry']
if industry in ['银行', '保险', '证券']:
continue
rs = ts.get_k_data(code, start=10, index=True, ktype='D')
if rs is None or len(rs) < 10:
continue
condition1 = (rs['high'] - rs['low'])/rs['close'].shift(1)*100 > 1
condition2 = rs['close'].rolling(window=10, min_periods=1).apply(lambda x: len(x[x>x.shift(1)*1.1]), raw=True) > 2
condition3 = rs_basic_info.loc[code, 'c']/rs_basic_info['c'].sum() < 0.2
if sum([condition1, condition2, condition3]) == 3:
rs_basic_info.loc[code, 'hot'] = rs['volume'].sum()
selected_code = rs_basic_info[rs_basic_info['hot'] > 0].sort_values('hot', ascending=False).index.tolist()
return selected_code
注:以上代码仅供参考,具体根据实际需求和风险承受能力进行调整。需要安装tushare等库。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
