问财量化选股策略逻辑
选股逻辑为:振幅大于1、前天MACD<0、2019分红比例>25%。该选股策略综合了市场波动情况、技术面的多个指标以及股票基本面的考量,旨在挖掘出具备成长性且有现金分红优势的股票。
选股逻辑分析
该选股逻辑由三个条件组成:振幅大于1、前天MACD<0、2019分红比例>25%。其中,振幅大于1反映出较大的价格波动,前天MACD<0说明技术面存在一定问题,2019分红比例>25%说明股票具有一定的现金分红能力,具备成长潜力。
有何风险?
该选股逻辑可能存在以下风险:
-
忽略了公司的未来业绩情况等重要因素,可能选择不符合投资价值的股票。
-
没有考虑市场情况以及资金流向等因素,对市场调整或未来的行情变化不能很好地适应。
-
前年分红比例较高可能导致分红率下降或者公司运营不佳等风险。
如何优化?
优化选股策略的建议如下:
-
引入更多公司基本情况、业绩和财务数据等,以更全面的角度评价股票投资价值。
-
对选股结果进行动态调整,并适时调整持股比例,以应对市场情况的变化。
-
将选股策略与资金管理策略相结合,合理配置资产,提高风险控制能力。
最终的选股逻辑
选股条件为:振幅大于1、前天MACD<0、2019分红比例>25%。该选股策略综合了市场波动情况、技术面的多个指标以及股票基本面的考量,旨在挖掘出具备成长性且有现金分红优势的股票。
同花顺指标公式代码参考
通达信公式:
SELECT * FROM
(
SELECT CODE,NAME,AMPLITUDE
FROM HQ_DAILY
WHERE T_TIME BETWEEN %stime1 AND %stime2
AND GET_STFLAG()!=4
AND AMPLITUDE > 1.0
AND MACD(12,26,9) < REF(MACD(12,26,9),1)
AND CODE IN (
SELECT STOCKCODE
FROM FINAN_POLYGON
WHERE POLYGON_ID = 1
AND YEAR = 2019
AND DIVIDEND_YIELD > 25
)
)
该公式基于选股逻辑中的多个条件,在K线数据和股票基本面数据的基础上进行了筛选和补充。
python代码参考
from gm.api import *
set_token('your_token_here')
start_date = '2018-01-01'
end_date = '2022-01-01'
# 选出符合条件的股票
symbols_selected = []
for symbol in symbols:
# 获取股票历史K线数据和股票基本面数据
df = history(symbol=symbol, frequency='d', start_time=start_date, end_time=end_date,
fields='close,ST_FLAG')
if len(df) < 251:
continue
df_financial = finance.run_query(query(finance.FUNDAMENTAL_FINANCE_INDICATOR).filter(
finance.FUNDAMENTAL_FINANCE_INDICATOR.code == symbol, finance.FUNDAMENTAL_FINANCE_INDICATOR.pubDate >= '2019-01-01',
finance.FUNDAMENTAL_FINANCE_INDICATOR.pubDate <= '2019-12-31'))
if len(df_financial) == 0 or df_financial['dividendYield'][0] <= 25:
continue
# 判断股票是否符合选股条件
amplitude = ta.ATR(df, timeperiod=14)
macd = ta.MACD(df, fastperiod=12, slowperiod=26, signalperiod=9, price='close')
st_flag = df.iloc[-1]['ST_FLAG']
if amplitude.iloc[-1] <= 1 or macd['macd'][-2] >= 0 or 'S' in st_flag:
continue
symbols_selected.append(symbol)
# 根据选股结果进行交易
for symbol in symbols_selected[:10]:
order_target_percent(symbol=symbol.replace('XSHE', 'SZSE'), percent=0.1, side=OrderSide_Buy,
order_type=OrderType_Limit, position_effect=PositionEffect_Open,
price=get_last_n_bars(symbol=symbol, window='d', count=1, fields='close')['close'][0])
以上代码基于选股逻辑为:振幅大于1、前天MACD<0、2019分红比例>25%,在代码中进行了风险管理和长期投资的考虑。代码中选股条件可以根据需要进行修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
