问财量化选股策略逻辑
选股条件为:振幅大于1、机构抄底、机器人概念和流通市值小于100亿元,选出符合条件的个股。在每日开盘后选股票。
选股逻辑分析
该选股策略是基于四个条件进行选股,振幅大于1说明股票波动较大,机构抄底则说明股票价值被机构认可。机器人概念的选取是基于当前市场潮流和热点。流通市值小于100亿元是为了筛选一些市值相对较小但有潜力的股票。这四个条件相互作用,能够筛选出相对符合条件、有潜力的个股。
有何风险?
机器人概念可能是短期的热点,如果只重视机器人概念而忽视股票本身的基本面,可能导致选出的股票短期涨幅较高,但中长期的表现较差。流通市值小于100亿元可能会选出一些小市值、流通性较差的仓位较小的公司,投资者需注意风险和收益的平衡。
如何优化?
可以适当增加筛选条件,如盈利能力、现金流等指标,在综合评估的基础上再进行选股。筛选的数据、指标可以适当扩充,引入更多的非结构化数据或其他数据源。同时需要研究多个指标的表现,做到选股策略科学合理。
最终的选股逻辑
选股条件为:振幅大于1(SYNJZ('AMO',5) > 1)、机构抄底(ABS(ORG_DIFF_VOL_TO-ORG_DIFF_VOL_YESTERDAY) > 0)、机器人概念(F2 > REF(F2,1) AND F2 > 0)和流通市值小于100亿元(CIRCULAT_MARKET_CAP < 100),选出符合条件的个股。在每日开盘后选股票。
同花顺指标公式代码参考
振幅大于1:SYNJZ('AMO',5) > 1
;
机构抄底:ABS(ORG_DIFF_VOL_TO-ORG_DIFF_VOL_YESTERDAY) > 0
;
机器人概念:F2 > REF(F2,1) AND F2 > 0
;
流通市值小于100亿元:CIRCULAT_MARKET_CAP < 100
;
最终选股条件:SYNJZ('AMO',5) > 1 AND ABS(ORG_DIFF_VOL_TO-ORG_DIFF_VOL_YESTERDAY) > 0 AND F2 > REF(F2,1) AND CIRCULAT_MARKET_CAP < 100
。
Python代码参考
import tushare as ts
def get_selected_stocks():
# 振幅大于1
condition1 = SYNJZ('AMO',5) > 1
# 机构抄底
org_data = ts.get_hist_data('600519', '20210901', '20211001')
org_data['ORG_DIFF_VOL_TO'] = org_data['turnover'] - org_data['volume']
org_data['ORG_DIFF_VOL_YESTERDAY'] = org_data['ORG_DIFF_VOL_TO'].shift(1)
condition2 = abs(org_data['ORG_DIFF_VOL_TO'] - org_data['ORG_DIFF_VOL_YESTERDAY']) > 0
# 机器人概念
df = ts.get_concept_classified()
condition3 = df[df['c_name'] == '机器人'].index.tolist()
condition3 = pd.Series(index=condition3, data=True)
# 流通市值小于100亿元
stock_data = ts.get_stock_basics()
condition4 = stock_data['circular_market_cap'] < 100
# 获取符合条件的股票
selected_data = stock_data[condition1 & condition2 & condition3 & condition4].index.tolist()
return selected_data
result = get_selected_stocks()
print(result)
注:以上代码仅供参考,实际选股可结合具体情况进行适度修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
