问财量化选股策略逻辑
选股逻辑:在MACD指标零轴以上、外盘/内盘比例大于1.3、2019年分红比例大于25%的股票中,选择符合选股条件的股票作为选股结果。
该选股逻辑作为第一个段落放入标题为 ## 问财量化选股策略逻辑 的段落中。分析以上的选股逻辑(每个逻辑以 "," 进行分隔),分析选股的逻辑(放入标题为 ## 选股逻辑分析 的段落),有什么风险?(放入标题为 ## 有何风险? 的段落)如何优化?(放入标题为 ## 如何优化? 的段落)并最终给出完善选股逻辑(放入标题为 ## 最终的选股逻辑 的段落),请用 Markdown 格式。
选股逻辑分析
该选股策略主要考虑MACD指标、外盘/内盘比例和2019年分红比例等多个因素。MACD指标零轴以上可以反映出股票目前的涨跌势头,是判断股票是否具有上涨潜力的指标之一;外盘/内盘比例则表征了市场投资者的情绪和对股票未来涨势的看法;而2019年分红比例的大小则反映出公司盈利能力较好,具有稳定的投资价值。
有何风险?
该选股策略存在以下风险:
- 忽略了股票长期的基本面风险,存在选出可能存在风险的股票的风险;
- 过度追求高分红比例,有可能导致选择回报率较低的股票;
- 选股逻辑没有考虑技术面指标的相互作用,存在选股逻辑冲突的风险。
如何优化?
以下是该选股策略的优化建议:
- 加入更多基本面数据指标,如市盈率、市净率等,以全面分析股票投资价值;
- 将分红比例作为投资决策的参考指标之一,同时还要考虑股票的盈利能力和波动性,避免单一指标成为决策的决定性因素。
- 调整选股逻辑中不同指标的权重,避免逻辑冲突。
最终的选股逻辑
选股策略为:在MACD指标零轴以上、外盘/内盘比例大于1.3、2019年分红比例大于25%的股票中,选择符合选股条件的股票作为选股结果。
同花顺指标公式代码参考
以下是该选股逻辑中涉及到的通达信指标公式:
MACD指标公式同前面的例子。
筛选逻辑公式为:
MACD > 0
AND VOL / (VOL + VOLH) > 1.3
AND DIVPSRATE2019 > 0.25
其中,DIVPSRATE2019 代表2019年度每股分红比例。
Python代码参考
以下是获取符合选股条件的股票列表的 Python 代码:
import tushare as ts
import pandas as pd
import talib as ta
# 设置 Tushare Pro 的 token
token = 'your_token_here'
ts.set_token(token)
# 初始化 tushare pro 接口
pro = ts.pro_api()
# 获取符合选股条件的股票列表
result = []
for stock_code in pro.stock_basic(exchange='', list_status='L', is_hs='S', fields='ts_code,symbol,market,industry')['ts_code']:
# 获取分红数据
dividend = pro.dividend(ts_code=stock_code, fields='ts_code,div_ps_rate',
start_date='20190101', end_date='20191231')
if len(dividend) < 1:
continue
# 获取前一日的基础数据
daily_info = pro.daily_basic(ts_code=stock_code, start_date='20211227', end_date='20211227',
fields='ts_code,trade_date,close,vol')
if len(daily_info) < 1:
continue
# 计算MACD
dif, dea, macd = ta.MACD(daily_info['close'].values,
fastperiod=12, slowperiod=26, signalperiod=9)
vol = daily_info['vol'].values[0]
volh = pro.moneyflow(ts_code=stock_code, start_date='20211227', end_date='20211227')\
['buy_lg_vol'].values[0] + pro.moneyflow(ts_code=stock_code, start_date='20211227', end_date='20211227')\
['sell_lg_vol'].values[0]
divpsrate2019 = dividend['div_ps_rate'].values[0]
# 判断 k 线数据是否符合选股条件
if macd[-1] > 0 and vol / (vol + volh) > 1.3 and divpsrate2019 > 0.25:
result.append(stock_code)
print(result)
注:该代码仅供参考,真实情况中需要根据自己的实际需求进行调整。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


