问财量化选股策略逻辑
本选股策略选取振幅大于1,昨日换手率*(今日竞价成交量/昨日成交量)在0.5到2之间,且归属母公司股东的净利润(同比增长率)大于20%小于等于100%的股票作为投资目标。通过考虑股票价格、成交量、市场走势、基本面等因素,筛选出可能具备投资回报潜力的股票。
选股逻辑分析
本选股策略主要考虑了股票价格波动、市场走势、流动性以及基本面因素。振幅大于1体现了股票价格较为波动,具备相应的投资热度,而换手率和市场成交量则考虑了市场热度和流动性等方面的因素。归属母公司股东的净利润(同比增长率)大于20%小于等于100%则考虑了公司营收和利润涨幅,具备相应的盈利性质。此外,选股过程中结合了多个因素,减小了市场风险。
有何风险?
本选股策略存在基本面数据风险,因为基本面数据可能会被企业虚报或者造假,对投资者造成财务损失。同时,该策略考虑了较为短期的市场走势,可能会忽略某些长期潜力更大的股票。此外,净利润同比增长率只考虑了公司当前年度的数据,建议投资者结合多年数据考虑。
如何优化?
为了更好地优化选股策略,可以加入更多的基本面因素,如市盈率、市净率等指标,更全面了解股票的估值状况和竞争力等因素。同时,可以结合自然语言处理技术,分析企业的新闻事件和公告等信息,获得更准确的判断股票价值的依据。此外,还可以考虑加入跟踪机构持仓变化等因素,以获取更全面的市场信息。
最终的选股逻辑
本选股策略选取振幅大于1,昨日换手率*(今日竞价成交量/昨日成交量)在0.5到2之间,且归属母公司股东的净利润(同比增长率)大于20%小于等于100%的股票作为投资目标。同时,需要注意加入基本面数据和企业事件信息,综合判断股票的竞争力和成长性,以选出具备投资回报潜力和风险可控的股票。
同花顺指标公式代码参考
无
Python代码参考
import tushare as ts
pro = ts.pro_api()
def select_stocks(n):
selected_stocks = []
for code in pro.query('stock_basic', exchange='', list_status='L', fields='ts_code,name,industry,market,area,pe,pb')["ts_code"]:
if 'ST' in code:
continue
df = pro.income(ts_code=code, start_date='', end_date='', fields='ts_code,ann_date,end_date,n_income_attr_p,inc_net_profit_yoy')
if df.iloc[-1]['inc_net_profit_yoy'] > 20 and df.iloc[-1]['inc_net_profit_yoy'] <= 100:
vol_rate = pro.moneyflow(ts_code=code, start_date='', end_date='', fields='ts_code,trade_date,turnover_rate,vol,amount,buy_sm_vol,sell_sm_vol,buy_md_vol,sell_md_vol,buy_lg_vol,sell_lg_vol')
vol_rate = vol_rate.set_index('trade_date')
vol_rate['turnover_rate'] = (vol_rate['turnover_rate']*(df.iloc[-1]['amount']/vol_rate['vol'])).rolling(5).mean() # 5日平均换手率
if vol_rate.iloc[-2]['vol'] > 0 and (vol_rate.iloc[-2]['turnover_rate']) > 0.5 and (vol_rate.iloc[-2]['turnover_rate']) < 2:
price_now = pro.realtime_quotes(code).iloc[0]['price']
selected_stocks.append([code, price_now])
return [x[0] for x in selected_stocks][:n]
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
