问财量化选股策略逻辑
- 今日增仓占比>5%
- 周K线上穿30周线
- 换手率3%-12%
选股逻辑分析
- 今日增仓占比>5%:这个逻辑表示股票在最近一段时间内有明显的资金流入,说明市场对该股票的预期较为乐观,可能具有上涨潜力。
- 周K线上穿30周线:这个逻辑表示股票的价格走势已经成功穿越了30周线,这是一个比较长期的趋势线,如果股票能够成功穿越,说明该股票的长期趋势较为稳定,可能会有更多的上涨机会。
- 换手率3%-12%:这个逻辑表示股票的换手率处于一个适中的水平,说明市场对该股票的关注度适中,没有过高的泡沫风险。
有何风险?
- 今日增仓占比>5%:如果资金流入量过大,可能会导致股票短期内涨幅过高,存在回调的风险。
- 周K线上穿30周线:如果股票价格走势不能成功穿越30周线,可能会导致趋势反转,出现下跌的风险。
- 换手率3%-12%:如果换手率过高,可能会导致市场对该股票的关注度过高,存在泡沫风险。
如何优化?
- 可以考虑加入更多技术指标,例如MACD、RSI等,以更加准确地判断股票的趋势和风险。
- 可以考虑加入更多基本面指标,例如市盈率、市净率等,以更加全面地评估股票的价值和风险。
- 可以考虑加入更多市场情绪指标,例如量能、人气等,以更加准确地判断市场情绪和风险。
最终的选股逻辑
import talib
def select_stock():
# 获取所有A股股票的代码和基本信息
stock_codes = get_stock_codes()
stock基本信息 = get_stock_basic_info(stock_codes)
# 初始化数据
data = pd.DataFrame()
data['code'] = stock_codes
data['今日增仓占比'] = 0
data['周K线'] = 0
data['换手率'] = 0
# 计算今日增仓占比
data['今日增仓占比'] = data['交易量'] / data['流通市值'] * 100
# 计算周K线
data['周K线'] = talib.MA(data['收盘价'], timeperiod=30)
# 计算换手率
data['换手率'] = data['成交量'] / data['流通市值'] * 100
# 保留前1000只股票
data = data.nlargest(1000, columns=['code', '今日增仓占比', '周K线', '换手率'])
# 根据筛选条件进行筛选
data = data[(data['今日增仓占比'] > 5) & (data['周K线'] > data['周K线'].rolling(window=30).mean()) & (data['换手率'] > 3) & (data['换手率'] < 12)]
# 返回符合条件的股票代码
return data['code'].tolist()
python代码参考
import talib
def get_stock_codes():
# 获取所有A股股票的代码和基本信息
codes = []
for index, row in stock基本信息.iterrows():
codes.append(row['code'])
return codes
def get_stock_basic_info(codes):
# 获取所有A股股票的基本信息
url = 'http://data.eastmoney.com/hsgt/api'
params = {
'ts': '160628',
'code': codes,
'sort': 'code',
'order': 'desc',
'limit': '1000',
'type': '0',
'api': '1'
}
response = requests.get(url, params=params)
data = response.json()
return data
def talib_MA(data, timeperiod):
# 计算MA
MA = talib.MA(data, timeperiod)
return MA
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


