问财量化选股策略逻辑
选股逻辑包括:RSI指标小于65、外盘/内盘比值大于1.3、近一个月内有过涨停。
选股逻辑分析
该选股策略结合了技术面和市场情况的考量,RSI小于65可以看出股票未达到超买区;外盘/内盘比值大于1.3说明当前在该股票市场中,外资进行了较大的买入,市场情绪向好;近一个月内有过涨停,则表明该股票在市场中具备较好的热度和潜力。
有何风险?
该选股策略重点关注市场热度和技术面的指标,而忽略了公司基本面和市场情况的分析。因此,存在忽略公司的业绩及市场走势等重要因素,可能导致选取到质量不够高的股票。
如何优化?
为了进一步提高选股策略的有效性和全面性,可以从以下几个方面进行优化:
- 综合考虑公司基本面、市场走势及行业情况,根据多个因子进行选股。可以结合财务数据、行业分析、政策面等指标并制定相应的筛选条件,提高选股的精准性和准确性;
- 将技术面指标和基本面指标相结合,优先选取符合技术面指标的公司,然后在此基础上进一步筛选符合基本面指标的公司;
- 合理设置选股条件,根据市场情况、投资者风险偏好等合理调整选股策略。
最终的选股逻辑
综合考虑RSI指标、外盘/内盘比值和涨停情况,除此之外结合公司基本面和市场情况,得到符合条件的高质量股票。
同花顺指标公式代码参考
- RSI指标公式:RSI(CLOSE, N),其中N代表RSI的计算天数,默认为14。
- 外盘/内盘比值:使用同花顺软件即可查看,该指标被广泛应用于量价分析中。
- 近一个月内有过涨停:使用同花顺的“龙虎榜”功能可以查询到最近一个月内的个股涨跌停信息。
python代码参考
import akshare as ak
import datetime
def pick_stocks():
# 获取当前A股股票列表
stock_list = ak.stock_zh_a_spot_em()
picked_stocks = []
for stock_code in stock_list.index:
# 获取股票数据
history_quotes = ak.stock_zh_a_daily(stock_code, start_date="20210101")
if history_quotes is None or len(history_quotes) < 25:
continue
# RSI指标
rsi = ak.stock_zh_index_daily_tx(stock_code, start_date="20210101")
if rsi is None or len(rsi) < 14 or rsi.iloc[-1]["rsi14"] >= 65:
continue
# 外盘/内盘比例
quotes_snap = ak.stock_zh_a_quote_sina(stock_code)
if quotes_snap is None or "外盘/内盘" not in quotes_snap:
continue
out_in_ratio = float(quotes_snap["外盘/内盘"].split(":")[-1])
if out_in_ratio <= 1.3:
continue
# 近一个月内有过涨停
longhubang = ak.stock_zh_a_hsgt_top10(stock_code)
if longhubang is None or "涨停" not in longhubang:
continue
last_month = (datetime.datetime.now() - datetime.timedelta(days=30)).strftime("%Y-%m-%d")
last_month_longhu = longhubang[longhubang["日期"] >= last_month]
if last_month_longhu.empty or not any(last_month_longhu["涨停"].astype(bool)):
continue
picked_stocks.append({"code": stock_code, "name": stock_list.loc[stock_code]["名称"]})
# 输出符合条件的股票代码和名称
for stock in picked_stocks:
print(f"{stock['code']}、{stock['name']}")
if __name__ == '__main__':
pick_stocks()
该代码结合python的Akshare库和通达信公式,获取A股股票的实时行情数据和相关技术指标,并计算筛选出符合条件的股票。在原有基础上加入了近一个月内有过涨停的选股条件。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
