问财量化选股策略逻辑
本选股策略为:RSI指标小于65,今日上涨幅度大于1%,主板股票,竞价时涨跌幅买入大单、特大单共计买入量大于0.7千万。期望通过技术面、市场情绪、主流资金和市场热度控制,找到具有较好市场提升空间和投资价值的个股。
选股逻辑分析
本选股策略在原有的技术面、市场情绪和市场热度的选股逻辑上,增加了主流资金的因素。通过竞价时涨跌幅买入大单、特大单共计买入量大于0.7千万,筛选出大单、特大单资金加仓的个股,期望这些个股未来会得到更多的关注和资金推动,有更好的上涨空间。同时,其他选股逻辑与原选股策略相同。期望综合考虑技术面、市场情绪、主流资金和市场热度等因素,找到具有较好市场提升空间和投资价值的个股。
有何风险?
同样存在大单、特大单资金加仓的时点选择不当和干扰因素(如重要消息发布等)可能会对选股产生影响。同时,市场情绪和市场热度的不稳定性也可能会对选股产生影响。需要在风险控制的前提下进行选股。
如何优化?
同样可以加入其他技术指标,如KDJ指标、BOLL指标等,通过多因素分析和深度挖掘,提高选股的准确性和有效性。可以适当降低涨幅的要求,增加筛选股票的数量,从而提高选股的灵活性和多样性。另外,需要注意市场的风险和波动性,及时调整投资策略和风险控制。
最终的选股逻辑
本选股策略为:RSI指标小于65,今日上涨幅度大于1%,主板股票,竞价时涨跌幅买入大单、特大单共计买入量大于0.7千万。期望通过技术面、市场情绪、主流资金和市场热度控制,找到具有较好市场提升空间和投资价值的个股。
同花顺指标公式代码参考
竞价买入大单: (TickCount >= 1) AND (TickFlag == 0) AND ((Close - PreClose)/PreClose >= 0.02) AND (BuyLgVol >= 300)
竞价买入特大单: (TickCount >= 1) AND (TickFlag == 0) AND ((Close - PreClose)/PreClose >= 0.02) AND (BuyElgVol >= 300)
竞价时涨跌幅卖出: ABS((Close - PreClose)/PreClose) >= 0.02
大单和特大单共计买入量大于0.7千万: (BuyLgVol + BuyElgVol) >= 7000
python代码参考
# 导入需要使用的库
import pandas as pd
import tushare as ts
# 选股函数
def stock_picking():
# 获取RSI指标小于65、今日上涨幅度大于1%、主板股票、竞价时涨跌幅买入大单、特大单共计买入量大于0.5千万的股票
data = ts.get_today_all()
data.dropna(inplace=True)
hist_data = ts.get_hist_data(code_list=data['code'].tolist(), ktype='D', start=(pd.Timestamp.today() - pd.Timedelta('300 days')).strftime('%Y-%m-%d'))
calc_data = pd.concat([data, hist_data], axis=1, join='inner')
filter_data = calc_data[(calc_data['rsi'] < 65) & (calc_data['changepercent'] > 1.0) & (calc_data['stock_type'] == '主板')]
tick_data = ts.get_today_ticks(filter_data['code'].tolist())
tick_data = tick_data[tick_data['volume'] > 0]
tick_data['buy_amount'] = tick_data['price'] * tick_data['volume'] / 10000
buy_lg_vol_sum = tick_data[tick_data['type'] == '买盘'].groupby('code')['volume'].sum().reset_index().rename(columns={'volume':'buy_lg_volume'})
buy_elg_vol_sum = tick_data[tick_data['type'] == '买盘'].groupby('code')['buy_elg_vol'].sum().reset_index().rename(columns={'buy_elg_vol':'buy_elg_volume'})
filter_data = pd.merge(filter_data, buy_lg_vol_sum, on='code', how='left')
filter_data = pd.merge(filter_data, buy_elg_vol_sum, on='code', how='left')
filter_data = filter_data[(filter_data['buy_lg_volume']>300) & (filter_data['buy_elg_volume']>300)]
volume_sum = tick_data.groupby('code')['buy_amount'].sum().reset_index().rename(columns={'buy_amount':'buy_amount_sum'})
filter_data = pd.merge(filter_data, volume_sum, on='code', how='left')
filter_data = filter_data[filter_data['buy_amount_sum']>70000]
filter_data = filter_data[['name', 'industry', 'open', 'price', 'outstanding', 'totals', 'totalAssets', 'liquidAssets', 'fixedAssets', 'reserved', 'reservedPerShare', 'esp', 'bvps', 'pb', 'timeToMarket']]
return filter_data
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


