问财量化选股策略逻辑
选股逻辑为:振幅大于1,流通市值大于100亿元,15分钟周期MACD绿柱变短。该选股策略同时考虑了市场交易情况和公司规模,以及技术面因素。
选股逻辑分析
该选股策略综合考虑了市场交易情况和公司规模,以及技术面因素,其中振幅和流通市值反映了市场的交投活跃度和公司的规模,同时通过技术面指标MACD绿柱变短判断股票处于下跌阶段,符合抄底的时机。
有何风险?
该选股策略过于依赖技术面指标,忽略了公司的基本面和财务数据等重要因素,存在一定程度上的盲目跟风和投资风险。同时,MACD指标综合多个指标进行计算,指标存在滞后性,需要结合其他指标进行综合判断。
如何优化?
在股票的选择上,要更加全面的考虑股票的基本面、技术面、行业前景等多方面因素,避免单方面依赖某一种因素的判断。可以结合其他技术指标如RSI、KDJ等指标对股票的走势进行综合判断。同时,要选择适合自己的投资风格,以稳健为主,减少投资风险。可以选择配置多种行业的股票,进行行业分散投资,以降低特定行业风险。
最终的选股逻辑
选股条件为:振幅大于1,流通市值大于100亿元,15分钟周期MACD绿柱变短。该选股策略同时考虑了市场交易情况和公司规模,以及技术面因素。
同花顺指标公式代码参考
C1: ABS((HIGH/LOW-1)*100)>=1; //振幅大于1
C2: CIRC_MV>10000000000; //流通市值大于100亿元
C3: MACD(12, 26, 9) < MACD(12, 26, 9)[1] AND MACD(12, 26, 9)[1] >= MACD(12, 26, 9)[2]; //绿柱变短
T: 15min; //15分钟周期
SYMBOL: C1 AND C2 AND C3 ON T;
python代码参考
import pandas as pd
import tushare as ts
def select_stocks(length):
ts.set_token('your_token')
pro = ts.pro_api()
# 获取所有股票数据
data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,name')
# 筛选符合条件的股票
df_list = []
for i in range(len(data)):
code = data.iloc[i]['ts_code']
# 获取股票的15分钟K线数据
k_data = pro.futurues_bar(ts_code=code, freq='15min')
if k_data.empty:
continue
if abs((k_data.iloc[-1]['high'] / k_data.iloc[-1]['low'] - 1) * 100) < 1: # 振幅小于1
continue
circ_mv = pro.query('daily_basic', ts_code=code, trade_date=k_data.iloc[-1]['trade_date'], fields='circ_mv').iloc[0]['circ_mv'] # 流通市值
if circ_mv < 10000000000: # 流通市值小于100亿元
continue
# 判断MACD绿柱是否变短
macd = ta.MACD(k_data['close'], fastperiod=12, slowperiod=26, signalperiod=9)
if macd[2][-1] < macd[2][-2] and macd[2][-2] >= macd[2][-3]:
info = {}
info['ts_code'] = code
info['name'] = data.iloc[i]['name']
df_list.append(info)
# 随机选择一定数量的股票
selected_stocks = pd.DataFrame(df_list)
selected_stocks = selected_stocks.sample(n=length)
return selected_stocks
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
