(supermind量化策略)task14/a/元宇宙、KDJ刚形成金叉、(昨日换手率*(

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

问财量化选股策略逻辑

选股策略为:在元宇宙行业中选取KDJ刚形成金叉,并且昨日换手率乘以今日竞价成交量除以昨日成交量在0.5到2之间的股票。在每个交易日的10点之前进行选股,选取当日的交易股票。

选股逻辑分析

本选股策略在技术面的选股条件中,结合了KDJ指标,筛选出股票近期出现的趋势反转信号。在行情面上,选择股票成交量变化较大,有足够的市场热度和流动性。同时,选股条件仅限于昨日换手率乘以今日竞价成交量除以昨日成交量在0.5到2之间的股票,能够规避个别股票严重价格波动或成交量异常的情况。在每个交易日的10点之前进行选股,能够减小市场波动的影响。

有何风险?

本选股策略存在以下风险:

  1. 股票的换手率和成交量会受到市场行情的影响,反映的可能只是短期价格波动,具体的股价趋势不能仅仅依靠成交量来判断;
  2. 如果选股条件过于苛刻,可能会导致股票池过小,选股策略结果不稳定,难以实际操作;
  3. 选股条件中,没有考虑其他市场宏观因素的影响,有可能忽略了股票评估的全面性;
  4. 选股条件中,没有考虑基本面指标的影响,可能出现公司的真实价值与选股结果不符合的情况。

如何优化?

为提高本选股策略的准确性和鲁棒性,可以:

  1. 结合其他指标进行综合分析,例如MACD、RSI等技术指标,以及市值、市净率等基本面指标,来评定股票的真实价值;
  2. 根据市场行情,对选股条件进行调整,尽可能避免市场异常波动的情况,保证选股准确性;
  3. 考虑加入其他市场因素的影响,例如股票所处的行业情况、财政和货币政策调整的可能等,来提高选股策略的全面性;
  4. 加强风险控制策略,考虑设置止损点、分散投资等风险控制手段,规避不可预测的市场波动。

最终的选股逻辑

在元宇宙行业中选取KDJ刚形成金叉,并且昨日换手率乘以今日竞价成交量除以昨日成交量在0.5到2之间的股票。在每个交易日的10点之前进行选股,选取当日的交易股票。

同花顺指标公式代码参考

# 选股条件:在元宇宙行业中选取KDJ刚形成金叉,昨日换手率*(今日竞价成交量/昨日成交量)>0.5<2
INDUSTRY == '元宇宙' AND KDJ(9,3,3)上穿KDJ(9,3,3)的DEA AND (HSL1 * (BJ_CJL / 1.0) / LCJ * 1.0 > 0.5 AND HSL1 * (BJ_CJL / 1.0) / LCJ * 1.0 < 2) AND HSL > 0 AND LB > 0 AND ST == 0

# 选股结果:选取当日的交易股票
选股条件:INDUSTRY == '元宇宙' AND KDJ(9,3,3)上穿KDJ(9,3,3)的DEA AND (HSL1 * (BJ_CJL / 1.0) / LCJ * 1.0 > 0.5 AND HSL1 * (BJ_CJL / 1.0) / LCJ * 1.0 < 2) AND HSL > 0 AND LB > 0 AND ST == 0 AND CURRENT_TIME = 1000
排序规则:EMPTY()
选股数量:EMPTY()

python代码参考

import numpy as np
import pandas as pd
from typing import List

def select_stocks(data: pd.DataFrame, industry: str) -> List[str]:
    df = data[data['INDUSTRY'] == industry]
    # KDJ
    df['KDJ_K'], df['KDJ_D'], df['KDJ_J'] = talib.STOCH(df['HIGH'].values, df['LOW'].values, df['CLOSE'].values, fastk_period=9, slowk_period=3, slowd_period=3)
    df['KDJ_金叉'] = (df['KDJ_K'] > df['KDJ_D']) & (df['KDJ_K'].shift() < df['KDJ_D'].shift())
    # Volume
    df['VOL_Ratio'] = df['HSL'].shift() * (df['BJ_CJL'] / df['LCJ'])
    df['Volume_范围'] = (df['VOL_Ratio'] > 0.5) & (df['VOL_Ratio'] < 2)
    # 选股条件
    select_df = df[(df['KDJ_金叉']) & (df['Volume_范围']) & (df['TIME'] < '10:00:00')].index.tolist()
    return select_df
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论