问财量化选股策略逻辑
选股逻辑:选择RSI小于65的股票,企业性质优秀,市值不超过100亿,同时为盈利企业。
选股逻辑分析
该选股策略同样结合了技术分析和基本面分析,其中技术分析关注了RSI指标,基本面分析则要求企业具有优秀的性质和盈利能力,同时股票市值必须控制在100亿以下。此策略均有一定合理性,但是不能充分考虑一些其他因素的影响,如行业特征、市场情况等。
有何风险?
该策略同样缺少了对一些基本面的考量,如PE/PB等财务指标,另外有些优秀的企业需要大市值才能支撑其价值,并不一定符合市值100亿以下的选股条件。另外略微狭窄了选股范围,可能会错过其他具有较好发展前景的企业。
如何优化?
除了保留现有条件,可以考虑加入其他因素作为考虑条件,如PE/PB、市净率、市盈率、净利润增长率等,同时松散条件,放宽选股限制,考虑到较为优秀的企业在市值方面可能存在一定波动。
最终的选股逻辑
选股逻辑:选择RSI小于65的股票,企业性质优秀,市值不超过100亿,同时为盈利企业(可根据具体需求进行调整)。
同花顺指标公式代码参考
- RSI小于65:RSI(CLOSE, 14) < 65
- 企业性质:需根据具体情况进行筛选。
- 市值不超过100亿:CAPITALIZATION <= 10000000000
- 盈利企业:EPS > 0
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,list_date')
# 初始化筛选条件
rsi = 65
max_cap = 10000000000
# 获取当前时间和交易日历
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
capital = pro.daily_basic(ts_code=code, trade_date=today, fields='total_mv')
# 判断是否符合条件
rsi_data = talib.RSI(hist['close'].values.astype(float), timeperiod=14)
if rsi_data[-1] < rsi and capital['total_mv'][0] < max_cap and capital['total_mv'][0] > 0 and basic[basic['ts_code'] == code].iloc[0]['list_date'] < '20170101':
result.append([code, basic[basic['ts_code'] == code].iloc[0]['name'], capital['total_mv'][0]])
# 对筛选结果进行排序
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亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


