问财量化选股策略逻辑
本选股策略选取符合以下条件的股票:振幅大于1,周线MA5金叉MA10,收盘价大于昨日的最低价。通过综合考虑技术面和市场走势,筛选出优秀的股票。
选股逻辑分析
与上一题选股逻辑相似,本选股策略同样选取振幅大于1和周线MA5金叉MA10的股票。在此基础上,本选股策略着重强调了股票的趋势性,即需要满足收盘价大于昨日的最低价。这意味着股票不仅具备向上趋势,而且股价波动比较平稳。
有何风险?
本选股策略忽略了公司基本面的影响,忽略了行业趋势以及其他因素,可能会造成买入质量的下降。同时,收盘价大于昨日最低价的条件、也不一定能够完全反映股票的趋势性,并且这个条件过于宽泛,有可能引入很多噪音。
如何优化?
本选股策略应考虑综合因素,包括公司基本面、行业趋势、股市环境等,以提高选中股票的可持续性和收益率。可以进一步明确股票价格波动的条件,以筛选出更好的投资机会。
最终的选股逻辑
本选股策略选取符合以下条件的股票:
- 振幅大于1;
- 周线MA5金叉MA10;
- 当日收盘价大于昨日最低价。
通过综合考虑技术面指标和市场走势,筛选出优秀的股票,进行操作。
同花顺指标公式代码参考
以下是本选股策略的通达信指标代码:
C1: V > 1
C2: WEEK:MA(CLOSE,5) > REF(MA(CLOSE,10),1) AND MA(CLOSE,5) < REF(MA(CLOSE,10), 1)
C3: CLOSE > LLV(REF(CLOSE,1),3)
C4: C1 AND C2 AND C3
C5: COUNTC(C4, 1) > 0
SELECTC(C5, C, 1)
其中, C1
和C2
分别代表振幅和MA均线的条件, C3
表示当日收盘价大于昨日最低价的条件。 C4
为这三个条件的组合, COUNTC
函数计算符合条件的股票数量,最后SELECTC
选出符合条件的股票进行操作。
python代码参考
import tushare as ts
import talib
# 判断当日是否符合条件
def check_today(code):
k_data = ts.get_hist_data(code)
if k_data is None or 'ST' in k_data.name.values[0] or '退' in k_data.name.values[0]:
return False
v = k_data.iloc[-1]['volume']
ma5 = talib.MA(k_data['close'], timeperiod=5)[-1]
ma10 = talib.MA(k_data['close'], timeperiod=10)[-1]
close_price = k_data.iloc[-1]['close']
last_low_price = talib.MIN(k_data['low'], timeperiod=3)[-2]
return v>1 and ma5>ma10 and close_price>last_low_price
# 按市值排序并选取符合条件的股票
def select_stock():
results = []
all_stocks = ts.get_stock_basics()
for code in all_stocks.index:
if check_today(code):
results.append(code)
selected_data = all_stocks.loc[results]
return selected_data.sort_values(by='circulating_market_cap', ascending=False).index.tolist()
print(select_stock())
以上代码仅供参考,具体实现应根据实际情况进行调整。其中,使用了 tushare
和 talib
库进行了股票数据获取和技术指标计算, check_today
和 select_stock
分别用于筛选符合条件的股票和按市值排序。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
