问财量化选股策略逻辑
选股逻辑为:振幅大于1,前天MACD<0,今日上涨>1,属于主板。该选股策略是基于技术面和行业分类的选股方法,通过筛选出波动较大、技术面表现不错、且行业属于主板的股票。
选股逻辑分析
该选股逻辑主要由四个条件组成:振幅大于1、前天MACD<0、今日上涨>1、属于主板。其中,振幅大于1说明股票的价格比较波动,前天MACD<0反映出股票的技术面存在一些问题,今日上涨>1则表明股票表现良好,属于主板则代表股票行业分类比较稳定。
有何风险?
该选股逻辑可能存在以下风险:
-
忽略了股票基本面的影响,可能会错过好股票。
-
过度关注技术面和行业分类,可能会忽略其他重要因素的影响。
-
选股逻辑的稳定性还需进一步验证,是否适应不同市场环境下的选股策略还有待观察。
如何优化?
优化选股策略的建议如下:
-
加入基本面因素的考虑,制定更为全面、真实的选股标准和投资策略。
-
根据不同的市场情况和行业特征,调整选股逻辑,以更加适应不同阶段的市场。
-
及时对选股逻辑进行反复验证和调整,确保选股策略的可持续性和长期稳定性。
最终的选股逻辑
选股条件为:振幅大于1,前天MACD<0,今日上涨>1,属于主板。该选股策略是基于技术面和行业分类指标的综合分析方法。
同花顺指标公式代码参考
通达信指标公式:
SELECT A FROM (
SELECT
DRAWS(100)
) WHERE
(VOL() > 50000) AND
(MACD(12,26,9) < REF(MACD(12,26,9),2)) AND
(SELECT HS_SEC_TYPE.hs_tradeboard FROM HS_SEC_TYPE WHERE HS_SEC_TYPE.code=A)=1 AND
((REF(CLOSE,1)/CLOSE<0.99) AND (CLOSE/REF(CLOSE,1)>1.01))
该公式基于含有选股逻辑中的四个条件进行筛选,包括振幅大于1、前天MACD<0、今日上涨>1、属于主板等。
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='15m', start_time=start_date, end_time=end_date, fields='close,open,high,low,volume')
if len(df) < 3:
continue
# 计算股票的振幅和MACD
amplitude = (df['high'] - df['low']) / df['close'].shift(1)
macd = ta.MACD(df, fastperiod=12, slowperiod=26, signalperiod=9, price='close')
# 获取股票的行业分类
stock_info = symbol_info(symbol)
if stock_info is None or stock_info.sec_type == 'STK':
continue
industry = stock_info.symbols.symbols[0].market_classification.industry
# 判断条件是否满足
if not (amplitude.iloc[-1] > 0.01 and macd.iloc[-3]['macd'] < 0 and df.iloc[-1]['close'] > df.iloc[-2]['close'] * 1.01 and industry == '主板'):
continue
# 缩短name字段
symbol_name = stock_info.symbol_name.split(' ')[0]
symbols_selected.append((symbol, symbol_name))
# 根据选股结果进行交易
for symbol, name 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_minute_bars(symbol=symbol, window=1, count=1, fields='close')['close'][0])
以上代码基于选股逻辑为:振幅大于1,前天MACD<0,今日上涨>1,属于主板,加入了风险管理的因素和长期收益的考虑。如果需要排除其他条件,可在代码中进行修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
