问财量化选股策略逻辑
选股逻辑:元宇宙、昨天换手率>8%、500日内至少2次涨停。
选股逻辑分析
该选股策略选取了元宇宙板块中昨天换手率大于8%且500日内至少2次涨停的股票。该策略的目的是寻找有明显上涨趋势的股票,其具有较高的赚钱潜力。同时,该策略考虑了股票的流动性,使得选出的股票较容易买卖。
有何风险?
该选股策略只考虑了股票的短期表现,忽略了其基本面的影响。同时,随意追涨杀跌的策略容易带来较高的风险,需要注意避免因为市场情绪的影响而过度交易。
如何优化?
可以考虑加入一些基本面数据进行综合考量,比如市值、净利润、营收增长率等等,从而对股票进行全面评估。此外,可以加入动态止盈止损机制,自动下单卖出股票,进一步提高选股效率。同时,可以考虑加入股息率指标,寻找同时具有高股价和高股息率的股票,从而进一步选择高价值股票。
最终的选股逻辑
选股逻辑:元宇宙、昨天换手率>8%、500日内至少2次涨停、市值处于前25%。
同花顺指标公式代码参考
元宇宙板块:CATEGORY='SW1_zxx'
昨日换手率大于8%:VOLPRI > 0.08
500日内涨停次数大于等于2次:SELECT count(*) FROM (SELECT DATE FROM(SELECT *, (ROW_NUMBER() OVER (ORDER BY date)) rn FROM (SELECT date FROM stock_zh_a_tickRT_snapshot WHERE symbol='%s' AND type='1' AND high_limit>last_price ORDER BY date) aa) dd WHERE aa.rn-dd.rn<=2) xx)>=2
市值处于前25%:MARKETCAP/100000000<(SELECT PERCENTILE(MARKETCAP/100000000,0.25) FROM STOCK_BASIC)
取符合条件的股票:CATEGORY='SW1_zxx' AND VOLPRI > 0.08 AND SELECT count(*) FROM (SELECT DATE FROM(SELECT *, (ROW_NUMBER() OVER (ORDER BY date)) rn FROM (SELECT date FROM stock_zh_a_tickRT_snapshot WHERE symbol='%s' AND type='1' AND high_limit>last_price ORDER BY date) aa) dd WHERE aa.rn-dd.rn<=2) xx)>=2 AND MARKETCAP/100000000<(SELECT PERCENTILE(MARKETCAP/100000000,0.25) FROM STOCK_BASIC)
Python代码参考
相应的Python选股代码如下:
import akshare as ak
import pandas as pd
# 获取元宇宙板块数据
yxu_stocks = ak.stock_zh_a_classified_sector()
yxu_stocks = yxu_stocks[yxu_stocks['name'] == '元宇宙']
# 获取上证指数数据
sz_data = ak.stock_zh_index_daily_sse(index_code="000001")
selected_stocks = []
for stock in yxu_stocks['stock_name'].tolist():
stock_data = ak.stock_zh_a_daily(symbol=stock, adjust="qfq")
tick_data = ak.stock_zh_a_tick_rt_snapshot(stock_code=stock)
tick_data['date'] = pd.to_datetime(tick_data['time']).dt.date
tick_data = tick_data[['date','last_price','high_limit']]
tick_data = pd.merge(stock_data, tick_data, on='date')
tick_data['rn'] = tick_data.index
tick_data['rn'] = tick_data['rn'] - tick_data['rn'].shift(2)
tick_data['rn'] = tick_data['rn'].fillna(2)
if stock_data.iloc[-2]['volpri'] > 0.08 and tick_data[tick_data['high_limit']>tick_data['last_price']].shape[0]>=2:
market_cap = ak.stock_zh_a_hist_indicator(stock).iloc[-1]['circulating_market_cap']
if market_cap < ak.stock_zh_a_hist_indicator().sort_values(by='circulating_market_cap', ascending=False).iloc[int(len(ak.stock_zh_a_hist_indicator())*0.25)]['circulating_market_cap']:
selected_stocks.append(stock)
selected_stocks_final = selected_stocks
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


