问财量化选股策略逻辑
选取振幅大于1、2019年度分红比例大于25%、20日均线大于120日均线的股票作为选股对象。
选股逻辑分析
该选股策略旨在挖掘在振幅较大的股票中,业绩稳定、短期趋势向上、分红较好的股票。利用20日均线和120日均线的黄金交叉进行技术分析,确认趋势是否向上。
有何风险?
该选股策略只考虑了短期均线与长期均线的交叉情况,没有考虑更为细致的技术指标。同时,振幅较大的股票在短期内可能会出现较大波动,需注意风险管理。
如何优化?
可以加入其他技术指标,例如MACD、KDJ等,结合基本面数据进行更为细致的分析。同时,需构建合理的风险控制机制,避免因波动风险带来的亏损。
最终的选股逻辑
选取振幅大于1、2019年度分红比例大于25%、20日均线大于120日均线的股票作为选股对象,同时根据细致的技术与基本面分析进行风险管理。
同花顺指标公式代码参考
// 筛选振幅大于1的股票
amplitude = (HIGH-LOW)/OPEN
amplitude_bool = amplitude>0.01
// 筛选2019年度分红比例大于25%的股票
dividend_year = DIVIDENDYIELD*100
dividend_year_bool = dividend_year>25
// 筛选20日均线大于120日均线的股票
MA20 = MA(CLOSE, 20)
MA120 = MA(CLOSE, 120)
ma_bool = MA20>MA120
// 合并条件
result = amplitude_bool÷nd_year_bool&ma_bool
// 输出结果
result
Python代码参考
import tushare as ts
# 筛选条件1:振幅大于1
today_data = ts.get_today_all()
amplitude = (today_data['high'] - today_data['low']) / today_data['open']
amplitude_bool = amplitude > 0.01
# 筛选条件2:2019分红比例大于25%
basic_data = ts.get_stock_basics()
dividend_year = basic_data['dividend_yield'] * 100
dividend_year_bool = dividend_year > 25
# 筛选条件3:20日均线大于120日均线
ma20 = today_data['close'].rolling(20).mean()
ma120 = today_data['close'].rolling(120).mean()
ma_bool = ma20 > ma120
# 合并筛选条件
result = amplitude_bool & dividend_year_bool & ma_bool
# 筛选结果
final_result = today_data.loc[result].sort_values(by=["DOMINANTMARKETMAKING"], ascending=False)
# 输出结果
print(final_result)
注:以上为示例代码,仅供参考,实际使用中需根据具体情况做适当调整。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
