问财量化选股策略逻辑
选取振幅大于1、机构资金动向大于0、机器人概念且流通市值小于100亿的股票作为选股对象。
选股逻辑分析
选股逻辑加入了机器人概念和流通市值的筛选条件,机器人概念可以筛选出具有未来发展潜力的企业,而流通市值小于100亿可以筛选出规模较小的企业,有望在未来成为投资机会。综合考虑以上的指标进行股票筛选,能够更准确地找到优质股票。
有何风险?
该选股策略也存在类似于前一个策略的风险,只考虑了部分指标导致可能忽略了企业内在的风险。同时,机器人概念及流通市值条件筛选也可能存在选股过于偏好小盘股、概念股的问题,从而增加风险。
如何优化?
可以引入更多的指标和条件作为筛选因素,例如 PE、PB、ROE 等财务指标,以及行业竞争力等因素,以减少筛选出偏好小盘股、概念股等情况。同时需要根据市场情况和投资者需求动态调整筛选条件。
最终的选股逻辑
选取振幅大于1、机构资金动向大于0的机器人概念股且流通市值小于100亿的股票作为选股对象,并综合考虑其他关键因素。
同花顺指标公式代码参考
// 筛选振幅大于1的股票
amplitude = (HIGH - LOW) / OPEN
amplitude_bool = amplitude > 1
// 筛选机构资金动向大于0的股票
FUND_NET_AMOUNT = IF(NETFAMOUNT>0,NETFAMOUNT,0)
sum_fund_net_amount = SUM(FUND_NET_AMOUNT, 5)
fund_trend_bool = sum_fund_net_amount > 0
// 筛选机器人概念股
robot_bool = MAP_TRUE_IN_ELEMENT('所属概念', {'机器人'}) == 1
// 筛选流通市值小于100亿的股票
circulation_value = CIRCULAVAL / 100000000
circulation_value_bool = circulation_value < 100
// 筛选符合条件的股票
result = amplitude_bool & fund_trend_bool & robot_bool & circulation_value_bool
// 输出筛选结果
result
Python代码参考
import tushare as ts
# 筛选条件1:振幅大于1
today_data = ts.get_today_all()
amplitude = (today_data['high'] - today_data['low']) / today_data['open']
amplitude_bool = amplitude > 1
# 筛选条件2:机构资金动向大于0
fund_data = ts.fund_holdings(2020, 3)
sum_fund_net_amount = fund_data.groupby('code')['net_amount'].sum().fillna(0)
fund_trend_bool = sum_fund_net_amount > 0
# 筛选条件3:机器人概念股
concepts_data = ts.get_concept_classified()
robot_bool = concepts_data['name'].str.contains("机器人")
# 筛选条件4:流通市值小于100亿
circulation_value = today_data['circulating_market_cap'] / 100000000
circulation_value_bool = circulation_value < 100
# 筛选符合条件的股票
result = amplitude_bool & fund_trend_bool & robot_bool & circulation_value_bool
# 输出筛选结果
final_result = today_data.loc[result].sort_values(by=["turnoverratio"],ascending=False)
print(final_result)
注:以上为示例代码,请根据实际情况进行调整。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
