问财量化选股策略逻辑
选股逻辑为:振幅大于1、前天MACD<0、机构动向大于0。该选股策略综合了市场波动情况、技术面和资金面的多个指标,旨在筛选出受机构资金青睐、技术面表现弱势但保持稳健趋势的股票。
选股逻辑分析
该选股逻辑由三个条件组成:振幅大于1、前天MACD<0、机构动向大于0。其中,振幅大于1反映出较大的价格波动,前天MACD<0说明技术面存在一定问题,机构动向大于0则表示机构资金正在进入该股票。
有何风险?
该选股逻辑可能存在以下风险:
-
机构动向指标的准确性和可靠性并不完全可信,因此选取高机构动向的股票可能并不一定准确。
-
过度依赖技术面和资金面指标,可能忽略了股票基本面的重要性,从而选出的股票并不适合长期持有。
-
振幅大于1的选取比较主观,可能会影响选股的准确性。
如何优化?
优化选股策略的建议如下:
-
将机构动向指标与其他指标结合,如股票基本面、行业情况等等,以提高选股的准确性和可靠性。
-
对于机构动向指标的选取,应该根据历史数据和实际情况进行调整,增加选股参数的智能化程度。
-
考虑使用多个技术指标和趋势指标,以降低股票价格受多种因素影响的不确定性。
最终的选股逻辑
选股条件为:振幅大于1、前天MACD<0、机构动向大于0。该选股策略综合了市场波动情况、技术面和资金面的多个指标。
同花顺指标公式代码参考
通达信指标公式:
SELECT * FROM (
SELECT
STOCKCODE AS `code`,
NAME AS `name`,
close AS `close`,
MA(close, 250) as `ma250`,
(close - YESTERDAY(MA(close,250), 1)) / CLOSE * 100 AS `ma250_increase`,
(close - YESTERDAY(low, 1)) / CLOSE * 100 AS `low_increase`,
(IF(STOCKCODE IN (SELECT STOCKCODE FROM DSInvestorHolding WHERE HDTAG='机构')) / VOL * 100) AS `org_movement`,
MACD(12,26,9)-REF(MACD(12,26,9),2) AS `macd`
FROM
DSWeeklyKLine
WHERE
(VOL > 100000) AND (high - low) / REF(CLOSE, 1) > 0.01
)
WHERE (ma250_increase > 0) AND (macd < 0) AND (org_movement > 0)
该公式基于选股逻辑中的三个条件:振幅大于1、前天MACD<0、机构动向大于0,在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='w', start_time=start_date, end_time=end_date, fields='close')
if len(df) < 251:
continue
# 计算股票的振幅、MACD、机构动向和250日均线
amplitude = (df['high'] - df['low']) / df['close'].shift(1)
macd = ta.MACD(df, fastperiod=12, slowperiod=26, signalperiod=9, price='close')
org_movement = ta.TRANGE(df) * ta.OBV(df)
ma250 = ta.SMA(df, timeperiod=250)
# 判断股票是否符合选股条件
if amplitude.iloc[-1] < 1 or macd['macd'][-3] >= macd['macd'][-2] or org_movement.iloc[-1] <= 0 or df.iloc[-1]['close'] <= ma250.iloc[-1]:
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='w', count=1, fields='close')['close'][0])
以上代码基于选股逻辑为:振幅大于1、前天MACD<0、机构动向大于0,在代码中进行了风险管理和长期投资的考虑。代码中选股条件可以根据需要进行修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
