问财量化选股策略逻辑
选股逻辑为:振幅大于1,前天MACD<0,KDJ(K)增长值。该选股策略是综合考虑技术面的选股方法,旨在筛选出波动较大、技术面存在问题,但是沿着趋势运行的股票。
选股逻辑分析
该选股逻辑主要由三个条件组成:振幅大于1、前天MACD<0、KDJ(K)增长值。其中,振幅大于1说明股票的价格比较波动,前天MACD<0反映出股票的技术面存在一些问题,KDJ(K)增长值表示该股票沿着趋势运行,具备较好的走势。
有何风险?
该选股逻辑可能存在以下风险:
-
只关注技术指标和波动性,忽略了公司的基本面和行业发展等因素,可能造成选股结果的不准确性。
-
KDJ指标的增长值只反映出股票处于上升状态下,但是忽略掉了市场整体走势的影响,如果市场整体处于下跌趋势时,该选股逻辑可能会失效。
-
KDJ指标的选取周期和参数需要经过充分的数据验证和技术分析,否则可能会引入杂音,影响选股结果的准确性。
如何优化?
优化选股策略的建议如下:
-
在综合考虑技术面和基本面的基础上,增加对公司的财务数据、行业政策和市场走势的分析,提高选股的准确性和可靠性。
-
合理选择KDJ指标的参数和时间周期,并结合其他技术指标进行分析,提高选股策略的准确性和稳定性。
-
加强风险管理,建立良好的实战操作规则和出场策略,防止亏损过大。
最终的选股逻辑
选股条件为:振幅大于1,前天MACD<0,KDJ(K)增长值。该选股策略是基于技术面综合考虑的选股方法。
同花顺指标公式代码参考
通达信指标公式:
SELECT * FROM (
SELECT
STOCKCODE AS `code`,
NAME AS `name`,
low AS `low`,
high AS `high`,
((KDJ(9,3,3)*3-2*DIF(EMA(12,CLOSE),EMA(26,CLOSE),9))/KD(9,3,3))*100 AS `kdj_k`,
(HIGH - LOW) / REF(CLOSE,1) > 0.01 AS `amplitude`
FROM
(VOL() > 50000) AND
(MACD(12,26,9) < REF(MACD(12,26,9),2))
),
60,1
) WHERE (kdj_k > REF(kdj_k,1)) AND (kdj_k - REF(kdj_k,1) > 0) AND (amplitude = 1)
该公式基于选股逻辑中的三个条件:振幅大于1、前天MACD<0和KDJ(K)增长值,根据KDJ和MACD等技术指标进行了筛选和补充。
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) < 8:
continue
# 计算股票的振幅、MACD和KDJ
amplitude = (df['high'] - df['low']) / df['close'].shift(1)
macd = ta.MACD(df, fastperiod=12, slowperiod=26, signalperiod=9, price='close')
kdj = ta.STOCH(df, fastk_period=9, slowk_period=3, slowd_period=3)
# 判断股票是否符合选股条件
if amplitude.iloc[-1] < 1 or macd['macd'][-3] >= macd['macd'][-2]:
continue
if kdj['k'][-1] > kdj['k'][-2] and kdj['k'][-1] - kdj['k'][-2] > 0:
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_minute_bars(symbol=symbol, window=1, count=1, fields='close')['close'][0])
以上代码基于选股逻辑为:振幅大于1,前天MACD<0,KDJ(K)增长值,加入了风险管理的因素和长期收益的考虑。如果需要排除其他条件,可在代码中进行修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
