问财量化选股策略逻辑
选股逻辑为:振幅大于1、PE>0、换手率3%~12%的股票。将选股逻辑作为第一个标题放入段落中。
选股逻辑分析
该选股策略的逻辑如下:
- 振幅大于1表示该股票价格波动比较大,有较高的交易活跃度;
- PE>0表示该股票未亏损,有一定盈利能力;
- 换手率3%~12%表示该股票交易活跃度适中,具有一定的市场认可度。
综合以上几点,我们可以选出具备较好交易活跃度、盈利能力和市场认可度的股票。
有何风险?
该选股策略的风险如下:
- 不能全面考虑公司的基本面和未来发展潜力,只是从技术面来选股。
- 选股逻辑过于简单,可能选出大量次新股和低市值股票。
如何优化?
为了降低风险和提高选股的成功率,可以在以上的基础上进行如下优化:
- 结合其他交易指标如KDJ、RSI等,验证股票的趋势和价格波动性;
- 利用财务数据等基本面指标,综合考虑股票的盈利能力和成长潜力;
- 增加市值限制,筛选具有一定规模的公司股票。
最终的选股逻辑
综合以上分析和优化,我们最终的选股逻辑为:振幅大于1、PE>0、换手率3%~12%的股票。在此基础上,可以进一步进行调整和优化,以降低风险,提高选股成功率。
同花顺指标公式代码参考
以下是同花顺选股公式代码参考:
# 振幅大于1
C1: (HIGH - LOW) / REF(CLOSE, 1) > 0.01;
# PE>0
C2: PE > 0;
# 换手率3%~12%
C3: (VOL / CAPITAL) > 0.03 AND (VOL / CAPITAL) < 0.12;
# 选取同时满足以上条件的股票
FILTER: C1 AND C2 AND C3;
其中,C1、C2、C3分别表示振幅大于1、PE>0、换手率3%~12%的选股条件; FILTER表示同时满足这些条件的股票进行筛选。
Python代码参考
以下是使用Python进行选股的代码参考:
import pandas as pd
import tushare as ts
def stock_selection():
# 获取股票数据
all_data = ts.get_today_all()
all_data = all_data[all_data['code'].str.startswith('00') | all_data['code'].str.startswith('60')]
all_data = all_data[all_data['trade'] > 0]
all_data = all_data[all_data['volume'] > 1e4]
# 计算振幅
all_data['amplitude'] = (all_data['high'] - all_data['low']) / all_data['pre_close']
# 选取振幅大于1的股票
all_data = all_data[all_data['amplitude'] > 0.01]
# 判断PE是否大于0
pe = ts.get_stock_basics()
all_data = pd.merge(all_data, pe, left_on='code', right_index=True)
all_data = all_data[all_data['pe'] > 0]
# 判断换手率是否在3%~12%之间
volume = ts.get_today_ticks(all_data['code'].tolist()).groupby('code')['volume'].sum()
all_data = pd.merge(all_data, volume, left_on='code', right_index=True)
capital = all_data['trade'] * all_data['totals'] * 10000
all_data = all_data[(all_data['volume'] / capital > 0.03) & (all_data['volume'] / capital < 0.12)]
# 选取同时满足以上条件的股票代码列表
selected_code = all_data['code'].tolist()
return selected_code
在Python代码中,我们计算了振幅、PE、换手率等情况,在判断选股条件时,按照自己的实际情况进行调整和优化。需要注意数据清洗和异常值处理等问题。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
