问财量化选股策略逻辑
本选股策略为:RSI指标小于65,今日上涨幅度大于1%,选择主板股票,MACD指标零轴以上;通过选择符合以上条件的股票进行投资,以期望能够在短期内获得盈利。
选股逻辑分析
技术面方面,选择RSI指标小于65的股票,表示当前该股票处于相对弱势状态,有望反弹;在价格波动方面,选择今日上涨幅度大于1%的股票,代表当前市场情绪和交易热度一定,可能存在短期上涨趋势。针对板块方面,选择主板,代表潜在公司质量更高,有望实现较好的长期价值增长;选择MACD指标零轴以上,代表股票当前性质上升,市场看好。然而,该选股逻辑过于依赖市场热点和价格波动,容易忽略公司的实际情况和长期发展潜力。需要谨慎投资,并做好风险控制管理。
有何风险?
该选股逻辑将过度依赖市场热点和短期价格波动,可能带来过高的交易成本,和较大的风险。同时,虽然选择了主板股票和MACD指标零轴以上,但容易忽略公司的实际经营情况和长期发展潜力,需要加强基本面分析。另外,MACD指标本质上也是价格指标,存在较大的滞后性。需要谨慎投资,并做好风险控制管理。
如何优化?
为了更好地评估股票的实际价值和投资潜力,可以运用量化分析指标和基本面数据,如股票的市盈率、市净率、净利润增长率等来筛选股票。在价格波动方面,可以引入波动幅度等波动性指标来筛选股票,为投资决策提供更全面的考虑。此外,需要加强公司基本面的分析,综合考虑公司的财务状况、行业趋势、管理能力等因素,并适当延长持股周期,提高长期收益的可能性。
最终的选股逻辑
本选股策略为:RSI指标小于65,今日上涨幅度大于1%,选择主板股票,MACD指标零轴以上。在考虑市场情况和基本面数据的基础上,选择符合条件的股票,认真研究其实际情况和市场表现,并进行风险控制管理。在选股过程中,坚持价值投资、长期资产理念,注重全面考虑公司的基本面和规模优势。
同花顺指标公式代码参考
// 选取RSI小于65,今日上涨幅度大于1%,主板股票,MACD指标零轴以上的股票
select a.secucode as code, a.secuname as name, a.totalvalue as mkt_cap,
s_dq_pctchange, s_info_windcode, bd_ind_name_l1,
macd(s_dq_close, 12, 26, 9) as macd, dif(s_dq_close, 12, 26) as dif, dea(s_dq_close, 12, 26, 9) as dea,
rsi(s_dq_close, 14) as rsi
from stock_secu a
inner join stock_price b on a.innercode = b.innercode
left join stock_industry c on a.innercode = c.innercode
where b.exchangecd == '001'
and b.originaldate == '20220311'
and b.status == '1'
and a.listedsector in ('一般工商业', '主板')
and ~a.secuname.str.startswith('ST')
and s_dq_pctchange > 0.01
and macd(s_dq_close, 12, 26, 9) > 0
and rsi(s_dq_close, 14) < 65
Python代码参考
# 导入需要使用的库
import pandas as pd
import tushare as ts
import numpy as np
import talib
# 选股函数
def stock_picking(data):
# 计算RSI和MACD指标、涨幅、板块
rsi = talib.RSI(data['close'], timeperiod=14)
macd, macdsignal, macdhist = talib.MACD(data['close'], fastperiod=12, slowperiod=26, signalperiod=9)
daily_return = data['close'].pct_change()
sector = data['industry'] # 或者csf['industry_name1']
# 筛选符合条件的股票,并剔除ST和停牌股票
filter_cond = (rsi < 65) & (daily_return > 0.01) & (macd > 0) &
(data['list_status'] == 'L') & (data['name'].str.contains('*ST') == False) &
((data['exchange'] == 'SZSE') | ((data['exchange'] == 'SSE') & (data['market'] == '主板')))
# 按市值从高到低排序
stock_list = data[filter_cond].sort_values('market_cap', ascending=False).index.tolist()
return stock_list
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
