(supermind策略)换手率3%-12%、KDJ刚形成金叉、按个股热度从大到小排序名_

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

问财量化选股策略逻辑

该选股策略选股逻辑为:换手率3%-12%, KDJ刚形成金叉,按个股热度从大到小排序名。

选股逻辑分析

该选股策略在流动性、趋势和市场情绪三个方面进行选股。流动性方面选出换手率较高的股票,趋势方面通过KDJ指标的金叉确认股票处于上涨趋势。按个股热度排序名是为了选出市场情绪较为高涨的股票。整体选股策略注重选出市场表现较好的个股。

有何风险?

该选股策略仍然过度依赖于股票价格走势和市场情绪,而忽略了行业风险、经济和政策变化等其他因素的影响。同时,由于KDJ指标的局限性,也存在市场波动可能导致股票的假金叉等风险。

如何优化?

该选股策略可以考虑引入其他基本面因素和技术指标等因素,如市盈率变化率、净利润增长率、RSI等,以更全面地考量企业财务状况和股票的技术面。在流动性方面可以考虑引入资金流入、成交量等指标来更好衡量股票的市场表现。同时应该加入风控机制,如止损或动态调整持仓比例等,以保证投资风险可控。

最终的选股逻辑

该选股策略选股逻辑为:换手率3%-12%, KDJ刚形成金叉,按个股热度从大到小排序名。

同花顺指标公式代码参考

通达信指标公式代码:

TURNOVER_RATIO >= 0.03 AND TURNOVER_RATIO <= 0.12
AND KDJ_CROSS(0,1)
SORTBYDESC(RELATIVE_STRENGTH_INDEX(20))

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) > 1\
            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]:
        rsi = api.get_index_bars(9,0,code,datetime.now()-timedelta(days=20),datetime.now(),1)
        rsi = pd.DataFrame(rsi, columns=['date', 'open', 'close', 'high', 'low', 'vol', 'amount'])
        if len(rsi) > 1 and rsi['close'].iloc[-1] > rsi['close'].iloc[-2]:
            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],
                                    'turnover_ratio': stock_k_data['turnover_ratio'].iloc[-1],
                                    'rsi': rsi['close'].iloc[-1]})

selected_stocks = pd.DataFrame(selected_stocks)
selected_stocks = selected_stocks.sort_values(by=['rsi'], ascending=False)

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

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

    模板如何使用?

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


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

评论