问财量化选股策略逻辑
选取MACD值在零轴以上、企业性质、现量大于1万手、开盘价高于昨日收盘价的个股作为投资标的。该策略主要选取具有良好市场表现的个股,以寻找具备较强趋势性的股票,用于投资。
选股逻辑分析
该选股策略主要选取具备良好的市场表现的个股,包括MACD值在零轴以上、企业性质、现量大于1万手、开盘价高于昨日收盘价等多个条件。策略主要选取大量成交的个股,通过对股票的细节进行观察,可以筛选出具备较强涨势的个股。
有何风险?
在市场波动比较大的时期,容易出现一些股票在满足选股条件的情况下,整体走势不佳的情况。此外,对MACD的单一指标的关注,会对该策略的有效性造成影响。
如何优化?
可以结合市场情况和投资者自身的投资风格来进行优化。相对于单一指标选股,可以结合多个技术分析指标来进行选股,同时也应关注基本面和产业情况等要素。
最终的选股逻辑
选取MACD值在零轴以上、企业性质、现量大于1万手、开盘价高于昨日收盘价的个股作为投资标的。
同花顺指标公式代码参考
VOL > 10000 AND MACD>0 AND REF(CLOSE,1) < OPEN
Python代码参考
import talib
import jqdatasdk as jq
from datetime import datetime
jq.auth("账户名", "密码")
today = datetime.now().strftime("%Y-%m-%d")
q = jq.query(jq.valuation).filter(jq.valuation.code.in_(jq.get_index_stocks('000001.XSHG')))
df_valuation = jq.get_fundamentals(q)
df_stock_basics = jq.get_all_securities('stock')
df_stock_basics = df_stock_basics[df_stock_basics['start_date'] < today]
df_price = jq.get_price(df_stock_basics.index.tolist(), end_date=today, frequency="daily", fields=['open', 'close', 'volume'])
df_vol = df_price['volume']
df_open = df_price['open']
df_close = df_price['close']
df_last_close = df_close.shift()
df_high = df_price['high']
df_low = df_price['low']
df_macd, _, _ = talib.MACD(df_close, fastperiod=12, slowperiod=26, signalperiod=9)
df_price = df_price[(df_last_close < df_open) & (df_vol > 10000) & (df_macd > 0)]
q = jq.query(jq.valuation).filter(jq.valuation.code.in_(df_price.index.tolist()))
df_valuation = jq.get_fundamentals(q, count=1)
stock_list = df_valuation.index.tolist()
for code in stock_list:
q = jq.query(jq.valuation).filter(jq.valuation.code==code)
df_valuation = jq.get_fundamentals(q)
if len(df_valuation) > 0 and len(df_valuation[df_valuation['close'] == df_valuation['high_limit']]) > 0:
stock_name = jq.get_security_info(code).display_name
print("(" + code + ")" + stock_name + " 符合条件")
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


