(supermind量化策略)task17/a/换手率3%-12%、三连阴、资金强度由大到

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

问财量化选股策略逻辑

选股逻辑为:在换手率在3%-12%之间、三连阴、资金强度由大到小的情况下,选取有涨幅潜力的股票。

选股逻辑分析

该选股策略在前面的选股条件基础上,加入了资金强度的考虑,向市场资金追踪者和关注资金流量的投资者发出了信号,有助于选取有潜力的优质股票。

有何风险?

市场变化复杂,算法无法完全准确预测未来走势,存在操作的不确定性和市场波动风险。

如何优化?

可以加入其他技术指标以及基本面数据等综合分析,还可以调整选股逻辑中的条件阈值,进一步提高选股策略的准确度。

最终的选股逻辑

在换手率在3%~12%之间、三连阴、资金强度由大到小的情况下,选取有涨幅潜力的股票。

同花顺指标公式代码参考

以通达信公式为例:

ema5:=EMA(CLOSE,5);
ema10:=EMA(CLOSE,10);
vol:=VOL/T;
资金强度:= SMA((2*CLOSE - HIGH - LOW)/ATR(1), 21);
条件筛选:vol>=3 AND vol<=12 AND CROSS(ema5,ema10,1) AND 资金强度=HHV(资金强度,5);

python代码参考

import baostock as bs
import talib
import pandas as pd

#### 登陆系统 ####
lg = bs.login()

#### 获取满足条件的股票 ####
rs = bs.query_stock_basic()
stock_list = []
while (rs.error_code == '0') & rs.next():
    stock_code = rs.get_row_data()[0]
    # 查询15分钟周期K线数据
    rs_l = bs.query_history_k_data_plus(stock_code, 'date,open,high,low,close,volume', start_date='2022-06-01', end_date='2022-07-01', frequency='d', adjustflag='3')
    if rs_l.error_code == '0':
        # 判断三连阴
        close = list(map(float, rs_l.get_column("close")))
        macd_dif, macd_dea, macd_bar = talib.MACD(close, fastperiod=12, slowperiod=26, signalperiod=9)
        if macd_bar[-3] < 0 and macd_bar[-2] < 0 and macd_bar[-1] < 0:
            # 判断换手率
            volume = list(map(float, rs_l.get_column("volume")))
            turnover_rate = [volume[i] / volume[i-1] for i in range(1, len(volume))]
            turnover_rate.insert(0, 0)
            if max(turnover_rate) <= 12 and min(turnover_rate) >= 3:
                # 判断资金强度
                high = list(map(float, rs_l.get_column("high")))
                low = list(map(float, rs_l.get_column("low")))
                atr = talib.ATR(high, low, close, timeperiod=1)
                jiuzheng = 2 * close - high - low
                zjqs = talib.SMA(jiuzheng / atr, timeperiod=21)
                if zjqs[-1] == max(zjqs[-5:]):
                    stock_list.append(stock_code)

# 转换成DataFrame格式并输出结果
df = pd.DataFrame(stock_list, columns=['stock_code'])
print(df)


#### 登出系统 ####
bs.logout()
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论