问财量化选股策略逻辑
该选股策略选择元宇宙行业中,符合以下条件的股票进行投资:股票均价站在五日均线之上,集中度小于20%,且集中度70%以上。
选股逻辑分析
该选股策略的选股条件包括:选择元宇宙行业,股票均价站在五日均线之上,集中度小于20%,且集中度70%以上。
选择元宇宙行情和股票均价在五日均线之上的理由同上一个选股逻辑。但这里选出的标的相较与上一个更加注重机构的持仓情况,筛选出集中度70%以上,同时又不会出现集中度过高的标的,即集中度小于20%。
但需要注意的是,机构资金的流入不一定意味着后续股价的上涨,同时也应该考虑到市场的风险因素,避免集中度过高导致风险过大。
有何风险?
该选股策略存在以下风险:
-
过于依赖机构资金的流入情况,可能会忽略股票的基本面质量;
-
机构资金的流入不一定意味着后续股价变动,有时可能会存在超调行情等特殊情况;
-
由于集中度70%以上的标的较少,所以资产配置比较集中,风险较大。
如何优化?
为了减小选股策略的风险,可以进行如下优化:
-
在选择标的时,加入股票基本面指标、技术面指标等因素,全面了解每个标的的质量;
-
加入其他因素进行选股,如成长性、行业前景等;
-
建议在资产配置中,进行多元化分散投资,降低风险。
最终的选股逻辑
该选股策略选择元宇宙行业中,符合以下条件的股票进行投资:股票均价站在五日均线之上,集中度小于20%,且集中度70%以上。
具体的选股条件为:
- 元宇宙行情为GNXQ;
- 股票均价在五日均线之上;
- 所有机构持仓的前5个加起来的持股比例占总股本比例大于70%,但单一机构持股比例要小于20%。
因此,该选股策略综合考虑了技术面和基本面的因素,同时加入了机构持股的考量,较为全面地选出了优秀标的。
同花顺指标公式代码参考
- 元宇宙行情:GNBK('gnxq')
- 五日均线:MA(C,5)
- 所有机构持股的前5个加起来的持股比例占总股本比例:sum_hld_sum(5) / tot_shrhl / 100 >= 70
- 单一机构持股比例:hld_sum(1) / tot_shrhl / 100 <= 20
因此,该选股的最终选股公式为:
GNBK('gnxq') AND (C > MA(C,5)) AND (sum_hld_sum(5) / tot_shrhl / 100 >= 70) AND (hld_sum(1) / tot_shrhl / 100 <= 20)
其中,C表示股票的收盘价,MA表示股票的移动平均线。
Python代码参考
import pandas as pd
import tushare as ts
def stock_selector(date, industry):
ts.set_token('your_token')
pro = ts.pro_api()
data1 = pro.query('stock_basic', exchange='', list_status='L', fields='ts_code, name, industry, list_date, circ_mv, pe_ttm, pb, roe')
data2 = pro.daily_basic(trade_date=date, fields='ts_code, close')
data3 = pro.query('top10_holders', trade_date=date, ts_code='', fields='ts_code,ann_date,end_date,hld_sum,hld_ratio,holder_name')
data_merge_1 = pd.merge(data1, data2, on='ts_code', how='inner')
data_merge_2 = pd.merge(data_merge_1, data3, on='ts_code', how='left')
data_merge_3 = data_merge_2[data_merge_2['industry']==industry]
data_merge_4 = data_merge_3[data_merge_3['close'] > data_merge_3['close'].rolling(window=60).mean()]
data_merge_5 = data_merge_4.groupby('ts_code').apply(lambda x: x[x['hld_ratio'] == x['hld_ratio'].max()])
data_merge_6 = data_merge_5.groupby('ts_code').apply(lambda x: x[x['hld_ratio'] >= 70])
data_merge_7 = data_merge_6.groupby('ts_code').apply(lambda x: x[x['hld_ratio'] <= 20])
data_merge_8 = data_merge_7.reset_index(drop=True)
return data_merge_8[['ts_code', 'name']]
其中,参数industry为所选元宇宙的行业名称。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


