问财量化选股策略逻辑
首先,我们需要找到至少5根均线重合的股票。这可以通过计算股票的收盘价与不同时间段的移动平均线之间的差异来实现。具体来说,我们可以计算股票收盘价与5日、10日、20日、50日和200日移动平均线之间的差异,并将这些差异的绝对值相加。如果这个和值小于一定阈值,则可以认为股票至少有5根均线重合。
接下来,我们需要筛选出2021年和2019年分红比例大于25%的股票。这可以通过查询公司的财务报告来实现。具体来说,我们可以查找公司的现金分红总额与公司总市值的比例,并将其与25%进行比较。如果比例大于25%,则可以认为该股票符合我们的要求。
选股逻辑分析
该策略的逻辑很简单,主要通过计算股票收盘价与不同时间段的移动平均线之间的差异来寻找均线重合的股票,并通过查询公司的财务报告来筛选出分红比例大于25%的股票。该策略可能具有一定的局限性,因为它只考虑了股票的短期价格趋势和公司的财务状况。因此,投资者在使用该策略时应该谨慎,并结合其他因素进行决策。
有何风险?
该策略的主要风险是市场风险。由于该策略基于短期价格趋势和财务状况进行决策,因此可能会忽略股票的长期趋势和公司的基本面。此外,如果市场出现较大的波动,该策略可能会产生较大的回撤。
如何优化?
为了优化该策略,我们可以考虑以下因素:
- 使用更长的时间周期来计算移动平均线,以更好地反映股票的长期趋势。
- 将不同时间段的移动平均线进行加权,以更好地反映股票的短期和长期趋势。
- 考虑加入其他财务指标,例如市盈率和市净率,以更好地评估股票的价值。
最终的选股逻辑
最终的选股逻辑如下:
- 计算股票收盘价与5日、10日、20日、50日和200日移动平均线之间的差异,并将这些差异的绝对值相加。如果这个和值小于50,则认为该股票至少有5根均线重合。
- 查找公司的现金分红总额与公司总市值的比例,并将其与25%进行比较。如果比例大于25%,则认为该股票符合我们的要求。
以下是python代码参考:
import talib
def get_ma_diff(closing_prices, ma_lengths):
ma_diffs = []
for ma_length in ma_lengths:
ma = talib.MA(closing_prices, ma_length)
diff = abs(closing_prices[-1] - ma[-1])
ma_diffs.append(diff)
return ma_diffs
def get_dividend_ratio(cash_dividend, market_cap):
return cash_dividend / market_cap * 100
def get_Stocks():
# 从股票数据源获取股票数据
# 然后计算每只股票的收盘价与不同时间段的移动平均线之间的差异
# 并将这些差异的绝对值相加
# 如果这个和值小于50,则认为该股票至少有5根均线重合
# 然后计算每只股票的现金分红总额与公司总市值的比例
# 并将其与25%进行比较
# 如果比例大于25%,则认为该股票符合我们的要求
return stocks
# 示例
ma_lengths = [5, 10, 20, 50, 200]
stocks = get_Stocks()
ma_diffs = get_ma_diff(stocks['Closing Price'], ma_lengths)
dividend_ratios = get_dividend_ratio(stocks['Cash Dividend'], stocks['Market Cap'])
请注意,这只是一个示例代码,实际使用时需要根据自己的数据源和需求进行修改。
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


