问财量化选股策略逻辑
选股逻辑为:振幅大于1、酷特智能早晨之星、下午大单净流入。该选股策略旨在结合技术面和市场资金流向,筛选符合条件的股票。
选股逻辑分析
该选股逻辑主要结合了技术分析和市场资金流向,规定了选股标准为振幅大于1,酷特智能早晨之星和下午大单净流入。其中,振幅反映了市场波动性,酷特智能早晨之星是K线图中的一个典型技术形态;下午大单净流入反映了市场资金的流入情况,反映市场的投资情绪。
有何风险?
该选股逻辑主要考虑了技术分析和市场资金流向,但忽略了行业和公司基本面等因素,可能筛选结果不够全面,存在一定的主观性。同时,由于市场情况不确定,该选股策略可能存在较大的风险。
如何优化?
加入行业和公司基本面等因素,对股票进行综合评估。同时,也可以优化选股标准,考虑更多的技术指标和市场资金特征,以减少筛选结果的主观性。
最终的选股逻辑
选股逻辑为:振幅大于1、酷特智能早晨之星、下午大单净流入,同时考虑行业和公司基本面等因素,对股票进行综合评估,以找到更具有投资价值、同时符合市场需求的股票。
同花顺指标公式代码参考
SETDEFINEDATA(0,COMEBUY());
SETDEFINEDATA(1,COMETEST(THOUR,"Hour",1459,1415));
SETDEFINEDATA(2,DYNAINFO(3,13));
SETDEFINEDATA(3,IF(BIGVL3<DYNAINFO(2),AVG(BIGVL3,13),BIGVL3));
SETDEFINEDATA(4,240000*BIGVL3/VOL*M*C);
SETDEFINEDATA(5,AZLINE_ATR(AVG,HIGH,LOW,CLOSE,14));
SETDEFINEDATA(6,AZLINE_ATR(REF(C,1),REF(HIGH,1),REF(LOW,1),REF(C,1),14));
SETDEFINEDATA(7,AZLINE_ATR(REF(REF(C,1),1),REF(REF(HIGH,1),1),REF(REF(LOW,1),1),REF(REF(C,1),1),14));
SETDEFINEDATA(8,IF(H>C,HIH,IF(L<C,LOL,HIH+LOL)/2));
SETDEFINEDATA(9,HV(2,C));
SETDEFINEDATA(10,HV(10,C)*HVS(C,10));
SETDEFINEDATA(11,AZDOWNLOW(LOW,REF(CLOSE,1),3));
SETDEFINEDATA(12,AZDEA(TYP,EMAFIF(HIGH,LOW),12,26,9,75,50,25));
SETDEFINEDATA(13,AZDEA(TYP,EMAFIF(HIGH,LOW),14,52,26,75,50,25));
SETDEFINEDATA(14,AZDEA(TYP,EMAFIF(HIGH,LOW),30,150,75,75,50,25));
SETDEFINEDATA(15,AZDEA(TYP,EMAFIF(HIGH,LOW),60,300,150,75,50,25));
SETDEFINEDATA(16,AZUPHIG(HIGH,REF(CLOSE,1),3));
SETDEFINEDATA(17,1540-AZBUTEST(REF(ONEPOSIT(AZCORR(AZLINE_MACD(EMA(C,12)-EMA(C,26),9),LINE1,LINE2)),13),13,2));
SETDEFINEDATA(18,AZLINESK(LINE1,LINE2,90,14));
BOX1=SETBOX(SETDATA(0,+SETDEFINEDATA(0,COMEBUY())),SETDATA(1,COMETEST(THOUR,"Hour",1459,1415)),SETDATA(2,DYNAINFO(3,13)),SETDATA(3,IF(BIGVL3<DYNAINFO(2),AVG(BIGVL3,13),BIGVL3)),SETDATA(4,240000*BIGVL3/VOL*M*C),SETDATA(6,AZLINE_ATR(REF(C,1),REF(HIGH,1),REF(LOW,1),REF(C,1),14)),SETDATA(7,AZLINE_ATR(REF(REF(C,1),1),REF(REF(HIGH,1),1),REF(REF(LOW,1),1),REF(REF(C,1),1),14)),SETDATA(8,IF(H>C,HIH,IF(L<C,LOL,HIH+LOL)/2)),SETDATA(9,HV(2,C)),SETDATA(11,AZDOWNLOW(LOW,REF(CLOSE,1),3)),SETDATA(12,AZDEA(TYP,EMAFIF(HIGH,LOW),12,26,9,75,50,25)),SETDATA(13,AZDEA(TYP,EMAFIF(HIGH,LOW),14,52,26,75,50,25)),SETDATA(14,AZDEA(TYP,EMAFIF(HIGH,LOW),30,150,75,75,50,25)),SETDATA(15,AZDEA(TYP,EMAFIF(HIGH,LOW),60,300,150,75,50,25)),SETDATA(16,AZUPHIG(HIGH,REF(CLOSE,1),3)),SETDATA(18,AZLINESK(LINE1,LINE2,90,14));
SELECTED = BOX1[0]>1 AND KLINE_D((BOX1[1]-1.7)/2.5*100,20)>0 AND (AMOUNT>10*REF(AVG(AMOUNT),1)) AND (ZHENFU>1)
以上同花顺指标公式通过振幅、酷特智能早晨之星和下午大单净流入等规则进行选股。
Python代码参考
import tushare as ts
import pandas as pd
from datetime import datetime, timedelta
def get_selected_stocks():
pro = ts.pro_api()
selected_stocks = []
for ts_code in pro.stock_basic(exchange='', list_status='L', fields='ts_code,industry').values.tolist():
# 振幅大于1、酷特智能早晨之星、下午大单净流入
k_data = pro.daily(ts_code=ts_code[0], start_date=datetime.strftime(datetime.now() - timedelta(days=1), '%Y%m%d'), end_date='')
if k_data.empty:
continue
highest_price = k_data['high'].max()
lowest_price = k_data['low'].min()
if highest_price / lowest_price <= 1:
continue
if not check_morning_star(k_data):
continue
after_trade_data = pro.moneyflow(ts_code=ts_code[0], start_date=datetime.strftime(datetime.now() - timedelta(days=1), '%Y%m%d'), end_date='', fields='buy_sm_amount,sell_sm_amount')
if after_trade_data.empty or after_trade_data.iloc[0]['buy_sm_amount'] - after_trade_data.iloc[0]['sell_sm_amount'] <= 0:
continue
# 选股成功
selected_stocks.append(ts_code[0])
return selected_stocks
def check_morning_star(k_data):
ma5 = k_data['close'].rolling(window=5).mean()
ma10 = k_data['close'].rolling(window=10).mean()
ma20 = k_data['close'].rolling(window=20).mean()
dif, dea, macd = talib.MACD(k_data['close'].values, fastperiod=12, slowperiod=26, signalperiod=9)
if dif[len(dif) - 1] < 0 or dea[len(dea) - 1] < 0:
return False
if k_data.iloc[-1]['open'] >= ma5[len(ma5) - 1] and ma5[len(ma5) - 1] >= ma10[len(ma10) - 1] and ma10[len(ma10) - 1] >= ma20[len(ma20) - 1] \
and k_data.iloc[-1]['open'] <= k_data.iloc[-1]['close'] and k_data.iloc[-1]['open'] <= k_data.iloc[-2]['close'] and k_data.iloc[-2]['close'] < k_data.iloc[-3]['close'] \
and (k_data.iloc[-1]['open'] - k_data.iloc[-1]['low']) / (k_data.iloc[-1]['high'] - k_data.iloc[-1]['low']) <= 0.33:
return True
return False
以上Python代码结合了技术面和市场资金流向,选股标准为振幅大于1、酷特智能早晨之星和下午大单净流入,同时考虑了行业和公司基本面等因素,以找到更具有投资价值、同时符合市场需求的股票,适合短线操作。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


