(supermind策略)换手率3%-12%、2021年、周线macd在零轴之上_

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

问财量化选股策略逻辑

该选股策略选股逻辑为:选择换手率在3%-12%之间,上市年份为2021年,周线MACD在零轴线之上。

选股逻辑分析

该选股策略注重选取市值较小但潜力股票,通过选择换手率在3%-12%之间,上市年份为2021年,以及周线MACD在零轴线之上的股票进行选股,旨在找到价值潜力更高的有成长性股票。

有何风险?

该选股策略存在以下风险:1、仅采用了单一技术指标,忽略了基本面的影响;2、MACD指标在市场波动较大时容易产生误判,使选股结果不稳定;3、过分注重历史数据,不能适应市场的不断变化。

如何优化?

可以考虑采用多个技术指标相结合,比如同时结合KD线、RSI、BOLL等指标进行选股,以提高选股的可靠性和稳定性。在选股时可以加入基本面因素,如市盈率、市净率等指标,以更全面地评估股票的价值潜力和成长性。

最终的选股逻辑

选择换手率在3%-12%之间,上市年份为2021年,周线MACD在零轴线之上的股票。

同花顺指标公式代码参考

MACD指标的计算公式:

  • 计算EMA12:EMA12=昨日EMA12×11/13+今日收盘价×2/13
  • 计算EMA26:EMA26=昨日EMA26×25/27+今日收盘价×2/27
  • 计算DIFF:DIFF=EMA12-EMA26
  • 计算DEA:DEA=昨日DEA×8/10+今日DIFF×2/10
  • 计算MACD:MACD=(DIFF-DEA)×2

通达信指标公式代码:

EMAEXP(CLOSE,12);
EMAEXP(CLOSE,26);
DIFF:=EMA12-EMA26;
DEA:=EMAEXP(DIFF,9);
MACD:=2*(DIFF-DEA);

python代码参考

import pandas as pd
from pytdx.hq import TdxHq_API
from pytdx.util.best_ip import select_best_ip

api = TdxHq_API()
ip = select_best_ip('tdx')

def get_stock_list(api):
    dataList = []
    for market in [0,1]:
        stock_list = api.get_security_list(market, 0)
        results = [(stock['code'], pd.Timestamp(stock['ipo_date']).year, stock['ipo_price'], stock['ipo_amount']) for stock in stock_list if stock['code'][0] in ['0', '3', '6']]
        dataList += results
    return pd.DataFrame(dataList, columns=['stock_code','ipo_year','ipo_price','ipo_amount'])

def check_macd(api, stock_code):
    now = pd.Timestamp.now()
    df = api.to_df(api.get_security_bars(4 if stock_code[0] == '0' else 3, 0 if stock_code[0] == '0' else 1, stock_code, 4, 1000)) # 获取周线数据
    df['datetime'] = pd.to_datetime(df['datetime'])
    df = df.set_index('datetime').resample('W-MON').last() # 按周重采样
    df['ema12'] = df['close'].ewm(span=12, adjust=False).mean()
    df['ema26'] = df['close'].ewm(span=26, adjust=False).mean()
    df['diff'] = df['ema12'] - df['ema26']
    df['dea'] = df['diff'].ewm(span=9, adjust=False).mean()
    df['macd'] = 2 * (df['diff'] - df['dea'])
    last_macd = df.loc[:now]['macd'].iloc[-1]
    if last_macd > 0:
        return True
    else:
        return False

stock_list = get_stock_list(api)

# 获取符合条件的股票列表
condition1 = stock_list['ipo_year'] == 2021
condition2 = (stock_list['ipo_price'] >= 1) & (stock_list['ipo_amount'] > 1000000)
matched_stocks = []
for stock_code in stock_list[condition1 & condition2]['stock_code']:
    if check_macd(api, stock_code):
        matched_stocks.append(stock_code)

# 输出结果
print('下列股票符合选股策略:')
print(matched_stocks)
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论