问财量化选股策略逻辑
选股逻辑:振幅大于1, 机器人概念且流通市值小于100亿, 下午大单净流入。
选股逻辑分析
该选股策略在振幅、机器人概念和流通市值等因素基础上,加入了大单净流入的因素,旨在挑选出股价波动性较大、且具有资金面支撑的高成长股。振幅、机器人概念和流通市值是在市场趋势、行业方向和公司基本面等方面进行考虑,大单净流入则是从市场资金面考虑,通过对比个股近期成交量与流通股本的比例并观察下午股价涨跌趋势,筛选出可能受到机构资金追捧的标的股。
有何风险?
该选股策略可能存在以下风险:
- 大单资金的来源和动向不易准确把握,可能导致选出的股票出现过早进出或者长期滞涨的局面;
- 振幅过大的股票容易造成投资风险和成交量的集中效应;
- 本策略较为依赖技术面,未充分考虑长期的基本面和行业趋势因素。
如何优化?
为减少风险,可以从以下几个方面进行改进:
- 结合市场情况和历史交易数据,准确并适时地判断实际大单净流入情况,避免因短期突发事件引起的误判;
- 在振幅和大单净流入的条件下,加入其它因素的排除,如短期大幅跌停后的股票,以降低卖出风险,并确保筛选出的股票有一个较好的上涨空间和回报率。
- 在技术面的基础上,进一步综合考虑行业趋势和基本面,从而进一步优化选股策略的可靠性和稳定性。
最终的选股逻辑
综上所述,最终的选股逻辑如下:
- 振幅大于1、机器人概念、流通市值小于100亿;
- 下午股价呈现上涨趋势且大单净流入,流通股本的流动性较好;
- 进一步筛选出财务数据可观、业绩表现较好,并有成长空间的个股。
同花顺指标公式代码参考
为了实现选股逻辑,可以结合同花顺提供的指标公式,如下:
// 振幅
A1 = ((H - L) / L) > 0.01;
// 机器人概念
B1 = CONCEPT IN ("智能机器人");
// 流通市值小于100亿
C1 = CAPITALIZATION < 100000000;
// 下午净大单流入
V1 = ((V - REF(V, 1)) / (V + REF(V, 1))) > 0;
O1 = ((C - REF(C, 1)) / REF(C, 1)) > 0;
D1 = ((O - REF(O, 1)) / REF(O, 1)) > 0;
T1 = ((D1 AND O1) OR (D1 AND NOT O1 AND C1 > 0)) AND V1;
// 合并条件
IF(A1 AND B1 AND C1 AND T1, 1, 0)
Python代码参考
为了实现选股逻辑,可以结合Python的pandas等模块和优矿的数据API,如下:
# 获取股票数据和MA数据
stock_data = get_stock_data()
# 判断振幅是否符合条件
stock_data['amplitude'] = (stock_data['high'] - stock_data['low']) / stock_data['low']
stock_data['amplitude_condition'] = stock_data['amplitude'] > 0.01
# 判断是否为机器人概念股票
concept_stocks = get_concept_stocks(['智能机器人'])
stock_data['concept_condition'] = stock_data['code'].isin(concept_stocks)
# 判断流通市值是否符合条件
stock_data['capitalization_condition'] = stock_data['market_cap'] < 100000000
# 判断是否为下午股价上涨且大单净流入
pm_data = get_stock_pm_data()
pm_data['pm_condition'] = (pm_data['vol'] - pm_data['vol'].shift(1)) / pm_data['vol'].shift(1) > 0
pm_data['price_condition'] = (pm_data['close'] - pm_data['open']) / pm_data['open'] > 0
pm_data['pm_price_condition'] = pm_data['pm_condition'] & pm_data['price_condition']
pm_stocks = pm_data[pm_data['pm_price_condition']].index.tolist()
stock_data['pm_condition'] = stock_data['code'].isin(pm_stocks)
# 合并条件
df = pd.concat([stock_data['amplitude_condition'], stock_data['concept_condition'], stock_data['capitalization_condition'], stock_data['pm_condition']], axis=1)
exc_stocks = df[df.all(axis=1)]
# 进一步筛选出具有业绩表现和成长潜力的个股
selected_stocks = filter_performance_grow(exc_stocks)
注意事项:本回答中的选股逻辑、指标公式和Python代码仅供参考,实现过程中需要根据具体投资策略进行作出一定的调整和优化。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
