问财量化选股策略逻辑
选股逻辑:振幅大于1,机器人概念且流通市值小于100亿,10天内涨停天数大于2。
选股逻辑分析
该选股策略在基础选股条件基础上,加入了涨停板的统计信息,旨在选取最近表现较好、走势较为稳健的标的股票。
有何风险?
该选股策略可能存在以下风险:
- 过分依赖最近的涨停情况,可能忽略长期的市场表现;
- 选股条件过于苛刻,可能会过滤掉大量标的股票;
- 可能存在操作不当、追高杀跌等风险。
如何优化?
为了降低风险,可以从以下几个方面进行改进:
- 加入一些基本面的指标和分析手段,进行补充和辅助;
- 结合资金管理原则,为选股策略制定一定的风险控制措施;
- 适当放宽选股条件,以规避由于选股条件过于苛刻而带来的风险。
最终的选股逻辑
综上,最终的选股逻辑如下:
- 振幅大于1,机器人概念且流通市值小于100亿;
- 10天内涨停天数大于2。
同花顺指标公式代码参考
为了实现选股逻辑,可以结合同花顺提供的指标公式,如下:
// 振幅
A1 = ((H - L) / L) > 0.01;
// 机器人概念
B1 = CONCEPT IN ("智能机器人");
// 流通市值小于100亿
C1 = CAPITALIZATION < 100000000;
// 10天内涨停天数
D1 = COUNT(IF(CLOSE = REF(LIMITUP, 1), 1, 0), 10) > 2;
// 合并条件
IF(A1 AND B1 AND C1 AND D1, 1, 0)
Python代码参考
为了实现选股逻辑,可以结合Python的pandas等模块和优矿的数据API,如下:
# 获取股票数据和财务数据
stock_data = get_stock_data()
fin_data = get_fin_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
# 判断10天内涨停天数是否符合条件
stock_data['limit_up'] = (stock_data['close'] == stock_data.groupby('code')['close'].shift(1) * 1.1)
stock_data['limit_up_count'] = stock_data.groupby('code')['limit_up'].rolling(10).sum().reset_index()['limit_up']
stock_data['limit_up_condition'] = stock_data['limit_up_count'] > 2
# 合并选股条件
cond_data = stock_data[['code', 'amplitude_condition', 'concept_condition', 'capitalization_condition', 'limit_up_condition']]
cond_data['cond'] = cond_data[['amplitude_condition', 'concept_condition', 'capitalization_condition', 'limit_up_condition']].all(axis=1)
exc_stocks = cond_data[cond_data['cond']]
# 对选中的个股进行进一步筛选
# ...
注意事项:本回答中的选股逻辑、指标公式和Python代码仅供参考,实现过程中需要根据具体投资策略进行作出一定的调整和优化。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
