(supermind策略)换手率3%-12%、KDJ刚形成金叉、三个技术指标同时金叉_

用户头像神盾局量子研究部
2023-08-30 发布

问财量化选股策略逻辑

该选股策略选股逻辑为:换手率3%-12%,KDJ刚形成金叉,三个技术指标同时金叉。

选股逻辑分析

该选股策略同样在流动性、趋势信号和买入信号三个方面进行选股。换手率可以筛选出流动性好的股票。KDJ指标代表股票的趋势和买卖信号,通过刚形成金叉来选出顺势股。同时筛选三个技术指标都出现金叉,可以增加买入信号的准确性。

有何风险?

该选股策略同样忽略了股票的基本面因素和宏观经济环境对股票的影响。同时,该选股策略忽略了量能指标的影响,同时金叉可能出现在市场底部,有可能会由于过分追涨导致买入高位股票。

如何优化?

该选股策略可增加其他筛选指标,例如量能指标等以综合验证技术指标的准确性;也可考虑加入基本面指标,例如股票PB、PE等来选择公司估值相对较低的股票。

最终的选股逻辑

该选股策略选股逻辑为:总市值> 10亿, 换手率大于等于3%且小于等于12%,KDJ金叉,MACD金叉,RSI、CCI同时金叉。

同花顺指标公式代码参考

通达信指标公式代码:

MARKET_VALUE>1000000000 
AND TURNOVER_RATIO>=0.03 AND TURNOVER_RATIO<=0.12 
AND KDJ_CROSS(0,1)
AND CROSS(MACD_DIFF(12,26,9),MACD_DEA(12,26,9))
AND CROSS(RSI(C,14),50)
AND CROSS(CCI(14),0)

python代码参考

import pandas as pd
from datetime import datetime, timedelta
from pytdx.hq import TdxHq_API

# 创建连接
api = TdxHq_API()
api.connect('119.147.212.81', 7709)

# 所有A股列表
all_stocks = api.get_security_list(1, 0)
df_stocks = pd.DataFrame(all_stocks, columns=['code', 'name', 'market_type', 'exchange_type'])

# 获取A股财报数据
selected_stocks = []
for code in df_stocks['code']:
    stock_k_data = api.get_k_data(code, 'D')
    if stock_k_data is not None and len(stock_k_data) > 0 \
            and stock_k_data['turnover_ratio'].quantile(0.7) >= 0.03 \
            and stock_k_data['turnover_ratio'].quantile(0.7) <= 0.12 \
            and stock_k_data['kdjj'].iloc[-2] < stock_k_data['kdjj'].iloc[-1] \
            and (stock_k_data['dif'].iloc[-2] < stock_k_data['dea'].iloc[-2]) and (stock_k_data['dif'].iloc[-1] > stock_k_data['dea'].iloc[-1]) \
            and (stock_k_data['rsi_14'].iloc[-2] < 50) and (stock_k_data['rsi_14'].iloc[-1] > 50) \
            and (stock_k_data['cci_14'].iloc[-2] < 0) and (stock_k_data['cci_14'].iloc[-1] > 0) \
            and stock_k_data['market_value'].iloc[-1] > 1000000000:
        selected_stocks.append({'code':code, 'name':df_stocks[df_stocks['code']== code]['name'].values[0], 
                                    'market_type':df_stocks[df_stocks['code']== code]['market_type'].values[0],
                                    'last_price':stock_k_data['close'].iloc[-1]})
selected_stocks = pd.DataFrame(selected_stocks)
selected_stocks = selected_stocks.sort_values(by=['last_price'], ascending=False).head(n)

# 断开连接
api.disconnect()
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

    select_sentence = '市值小于100亿' #选股语句。

    模板如何使用?

    点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。


    ## 如果有任何问题请添加 下方的二维码进群提问。
    ![94c5cde12014f99e262a302741275d05.png](http://u.thsi.cn/imgsrc/pefile/94c5cde12014f99e262a302741275d05.png)
收益&风险
源码

评论