问财量化选股策略逻辑
本选股策略选取振幅大于1、昨日非涨停板、30日平均线向上的股票。
选股逻辑分析
该选股策略基于技术面,选择振幅大于1、昨日非涨停板、30日平均线向上的股票,认为这类股票具备较好的市场活跃性和上涨潜力。
有何风险?
该选股逻辑同样忽略了公司的基本面因素,存在选中低质量公司的风险;同时,选股依据主要是基于技术面,存在短期误判的风险。
如何优化?
同样可以综合加入其它技术指标和基本面因素,结合个人风险和收益要求,设置相应的买入点和卖出点。
最终的选股逻辑
本选股策略选取振幅大于1、昨日非涨停板、30日平均线向上的股票,作为买入信号,策略持有期可以根据个人风险和收益要求灵活调整。
同花顺指标公式代码参考
本选股策略同样依赖于股票的技术指标,同花顺指标代码如下:
振幅:(HIGH-LOW)/C>0.01
30日均线向上:MA(CLOSE,30)>REF(MA(CLOSE,30),1)
python代码参考
# 引入Tushare库和talib库
import tushare as ts
import talib
# 连接Tushare库
pro = ts.pro_api()
def select_stocks(n):
selected_stocks = []
today = pro.trade_cal(exchange='', is_open='1')["cal_date"].values[-1]
yesterday = pro.trade_cal(exchange='', is_open='1', end_date=today, count=2)["cal_date"].values[0]
# 筛选出振幅大于1、昨日非涨停板、30日均线向上的股票
quote = pro.stock_basic(exchange='', list_status='L', fields='ts_code, name, market, list_date')
quote = quote[quote["market"].isin(["主板", "中小板", "创业板"])]
for ts_code in quote["ts_code"]:
stock_data = pro.daily(ts_code=ts_code, start_date="20000101", end_date=today)
if len(stock_data) > 31 and stock_data["high"].max() != stock_data["low"].min() \
and stock_data.iloc[-2]["close"] > stock_data.iloc[-2]["low"] \
and talib.MA(stock_data["close"], timeperiod=30)[-1] > talib.MA(stock_data["close"], timeperiod=30)[-2]:
selected_stocks.append(ts_code)
selected_stocks = selected_stocks[:n]
return selected_stocks
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
