问财量化选股策略逻辑
选股逻辑:选择RSI小于65的股票,企业性质优秀,并且近10日涨幅大于0小于35。
选股逻辑分析
该选股策略同样结合了技术分析和基本面分析,其中技术分析关注了RSI指标和近期涨幅,基本面分析则要求企业具有优秀的性质。此策略均有一定合理性,但是不能充分考虑一些其他因素的影响,如PE/PB等财务指标,选股范围较为狭窄。
有何风险?
与上一种选股策略一样,该选股策略同样忽略了一些基本面的因素,如PE/PB、市净率、市盈率、净利润增长率等。另外选择近10日涨幅大于0小于35会忽略了一些可能存在调整后将继续上涨的股票。
如何优化?
在基本面分析上可以加入其他因素的考虑,如PE/PB、市净率、市盈率、净利润增长率等。在技术分析上,可以结合更多指标进行筛选,如MACD、动量指标等。同时可以适度放宽选股条件,考虑更多具有投资价值的股票。
最终的选股逻辑
选股逻辑:选择RSI小于65的股票,企业性质优秀,并且近10日涨幅大于0小于35(可根据具体需求进行调整)。
同花顺指标公式代码参考
- RSI小于65:RSI(CLOSE,14)<65
- 企业性质:需根据具体情况进行筛选。
- 近10日涨幅大于0小于35:(CLOSE-REF(CLOSE,10))/REF(CLOSE,10)>0 AND (CLOSE-REF(CLOSE,10))/REF(CLOSE,10)<0.35
python代码参考
import pandas as pd
import tushare as ts
import numpy as np
import talib
# 连接tushare并获取股票基本信息
token = 'token'
pro = ts.pro_api(token)
basic = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry')
# 初始化筛选条件
rsi = 65
change = [0, 0.35]
# 获取当前时间和交易日历
import datetime
today = datetime.datetime.today().strftime('%Y-%m-%d')
# 遍历每支股票
result = []
for code in basic['ts_code']:
# 获取历史交易信息
hist = ts.get_hist_data(code, start='', end=today)
if hist is None: continue
# 判断是否符合条件
rsi_data = talib.RSI(hist['close'].values.astype(float), timeperiod=14)
change_data = (hist['close'] - hist['close'].shift(10)) / hist['close'].shift(10)
if rsi_data[-1] < rsi and change_data[-1] > change[0] and change_data[-1] < change[1]:
result.append([code, basic[basic['ts_code'] == code].iloc[0]['name']])
# 对筛选结果进行排序
result_df = pd.DataFrame(result, columns=['代码', '名称'])
result_df = result_df.sort_values('名称', ascending=False).reset_index(drop=True)
result_df.to_excel('result.xlsx', index=False)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


