问财量化选股策略逻辑
选股逻辑:选择RSI小于65、价格小于12元、市值小于100亿且近5年无亏损的企业。
选股逻辑分析
该选股策略考虑了技术面和基本面,主要考虑了RSI、价格和市值等技术指标以及企业的盈利能力。可以筛选出估值合理、风险较低的股票。
有何风险?
只考虑市值和盈利能力等基本面指标,可能会错过某些高成长性和高风险的个股。另外,单一的技术指标也容易被市场大势所左右,需要结合其他的指标进行综合考虑。
如何优化?
除了考虑市值和盈利能力等基本面指标,还应考虑市场情绪指标、宏观经济指标以及其他的基本面指标,综合考虑各种因素可以增加策略的可靠性和市场机会把握的机率。
最终的选股逻辑
选股逻辑:选择RSI小于65、价格小于12元、市值小于100亿且近5年无亏损的企业,同时考虑市场情绪指标、宏观经济指标和其他的基本面指标。
同花顺指标公式代码参考
- RSI小于65:RSI(6)<65
- 价格小于12元:CLOSE<12
- 市值小于100亿:CAPITALIZATION < 100
- 近5年无亏损:NOT(ISFINSTALL(FINANCE.INCOME_STATEMENT.PROFIT, 5))
python代码参考
通过聚宽等股票API获取数据,代码示例:
import jqdatasdk as jq
jq.auth('username', 'password') # jq 连接凭证
# 定义股票筛选条件
cond1 = jq.query(jq.valuation).filter(
jq.valuation.market_cap < 100e8, # 市值小于100亿
jq.income_statement.net_profit > 0, # 近5年均无亏损
jq.income_statement.net_profit_ratio > 0, # 近5年均有净利率
jq.income_statement.operating_revenue > 1e9, # 近5年均有营业收入
jq.balance_sheet.total_liability/jq.balance_sheet.total_assets < 0.7, # 近5年均有资产负债率
)
# 根据选股条件进行筛选股票
q1 = jq.query(
jq.valuation, # valuation 表
jq.balance_sheet.long_term_liability, # 长期负债
jq.balance_sheet.total_assets, # 总资产
jq.finance.STK_LIST_DATE, # 上市日期
jq.finance.STK_BOARDDIR, # 上市板块
jq.finance.STK_STATUS, # 上市状态
jq.finance.STK_NAME, # 股票名称
jq.finance.STK_EXCHANGE, # 所属交易所
).filter(
jq.valuation.code.in_(
cond1.order_by(
-jq.valuation.market_cap,
).limit(2000).code.values.tolist()
),
jq.valuation.code.not_like('*ST%'), # 过滤掉ST类股票
jq.valuation.start_date < '2010-01-01', # 上市时间过短的股票将被过滤
)
# 策略选股
stocks = []
for stock in q1:
# 获取股票K线数据
k_data = jq.get_price(stock.code, count=10, end_date=context.current_dt.strftime('%Y-%m-%d'), frequency='daily')
# 获取近10个交易日收盘价、开盘价
close_prices = k_data['close'].values
open_prices = k_data['open'].values
# 计算10日涨幅
change = (close_prices - open_prices) / open_prices
# 筛选条件
if (
NOT(ISFINSTALL(FINANCE.INCOME_STATEMENT.PROFIT, 5))
and stock.RSI6 < 65
and stock.close < 12
and stock.market_capitalization < 100e8
and stock.change[-1] > 0
):
stocks.append(stock.code)
# 以结果长度为30进行选股
selected_stocks = stocks[:30]
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


