问财量化选股策略逻辑
选股逻辑:元宇宙行业、实现收益率大于0、大单净量排行靠前。
选股逻辑分析
该选股策略要求股票符合元宇宙行业板块、实现收益率大于0,同时选择大单净量排名靠前的个股。通过选择符合元宇宙行业的股票,以及考虑大单净量的排序,可以寻找到一些潜在的超涨潜力个股。
有何风险?
这种选股策略存在选股范围过窄的风险,仅根据大单净量排名来筛选股票,忽略了股票的基本面和技术面因素。同时,选股逻辑对于大单净量加权的算法也需要设计恰当,否则可能存在过分侧重某些大单净量较大的股票,而忽略其他潜在的优质股票。
如何优化?
加入一些基本面和技术指标,例如市盈率、市净率、ROE、MA等,对样本股票进行更完整的筛选。同时,针对大单净量排行存在的缺陷,可以加入排除某些ETF重仓股等股票,提高选股的多样性和鲁棒性。
最终的选股逻辑
选股逻辑:元宇宙行业板块、实现收益率大于0、基本面和技术因素筛选合格、大单净量排行靠前。
同花顺指标公式代码参考
元宇宙行业板块代码:CATEGORY='SW1_zxx'
实现收益率大于0: CLOSE/REF(CLOSE,1) > 1
大单净量排行靠前:SELECT_RANK(string_match(BIGNETAMOUNT), '^[^D].*$') < n
综合条件选股:
CATEGORY='SW1_zxx' AND (CLOSE/REF(CLOSE,1) > 1) AND (其他基本面和技术指标筛选条件) AND (SELECT_RANK(string_match(BIGNETAMOUNT), '^[^D].*$') < n)
其中n为自定义的前n名个数。
python代码参考
import tushare as ts
ylj_stocks = ts.get_zz500s()
gg_stocks = ylj_stocks[ylj_stocks['industry'] == '元宇宙']['code'].tolist()
selected_stocks = []
# 循环遍历符合元宇宙行业的股票,选出符合条件的股票
for stock in gg_stocks:
if ts.get_realtime_quotes(stock)['name'].empty:
continue
# 判断是否符合条件
if ts.get_hist_data(stock).empty or ts.get_hist_data(stock)['close'].iloc[-1] <= 0:
continue
if ts.get_hist_data(stock)['close'].iloc[-1] / ts.get_hist_data(stock)['close'].iloc[-2] <= 1:
continue
if ts.get_hist_data(stock)['close'].iloc[-2] / ts.get_hist_data(stock)['close'].iloc[-3] <= 1:
continue
# 获取大单净量
dd_jl = ts.get_sina_dd(stock, date='2022-01-03')
dd_jl_sum = sum(dd_jl['volume'] * dd_jl['price']) / 10 ** 6
dd_jl_ratio = dd_jl_sum / ts.get_realtime_quotes(stock)['amount'].iloc[0]
# 如果成交额过小,则排除
if ts.get_realtime_quotes(stock)['amount'].iloc[0] < 50000000:
continue
display_name = ts.get_stock_basics().loc[stock]['name']
selected_stocks.append((stock, display_name, ts.get_realtime_quotes(stock)['price'].iloc[0], dd_jl_ratio))
# 按大单净额比例排序并输出名称
selected_stocks = sorted(selected_stocks, key=lambda x: x[3], reverse=True)
selected_stocks = [x[1] for x in selected_stocks]
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


