问财量化选股策略逻辑
选股逻辑:振幅大于1、昨天有3连板、今日上涨大于1%、主板市场。
选股逻辑分析
该选股策略是基于技术面和市场表现来选择股票,振幅大于1表明股票波动性较大,连续3个交易日上涨表明市场热门。今日上涨大于1%表明股票表现积极,且要求在主板市场上。
该策略在技术面和市场表现综合考虑,能较好地筛选出市场表现积极的优质股票。
有何风险?
以下是该选股策略可能存在的风险:
- 过于注重短期市场表现,忽略了股票的财务和长期走势;
- 策略选股条件较为苛刻,可能导致股票数量不足,影响投资组合的分散性。
如何优化?
为了优化该选股策略,减少风险,可以尝试以下优化:
- 在考虑市场表现的同时,也加入股票的基本面因素,如财务、行业板块等,来综合分析股票;
- 对选股条件进行适当松弛,扩大选股范围,增加股票数量,提高投资组合的分散性。
最终的选股逻辑
根据以上的分析和优化,我们可以得到改进后的选股逻辑:
- 挑选振幅大于1,昨天有3连板和今日上涨大于1%,且为主板市场的股票;
- 综合考虑股票的技术、市场、财务和行业板块等多方面指标;
- 松弛选股条件, 扩大选股范围,增加投资组合的股票数量。
同花顺指标公式代码参考
以下为同花顺的市场表现指标和板块分类指标公式代码:
今日涨幅:((close - ref(close,1))/ref(close,1))*100,其中close为当日的收盘价,ref(close,1)是昨日的收盘价。
主板市场:如果要判断是否为主板市场,可以根据同花顺股票数据中板块名称字段来筛选主板股票。
板块分类:同花顺提供了各大行业板块的分类编码,根据编码将股票分类
python代码参考
import pandas as pd
from tqsdk import TqApi, TqAuth
api = TqApi(auth=TqAuth("YOUR_ACCOUNT", "YOUR_PASSWORD"))
klines = api.get_kline_serial("SHFE.rb2101", 15 * 60, data_length=300) # 取得 df 数据
df = pd.DataFrame(klines)
C1 = (df['high'] - df['low'] >= 1)
C2 = df.groupby('contract.symbol')['close'].apply(lambda x: (x.shift(1) > x.shift(2)) & \
(x.shift(2) > x.shift(3)) & \
(x.shift(3) > x.shift(4))).astype(int)
C3 = ((df['close'] - df['close'].shift(1))/df['close'].shift(1) > 0.01) & (df['symbol'].str.contains('SH'))
selector = (C1 & C2 & C3).astype(int)
result = df[selector == 1].sort_values('amount', ascending=False).index.tolist()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
