问财量化选股策略逻辑
选股逻辑为:在换手率3%-12%、市值100亿以内、无亏损的A股中,选取500日内至少2次涨停的股票进行投资。
选股逻辑分析
该选股逻辑结合了市场交易行为和股票价格趋势的因素,重点考虑市场情况下股票价格的波动和涨停次数,具有较强的对市场行情的短期把握能力,但对于单一公司的经营情况未作过多考虑。
有何风险?
该选股逻辑对单一公司的经营、财务等情况较为简单粗略,可能忽略具体公司的特殊情况,如高负债率、经营压力等;同时,依赖过多涨停的股票,会存在市场行情转变导致股价下跌等风险。
如何优化?
在考虑股票价格趋势的基础上,加入对公司的财务指标、资产负债表、现金流量表、净利润等情况的综合考虑,检查公司是否能够保持稳定的盈利水平及股价长期上涨,具体调整策略以兼顾市场行情和公司特殊情况。
最终的选股逻辑
在符合换手率3%-12%、市值100亿以内、无亏损的A股中,选取500日内至少2次涨停的股票进行投资,并在这个基础上,兼顾公司的经营状况、盈利能力、竞争力、市盈率等财务指标的综合考虑,以保证资金的安全及长期的盈利。
同花顺指标公式代码参考
选股公式:(CIRCMV <= 10000000000 AND SHELL = 0 AND TBD = 0 AND YDNZ < 1.0 AND HSL >= 0.03 AND HSL <= 0.12 AND COUNT(EXPLODECLOSE > 0, 500) >= 2)
Python代码参考
import pandas as pd
import tushare as ts
def get_good_stocks():
good_list = []
ts.set_token('your_token')
pro = ts.pro_api()
# 获取股票列表
stock_list = pro.stock_basic(exchange='', list_status='L', fields='ts_code, name, industry, market, list_date')
for ts_code in stock_list['ts_code']:
# 判断该股票是否亏损
income_data = pro.income(ts_code=ts_code, start_date='20180101', end_date='20211231')
if income_data[income_data.report_type == '1'].iloc[-1]['n_income'] < 0:
continue
# 判断该股票的市值和换手率是否符合条件
market_data = pro.daily_basic(ts_code=ts_code, start_date='20220215', end_date='20220218', fields='ts_code, circ_mv, turnover_rate')
if market_data[market_data['circ_mv'] > 10000000000].empty or market_data[market_data['turnover_rate'] < 0.03].empty or market_data[market_data['turnover_rate'] > 0.12].empty:
continue
# 判断该股票500日内至少2次涨停
explode_data = pro.stk_limit(ts_code=ts_code, start_date='20210101', end_date='20220218')
if len(explode_data[(explode_data['up_limit'] > 0) & (explode_data['up_limit'] < explode_data['pre_close'])]) < 2:
continue
good_list.append(ts_code)
return good_list
good_stocks = get_good_stocks()
print(good_stocks)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


