问财量化选股策略逻辑
选股逻辑:选择RSI小于65,下午大单净流入,而且近25个交易日有一天涨幅达到10%以上的股票。
选股逻辑分析
该选股策略同样运用了技术指标和行情因素,通过RSI指标判断股票被低估,通过下午流入资金量判断市场情绪向好,以及通过近期单日涨幅达到一定值作为参考指标,增加选股策略的参考因素。综合考虑技术面和市场情绪,同时加入一定的行情走势因素,提高选股精度,有一定的风险控制。
有何风险?
该选股逻辑存在一定的主观性,同时依赖于涨幅指标,其指标的准确性和选取的分位数的不同可能会带来不同的风险。同时缺乏其他关键因素的影响,例如市场传言、政策变动等。在应用该选股逻辑时,需要结合其他信息进行综合分析。
如何优化?
可以加入一些基本面因素或者其他技术指标作为参考指标,例如市盈率、市净率、技术形态等。同时,需要考虑涨幅指标的准确性,可以尝试使用其他指标或者进行参数调整,结合市场走势进行分析。另外,需要注意选股策略的风险控制,避免盲目追求策略表现而忽略风险。
最终的选股逻辑
选出下午大单净流入、RSI小于65且近25日内至少有一日单日涨幅大于等于10%的股票。
同花顺指标公式代码参考
C2: AFTERNOON(NETFLOW) > 0
C3: LAST20DAY(MAX(ABS((CLOSE-REF(CLOSE, 1))/REF(CLOSE, 1))*100), 1) >= 10
SELECT * FROM (
SELECT STOCK_LIST.*,
GET_RANKING() AS RANKING
FROM STOCK_LIST) RESULT
WHERE C1 AND C2 AND C3
ORDER BY RANKING DESC
python代码参考
import pandas as pd
import akshare as ak
import talib
def get_ranking(df):
df = df[df['成交量'] > 0]
df = df[df['下午净流入'] > 0]
df = df[df['RSI'] < 65]
df = df[df['涨幅'] >= 0.1]
df['RANKING'] = df['累计涨跌幅'].rank(ascending=False)
df = df[df['RANKING'] <= 5]
df.sort_values(by='RANKING', ascending=True, inplace=True)
return df
def get_stock_list():
stock_list_df = ak.stock_zh_a_spot_em()
stock_list_df['市值'] = stock_list_df['市值'].astype(float)
stock_list_df = stock_list_df[stock_list_df['市值'] > 0]
stocks_list = pd.DataFrame()
for code in stock_list_df['代码']:
k_data_df = ak.stock_zh_a_daily_em(symbol=code, adjust="qfq")
k_data_df = k_data_df[k_data_df['成交量'] > 0]
if len(k_data_df) < 25:
continue
rsi = talib.RSI(k_data_df['收盘'], timeperiod=14)
if rsi.iloc[-1] >= 65:
continue
net_flow = ak.stock_individual_em_ggt_flow(code)
if net_flow.iloc[-1]['净流入额'] <= 0:
continue
pct_chg = (k_data_df['收盘'] / k_data_df['收盘'].shift(1) - 1).abs()
max_pct_chg = pct_chg.rolling(window=25, min_periods=1).max()
if max_pct_chg.iloc[-1] < 0.1:
continue
stocks_list = stocks_list.append(k_data_df)
stocks_list = pd.merge(stocks_list, stock_list_df[['代码', '累计涨跌幅']].drop_duplicates(), on='代码', how='left')
stocks_list = get_ranking(stocks_list)
return stocks_list
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


