问财量化选股策略逻辑
本选股策略选取振幅大于1、昨日非涨停板和连续5年ROE>15%的股票作为投资标的。
选股逻辑分析
振幅大于1可以筛选出波动性较大的股票,有更大的投资机会;昨日非涨停板是为了避免选出快速上涨过程中不稳定的股票;连续5年ROE>15%可以筛选出公司盈利能力强的股票。
有何风险?
本选股策略忽略了市场整体情况、行业因素和公司基本面等方面的影响,可能存在投资风险。同时,像ROE高的公司可能在某些时期采用了股利政策、分拆、资本支出等举措,不断提高ROE,但这些举措并不能持续带来长期的股价上涨。
如何优化?
可以结合市场情况、行业因素、公司基本面和财务分析等方面进行综合考虑和筛选,构建合理的投资组合,降低投资风险。
最终的选股逻辑
本选股策略选取振幅大于1、昨日非涨停板和连续5年ROE>15%的股票作为投资标的,并综合考虑公司基本面、财务分析和行业因素进行筛选,选取具有价值潜力和成长性的股票,同时构建多样化的投资组合。
同花顺指标公式代码参考
IF((HIGH-LOW)/REF(CLOSE,1)>0.01 AND PREVCLOSE<REF(HIGH,1)
AND AND COUNT(ROE>15, 5)>=5,1,0)
python代码参考
# 引入Tushare库、Numpy库、Pandas库
import tushare as ts
import numpy as np
import pandas as pd
# 连接Tushare库
pro = ts.pro_api()
def select_stocks(n):
selected_stocks = []
for ts_code in quote["ts_code"]:
# 获取股票数据
stock_data = pro.daily(ts_code=ts_code, start_date='25 days ago', end_date='today', fields='trade_date,close,open')
# 获取公司ROE数据(最近5年)
company_data = pro.fina_indicator(ts_code=ts_code, start_date='5 years ago', end_date='today', fields='roe')
if ts_code[:2] != "BJ" and ts_code.startswith("6") or ts_code.startswith("0") or ts_code.startswith("3") and ((stock_data["close"] / stock_data["open"] - 1) > 0.01).sum() > 0 and (company_data["roe"] > 0.15).sum() >= 5:
selected_stocks.append(ts_code)
if len(selected_stocks) == n:
return selected_stocks
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
