问财量化选股策略逻辑
选股逻辑:振幅大于1, 机器人概念且流通市值小于100亿, 昨日主力控盘。
选股逻辑分析
该选股策略在技术面和基本面基础上,加入了主力控盘的条件,旨在挑选出技术和基本面较强,且有可能受到主力资金追捧的标的股票。
有何风险?
该选股策略可能存在以下风险:
- 主力控盘数据的准确性可能受到一些干扰因素的影响,如成交量低、早盘异动、大宗交易等,导致选股不准确;
- 过多看重主力控盘数据,可能会忽略其他公司和行业基本面的变化,导致股价长期偏高;
- 整体市场变化和行情波动可能导致部分标的股出现逆势下跌的情况。
如何优化?
为减少风险,可以从以下几个方面进行改进:
- 提高选股条件和筛选的稳定性,避免受到干扰因素的影响,如提高选股基础筛选条件、减少筛选结果数量等;
- 加入其他技术和基本面因素,如均线交叉、市盈率、市值波动等,提高选股的全面性和准确性;
- 不断优化选股策略,提高其适应性和灵活性,加强风险控制。
最终的选股逻辑
综上,最终的选股逻辑如下:
- 振幅大于1、机器人概念、流通市值小于100亿;
- 昨日主力控盘;
- 具有优秀技术和基本面,符合投资策略要求的个股。
同花顺指标公式代码参考
为了实现选股逻辑,可以结合同花顺提供的指标公式,如下:
// 振幅
A1 = ((H - L) / L) > 0.01;
// 机器人概念
B1 = CONCEPT IN ("智能机器人");
// 流通市值小于100亿
C1 = CAPITALIZATION < 100000000;
// 昨日主力控盘
D1 = (TDX_LAST_C - OUTSTANDING) / VOL > 0.05;
// 合并条件
IF(A1 AND B1 AND C1 AND D1, 1, 0)
Python代码参考
为了实现选股逻辑,可以结合Python的pandas等模块和优矿的数据API,如下:
# 获取股票数据和主力控盘数据
stock_data = get_stock_data()
zl_data = get_zl_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
# 判断是否满足主力控盘条件
stocks_zl = zl_data[zl_data['zl_buy_ratio'] >= 0.05]['ts_code'].tolist()
stock_data['zl_condition'] = stock_data['code'].isin(stocks_zl)
# 合并条件
df = pd.concat([stock_data['amplitude_condition'], stock_data['concept_condition'], stock_data['capitalization_condition'], stock_data['zl_condition']], axis=1)
exc_stocks = df[df.all(axis=1)]
# 进一步筛选出具有优秀技术和基本面,符合策略要求的个股
selected_stocks = filter_tech_and_fundamental(exc_stocks)
注意事项:本回答中的选股逻辑、指标公式和Python代码仅供参考,实现过程中需要根据具体投资策略进行作出一定的调整和优化。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
