问财量化选股策略逻辑
选股逻辑:rsi小于65,上市大于1年,换手率选取3%-12%之间的股票。
选股逻辑分析
该选股逻辑主要注重技术面和市场表现,通过RSI指标判断股票的超卖状态,通过股票上市时间判断其是否处于成长期,并选择换手率处于合理范围内的股票,该方法可以排除异常的高换手率和低换手率的股票,并具有较高的活力和成长潜力。
有何风险?
该选股逻辑存在一定的投机性质,过于依赖短期市场表现和技术面指标,忽略了一些长期稳定性和基本面影响,容易受市场情绪影响而出现较大的波动性和风险。同时,换手率的高低和范围的选择也存在较大的主观性和不确定性,具有一定的局限性和缺陷。
如何优化?
可结合基本面和经济数据,如股票财务数据、行业发展趋势等信息,综合分析股票价值和潜在成长性,选择具备长期投资价值和成长潜力的股票。同时,可尝试引入其他技术指标和量价分析指标,如KDJ、OBV等,综合判断股票的买卖时机。
优化后的选股逻辑:rsi小于65,上市大于1年,换手率小于20%,并选择市盈率低于当前科技股市盈率均值的股票。
最终的选股逻辑
选股逻辑:rsi小于65,上市大于1年,换手率小于20%,市盈率小于当年科技股市盈率的5分之4。
同花顺指标公式代码参考
XG1: RSI(14) < 65
XG2: TRADEDATE - LISTDATE > 365
XG3: ((TURNOVER)/100) < 20
XG4: PE < STOQ("TECH_PE_MEAN",FUNC("SUM",0,TRADINGDAY(-1)),0.8)
...
SELECT IF(XG1 AND XG2 AND XG3 AND XG4, 1, 0)
Python代码参考
import pandas as pd
import tushare as ts
def get_stock_list():
pro = ts.pro_api()
# 获取股票基本信息
df_basic = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,market,area,industry,list_date,pe')
df_basic['list_date'] = pd.to_datetime(df_basic['list_date'])
# 获取股票价格信息和换手率信息
df_price = pro.daily_basic(ts_code='', start_date='20220106', end_date='20220110',
fields='ts_code,trade_date,turnover_rate')
df_price = pd.merge(df_price, df_basic[['ts_code']], on='ts_code')
# 计算RSI指标
df_rsi = pro.index_daily(ts_code='000001.SH', start_date='20220106', end_date='20220110',
fields='trade_date,close')
df_rsi['rsi'] = talib.RSI(df_rsi['close'].values, timeperiod=14)
# 计算市盈率均值
df_pe_mean = pro.index_dailybasic(index_code='399975.SZ', start_date='20220106', end_date='20220110',
fields='trade_date,pe')
mean_pe = df_pe_mean['pe'].mean()
# 筛选股票
df_result = pd.merge(df_price[(df_price['turnover_rate'] >= 3) & (df_price['turnover_rate'] <= 12)],
df_basic, on='ts_code')
df_result = pd.merge(df_result, df_rsi[['trade_date', 'rsi']], on='trade_date')
df_result = df_result[df_result['list_date'] < pd.Timestamp.today() - pd.Timedelta(days=365)]
df_result = df_result[df_result['pe'] < mean_pe*0.8]
# 返回结果
return df_result[['ts_code', 'symbol', 'market', 'area', 'industry', 'list_date']]
Python依赖库
-
pandas
-
tushare
-
ta-lib
## 如何进行量化策略实盘? 请把您优化好的选股语句放入文章最下面模板的选股语句中即可。 select_sentence = '市值小于100亿' #选股语句。 模板如何使用? 点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。 ## 如果有任何问题请添加 下方的二维码进群提问。 