问财量化选股策略逻辑
本选股策略选取振幅大于1、昨日非涨停板和日线MACD值大于0的股票作为投资标的。
选股逻辑分析
振幅大于1可以选出波动性较大的股票,有更大的投资机会;昨日非涨停板是为了避免选出不稳定的股票;日线MACD值大于0表示股票处于多头趋势中。
有何风险?
本选股策略忽略了公司基本面、财务分析、行业因素等方面的影响,可能存在投资风险。同时,MACD指标也存在滞后性,可能会选出短期内已经走完多头趋势的股票。另外,振幅大的股票也存在一定的市场风险。
如何优化?
可以加入其他技术指标来辅助选股,如KDJ、RSI等,综合考虑多个指标的共同表现,避免过度依赖单个指标。同时,可以加入公司基本面和财务分析等因素,进行综合筛选,选取稳健性更强的股票。
最终的选股逻辑
本选股策略选取振幅大于1、昨日非涨停板和日线MACD值大于0的股票作为投资标的,并综合考虑公司基本面、财务分析、行业因素和市场情况进行筛选,选取具有价值潜力和稳健性的股票,构建多样化的投资组合。
同花顺指标公式代码参考
MACD=EMA(CLOSE,12)-EMA(CLOSE,26);
SIGN=EMA(MACD,9);
MACD>0
python代码参考
# 引入Tushare库、Numpy库、Pandas库
import tushare as ts
import numpy as np
import pandas as pd
# 连接Tushare库
pro = ts.pro_api()
def select_stocks(n):
selected_stocks = []
for ts_code in quote["ts_code"]:
# 获取股票数据
stock_data = pro.daily(ts_code=ts_code, start_date='2 days ago', end_date='today', fields='trade_date,close,open,low')
macd_data = pro.index_daily(ts_code=ts_code, start_date='60 days ago', end_date='today', fields='trade_date,close')
macd_data = macd_data.set_index('trade_date').sort_index()
macd_data["EMA12"] = macd_data["close"].ewm(span=12).mean()
macd_data["EMA26"] = macd_data["close"].ewm(span=26).mean()
macd_data["DIFF"] = macd_data["EMA12"] - macd_data["EMA26"]
macd_data["MACD"] = macd_data["DIFF"].ewm(span=9).mean()
if ts_code[:2] != "BJ" and ts_code.startswith("6") or ts_code.startswith("0") or ts_code.startswith("3") and ((stock_data["close"] / stock_data["open"] - 1) > 0.01).sum() > 0 and stock_data["close"].pct_change().iloc[-1] < 0 and macd_data["MACD"].iloc[-1] > 0:
selected_stocks.append(ts_code)
if len(selected_stocks) == n:
return selected_stocks
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
