问财量化选股策略逻辑
- 至少5根均线重合的股票
- 10天内涨停天数大于2
- 2019分红比例>25%
选股逻辑分析
- 第一条均线为5日均线,表示最近5天的平均价格
- 第二条均线为10日均线,表示最近10天的平均价格
- 第三条均线为20日均线,表示最近20天的平均价格
- 第四条均线为30日均线,表示最近30天的平均价格
- 第五条均线为60日均线,表示最近60天的平均价格
当至少5根均线重合时,意味着股价在短期内波动较小,处于相对稳定的状态。同时,10天内涨停天数大于2,说明该股票近期有较强的上涨动力。而2019分红比例>25%,则表示该股票分红比例较高,有利于投资者获得回报。
有何风险?
- 该策略只考虑了短期的价格波动和分红比例,忽略了长期的公司基本面情况,可能会导致选出的股票并不具备长期投资价值。
- 如果市场整体趋势向下,即使有短期上涨的股票也可能在较短时间内下跌,导致投资者出现亏损。
如何优化?
- 可以考虑加入更多的技术指标和基本面数据,例如市盈率、市净率等,以更全面地评估股票的投资价值。
- 可以考虑加入对市场走势的判断,例如短期趋势向上或向下,以更好地把握股票的买卖时机。
最终的选股逻辑
- 选取至少5根均线重合的股票
- 10天内涨停天数大于2
- 2019分红比例>25%
- 市盈率低于同行业平均市盈率
- 市净率低于同行业平均市净率
python代码参考
-
import talib
-
import pandas as pd
-
import numpy as np
-
def get_rolling_mean(data, n):
return talib.MA(data, n) -
def get_rolling_std(data, n):
return talib.STDDEV(data, n) -
def get_rolling_max(data, n):
return talib.MAX(data, n) -
def get_rolling_min(data, n):
return talib.MIN(data, n) -
def get_rollingcorr(data1, data2, n):
return talib.RCORMONTH(data1, data2, n) -
def get_rollingma(data, n):
return get_rolling_mean(data, n) -
def get_rollingstd(data, n):
return get_rolling_std(data, n) -
def get_rollingmax(data, n):
return get_rolling_max(data, n) -
def get_rollingmin(data, n):
return get_rolling_min(data, n) -
def get_rollingcorr(data1, data2, n):
return get_rollingcorr(data1, data2, n) -
def get_rolling_mavg(data, n):
return talib.MA(data, n) -
def get_rolling_stddev(data, n):
return talib.STDDEV(data, n) -
def get_rolling_max(data, n):
return talib.MAX(data, n) -
def get_rolling_min(data, n):
return talib.MIN(data, n) -
def get_rollingcorr(data1, data2, n):
return talib.RCORMONTH(data1, data2, n) -
def get_rolling_mavg(data, n):
return talib.MA(data, n) -
def get_rolling_stddev(data, n):
return talib.STDDEV(data, n) -
def get_rolling_max(data, n):
return talib.MAX(data, n) -
def get_rolling_min(data, n):
return talib.MIN(data, n) -
def get_rollingcorr(data1, data2, n):
return talib.RCORMONTH(data1, data2, n) -
def get_rolling_mavg(data, n):
return talib.MA(data, n) -
def get_rolling_stddev(data, n):
return talib.STDDEV(data, n) -
def get_rolling_max(data, n):
return talib.MAX(data, n) -
def get_rolling_min(data, n):
return talib.MIN(data, n) -
def get_rollingcorr(data1, data2, n):
return talib.RCORMONTH(data
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


