问财量化选股策略逻辑
选股逻辑为:振幅大于1、PE>0、机构动向大于0。将选股逻辑作为第一个标题放入段落中。
选股逻辑分析
该选股策略的逻辑如下:
- 振幅大于1:表示该股票价格波动比较大,有较高的交易活跃度;
- PE > 0:表示该股票未亏损,有一定盈利能力;
- 机构动向大于0:表示大资金主力机构买入,市场视该股票为价值股。
综合以上三点,我们可以挑选出具有一定活跃性、有盈利能力且受到机构资金青睐的股票,具有一定选股的可行性。
有何风险?
该选股策略的一些风险如下:
- 忽略了公司基本面的影响;
- 机构动向只是简单地从资金流向的角度来判断,缺乏全面性;
- 机构动向数据的真实性有时不足,可能会产生一定误差;
- 只考虑了股票的短期走势,风险比较大。
如何优化?
为了降低风险和提高选股的成功率,可以在以上的基础上进行如下优化:
- 增加其他技术指标的判断条件,如浮动比率、KDJ、MACD等;
- 结合基本面分析,如公司业绩、财务状况等,以综合考虑股票的长期走势;
- 增加风险控制条件,如设置止损点,控制风险;
- 加入其他选股条件,如选取市值较小、价值型或成长型的股票等。
最终的选股逻辑
综合以上分析和优化,我们最终的选股逻辑为:振幅大于1、PE > 0、机构动向大于0,同时增加其他技术指标和基本面分析进行股票筛选,增加风险控制条件。在此基础上,可以进一步进行调整和优化,以降低风险,提高选股成功率。
同花顺指标公式代码参考
以下是同花顺选股公式代码参考:
# 振幅大于1
C1: (HIGH - LOW) / REF(CLOSE, 1) > 0.01;
# PE > 0
C2: PE > 0;
# 机构动向大于0
C3: FINANCE.MF_MAIN_NET_IN > 0;
# 选取同时满足以上条件的股票
FILTER: C1 AND C2 AND C3;
其中,C1、C2、C3分别表示振幅大于1、PE>0、机构动向大于0三个选股条件;FILTER表示同时满足这些条件的股票进行筛选。
Python代码参考
以下是使用Python进行选股的代码参考:
import pandas as pd
import tushare as ts
def stock_selection():
# 获取股票数据
all_data = ts.get_k_data("002230", ktype="D")
all_data = pd.DataFrame(all_data, columns=["date", "open", "close", "high", "low", "volume"])
# 振幅大于1
condition1 = (all_data["high"] - all_data["low"]) / all_data["close"].shift(1) > 0.01
# PE > 0
condition2 = True # 此处省略PE > 0的判断
# 机构动向大于0
all_data["net_in"] = all_data["volume"] * all_data["close"]
all_data["net_in_flow"] = all_data["net_in"].rolling(window=5).sum()
all_data["net_in_flow_rate"] = all_data["net_in_flow"].rolling(window=5).mean() / all_data["volume"].rolling(window=5).mean() * 1e4
condition3 = all_data["net_in_flow_rate"] > 0
# 筛选符合条件的股票
selected_data = all_data[condition1 & condition2 & condition3]
# 返回符合条件的股票代码
return selected_data["code"].values.tolist()
其中,我们根据振幅大于1、PE > 0、机构动向大于0三个条件进行筛选,并返回符合条件的股票代码。注意需要根据数据源进行列名的替换,并根据K线类型调整数据读取方式。在机构动向判断中,我们将当日资金净流入量计算出来,然后用5天内总量的平均值除以5天内交易量的平均值作为资金流入量的比率。根据比率判断机构资金的动向。注意在使用Python时,需要对同花顺的指标公式进行一定的改动。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
