问财量化选股策略逻辑
今日增仓占比>5%,今日最大跌幅<-4且>-5,100亿市值以内的无亏损企业
选股逻辑分析
该策略的逻辑是基于今日的股票市场数据进行筛选,主要考虑以下几个方面:
-
今日增仓占比:该指标表示股票近期的买入力度,如果增仓占比超过5%,说明市场对该股票的买入意愿较强,可能是一个好的买入信号。
-
今日最大跌幅:该指标表示股票近期的跌幅情况,如果最大跌幅小于-4且大于-5,说明股票近期的跌幅较大,可能存在一定的抄底机会。
-
100亿市值以内的无亏损企业:该指标表示股票的市值大小和盈利能力,如果市值小于100亿且没有亏损,说明该股票具有一定的安全性和盈利能力。
综合以上三个方面的指标,该策略可以筛选出在近期市场中具有买入意愿和抄底机会的股票,同时也考虑了股票的市值和盈利能力,具有一定的稳健性。
有何风险?
该策略的局限性在于,它只考虑了股票的短期市场表现,没有考虑股票的长期基本面情况。此外,该策略可能会筛选出一些市值较小、盈利能力较差的股票,这些股票可能存在较高的风险。
如何优化?
为了提高该策略的稳健性,可以考虑在筛选股票时加入一些基本面指标,例如市盈率、市净率等,以更好地评估股票的长期盈利能力。此外,可以考虑加入一些技术指标,例如移动平均线、布林线等,以更好地判断股票的短期市场趋势。
最终的选股逻辑
以下是最终的量化选股策略逻辑:
import talib
def select_stock():
# 获取今日所有股票的数据
data = get_stock_data()
# 筛选出今日增仓占比超过5%的股票
stocks = data.loc[data['net_flow'] > 0.05]['tushare_code'].unique()
# 筛选出今日最大跌幅小于-4且大于-5的股票
stocks = stocks.loc[data['max_during'] < -4.05]['tushare_code'].unique()
# 筛选出市值小于100亿且没有亏损的股票
stocks = stocks.loc[data['market_cap'] < 10000000000]['tushare_code'].unique()
# 筛选出符合以上三个条件的股票
stocks = stocks.loc[data['tushare_code'].isin(stocks)]
return stocks
python代码参考
import talib
def get_stock_data():
# 获取所有股票的历史数据
data = get_historical_data()
# 计算今日的增仓占比
data['net_flow'] = data['net_flow'].diff()
data['net_flow'] = data['net_flow'].fillna(0)
data['net_flow'] = data['net_flow'] / data['net_flow'].sum()
# 计算今日的最大跌幅
data['max_during'] = data['max_during'].diff()
data['max_during'] = data['max_during'].fillna(0)
data['max_during'] = data['max_during'] / data['max_during'].max()
# 筛选出市值小于100亿且没有亏损的股票
data = data.loc[data['market_cap'] < 10000000000]
data = data.loc[data['net_loss'] == 0]
return data
def talib_func(data):
# 使用talib函数进行技术分析
# ...
return talib_func_output
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


