问财量化选股策略逻辑
选股逻辑:振幅大于1,深证主板中市盈率0-29.01,市净率0-3.11的股票,10天内涨停天数大于2。
选股逻辑分析
该选股策略在原有逻辑的基础上加入了涨停天数的条件,可以从市场情绪和资金流向方面综合评估股票的投资价值,确定买入卖出时机。
有何风险?
该选股策略存在以下风险:
- 涨停天数的条件容易被少数股票操纵,存在选股效果不佳的情况;
- 仅考虑10天内的涨停天数,忽略了更长期的市场态势和股票的基本面情况,可能存在选股失误的情况。
如何优化?
为优化该选股策略,可以考虑以下方面:
- 引入更多的市场情绪和资金流向指标,如资金净流入、成交量等,进行综合评估;
- 考虑引入股票的基本面、产业和政策面等因素,结合更多的指标和数据,全面分析股票的投资价值,优化选股策略。
最终的选股逻辑
根据以上分析和建议,我们提出如下完善后的选股逻辑:
- 振幅大于1;
- 上市时间大于180天的深证主板股票;
- 市盈率在0-29.01,市净率在0-3.11;
- 10天内涨停天数大于2。
同花顺指标公式代码参考
- 振幅指标代码:(HIGH - LOW) / REF(CLOSE,1)
Python代码参考
利用 Tushare 库的 Python 代码如下:
import pandas as pd
import tushare as ts
def is_selected(code):
'''
判断股票是否符合选股逻辑
'''
# 基本面筛选和上市时间筛选
base = ts.get_stock_basics()[code]
if base['timeToMarket'] > datetime.now().strftime('%Y%m%d') or (datetime.now() - datetime.strptime(base['timeToMarket'], '%Y%m%d')).days < 180 or \
base['pe'] < 0 or base['pe'] > 29.01 or base['pb'] < 0 or base['pb'] > 3.11 or base['area'] != '深圳':
return False
# 技术指标筛选
k_data = ts.get_k_data(code, autype='qfq')
if k_data.empty or \
k_data['high'].sub(k_data['low'].shift()).div(k_data['close'].shift()).iloc[-1] < 0.01 or \
k_data['close'].rolling(window=10).apply(lambda x: (x == x.max()).sum()).iloc[-1] <= 2:
return False
return True
# 获取符合选股逻辑要求的股票列表
selected_stocks = ts.get_stock_basics().index[ts.get_stock_basics().apply(is_selected, axis=1)].tolist()
# 根据选股结果进行后续交易操作
for code in selected_stocks:
pass # 参考其他策略
该代码根据修正后的选股逻辑,在计算振幅、市盈率、市净率、涨停天数等指标时加入了新的筛选条件,并使用 pandas 库和 Tushare 库等工具,以确定是否符合选股逻辑的要求。在得到符合要求的股票后,可以采用特定的交易策略进行后续操作。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


