问财量化选股策略逻辑
选股策略为:在元宇宙行业中选取KDJ刚形成金叉,并且2019年分红比例大于25%的股票。在每个交易日的10点之前进行选股,选取当日的交易股票。
选股逻辑分析
本选股策略结合了技术面和资产面的分析,通过技术面的选股条件,筛选符合要求的股票,再通过资产面的选股条件,筛选出具有一定财务优势的股票,以提高选股准确性和收益性。同时,在每个交易日的10点之前进行选股,能够减小市场波动的影响。
有何风险?
本选股策略存在以下风险:
- 所选条件忽略了公司未来的业务规划和发展方向,可能出现数据不全或失误导致的误判;
- 分红比例过高的公司可能出现现金流不足的风险;
- 时间条件的限制可能导致错过一些交易机会;
- 特别是KDJ金叉指标假信号和跳空缺口的风险,需要谨慎操作。
如何优化?
为提高本选股策略的准确性和鲁棒性,可以:
- 在技术面的选股条件中,加入更多的指标,例如MACD等,以提高选股的准确性;
- 在资产面的选股条件中,增加一些基本面分析,比如市盈率、市净率等信息,以更全面的分析股票的价值和风险;
- 在时间条件的限制中,可以适当增加选股时间,以顺应市场波动和变化;
- 综合考虑KDJ指标、分红比例和股价走势,避免出现假信号,并注意跳空缺口的存在影响。
最终的选股逻辑
在元宇宙行业中选取KDJ刚形成金叉,并且2019年分红比例大于25%的股票。在每个交易日的10点之前进行选股,选取当日的交易股票。
同花顺指标公式代码参考
# 选股条件:在元宇宙行业中选取KDJ刚形成金叉,并且2019年分红比例大于25%的股票。
INDUSTRY == '元宇宙' AND KDJ(9,3,3)上穿KDJ(9,3,3)的DEA AND FY0/ROE0 * 100 > 25 AND HSL > 0 AND LB > 0 AND ST == 0 AND REF(SHORTLN, 2)<-4
# 选股结果:选取当日的交易股票
选股条件:INDUSTRY == '元宇宙' AND KDJ(9,3,3)上穿KDJ(9,3,3)的DEA AND FY0/ROE0 * 100 > 25 AND HSL > 0 AND LB > 0 AND ST == 0 AND REF(SHORTLN, 2)<-4 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())
# 资产面条件
df['HSL'] = df['AMOUNT'] / df['FLOAT_CAP'] # 换手率
df['FY0/ROE0'] = df['FY0'] / df['ROE0']
df['ST'] = df['NAMES'].str.contains('ST')
select_df = df[(df['KDJ_金叉']) & (df['FY0/ROE0']*100 > 25) & (~df['ST']) & (df['TIME'] < '10:00:00')].index.tolist()
return select_df
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


