问财量化选股策略逻辑
本选股策略选取振幅大于1,周线MA5金叉MA10以及周线红柱的条件进行投资,旨在通过技术面指标和股票走势特征进行选股。
选股逻辑分析
选股策略中主要采用了技术分析中常用的三个指标,振幅、均线以及K线形态,突出了企业价格波动和趋势的重要性,体现了市场的基本走势特征。
有何风险?
此选股策略没有考虑企业的基本面面影响,如盈利、营销等指标,难以预测技术面指标对股票表现的影响,同时并不能完全避免市场变化对价格波动的影响,存在一定程度的风险。
如何优化?
可引入其他指标如基本面数据、新闻公告等进行筛选,同时根据市场情况进行适当调整,如放宽或加强过滤条件,优化选股效果。
最终的选股逻辑
本选股策略选取振幅大于1,周线MA5金叉MA10以及周线红柱的条件进行投资,并综合考虑其他技术和基本面指标来进行股票的筛选。
同花顺指标公式代码参考
- 均线公式:
- MA(N) = SUM(CLOSE, N) / N
- K线形态公式:
- DIFF = EMA(CLOSE, 12) - EMA(CLOSE,26)
- DEA = EMA(DIFF, 9)
- MACD = (DIFF - DEA) * 2
- OSC = MACD - EMA(MACD, 9)
- RED BAR = IF(OSC > 0, OSC, 0)
python代码参考
import tushare as ts
import pandas as pd
pro = ts.pro_api()
def select_stocks(n):
selected_stocks = []
for code in pro.query('stock_basic', exchange='', list_status='L', fields='ts_code,name,industry,market,area,pe,pb,circ_mv')['ts_code']:
df = pro.weekly(ts_code=code, start_date='20210101', end_date=pd.datetime.now().strftime('%Y%m%d'), fields='ts_code,trade_date,open,high,low,close,vol,circ_mv,total_mv')
if df.iloc[-1]['pct_chg'] > 0 and (df.iloc[-1]['high'] - df.iloc[-1]['low']) / df.iloc[-1]['close'] > 0.01 and df.iloc[-1]['close'] > df.iloc[-1]['open'] and df.iloc[-1]['close'] > (df.iloc[-1]['open'] + df.iloc[-1]['close'] + df.iloc[-1]['low']) / 3 and df.iloc[-1]['close'] > df.iloc[-2]['close']:
diff = df.iloc[-9:]['close'].ewm(span=12).mean() - df.iloc[-9:]['close'].ewm(span=26).mean()
dea = diff.ewm(span=9).mean()
macd = (diff - dea) * 2
osc = macd - macd.ewm(span=9).mean()
red_bar = osc.where(osc > 0, 0)
if red_bar[-1] > 0:
selected_stocks.append(code)
return selected_stocks[:n]
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
