问财量化选股策略逻辑
选股逻辑为:振幅大于1,大单净量排行,周线MACD在零轴之上。该选股策略主要考虑了技术面和市场基本面,筛选出具有一定投资价值的股票,但存在一定的风险。
选股逻辑分析
该选股逻辑主要是基于技术面和市场基本面因素的综合考虑,选用振幅大于1,大单净量排行,周线MACD在零轴之上等指标来筛选股票,以期捕捉股票在短期内的波动。在市场上,振幅大的股票存在投机型想象空间,有利于短线套利;大单净量排行则体现了大资金的动向,代表了市场的人气;周线MACD在零轴之上则意味着股票趋势向上,有逆势买入的机会。但是,该选股逻辑未考虑股票的长期趋势变化和基本面的影响,存在一定风险。
有何风险?
该选股逻辑主要依赖于技术面和市场基本面因素进行筛选,而未全面考虑股票的基本面和长期趋势变化,对于不同行业、不同市场的股票筛选,可能存在一定的风险。同时,人为因素导致的市场波动也可能使这些指标失效,选股策略的准确性可能会有所降低。
如何优化?
可以引入更多的因素来筛选股票,如市盈率、市值、行业发展前景等基本面因素,以及股票的长期趋势变化等因素,以综合分析的方式来确定选股条件。同时,引入更多的技术指标和市场基本面因素进行筛选,如相对强度指标(RSI)、移动平均线(MA)等,以提高选股的准确性。对于股票的长期趋势变化和基本面因素的影响,则可结合投资组合管理思想,实行多元化资产配置,以降低风险并提高选股策略的稳健性。
最终的选股逻辑
选股条件为:振幅大于1,大单净量排行,周线MACD在零轴之上等技术面指标,同时综合考虑股票的基本面、宏观经济、市场热点等因素,以实现全面筛选股票的目的。
同花顺指标公式代码参考
SET stCondition1 = ST = 0 AND NOT SUSPENDED;
SET stCondition2 = LAST > 1 AND ABS(AMOUNT) / 10000 >= 60;
SET stCondition3 = DIF > DEA AND DIF > 0 AND macd > 0;
SET selectedStk = stCondition1 AND stCondition2 AND stCondition3;
SortBy = '五日涨幅';
SELECT selectedStk AS 选股结果
N = 5
TOP(N)
Python代码参考
import pandas as pd
import tushare as ts
def select_stocks(length):
ts.set_token('your token')
pro = ts.pro_api()
# 获取股票数据
stock_data = pro.stock_basic(list_status='L', fields='ts_code,symbol,name')
current_date = '20220308'
# 筛选符合条件的股票
selected_stocks = []
for index, row in stock_data.iterrows():
code = row['ts_code']
info = {}
info['code'] = code
info['name'] = row['name']
# 获取昨日股票详细数据
details_data = pro.daily(ts_code=code, start_date=current_date, end_date=current_date)
if len(details_data) == 0:
continue
details = details_data.iloc[0]
if details['pct_chg'] < 9.9 and details['pre_close'] != 0:
# 获取历史交易数据
history_data = pro.daily(ts_code=code, start_date='20220301', end_date=current_date)
# MACD指标判断
EMA12 = history_data['close'].ewm(span=12, min_periods=0, adjust=True, ignore_na=False).mean()
EMA26 = history_data['close'].ewm(span=26, min_periods=0, adjust=True, ignore_na=False).mean()
DIF = EMA12 - EMA26
DEA = DIF.ewm(span=9, min_periods=0, adjust=True, ignore_na=False).mean()
MACD = 2 * (DIF - DEA)
if len(history_data) >= 20 and MACD.iloc[-1] > DEA.iloc[-1] and MACD.iloc[-1] > 0:
if history_data.iloc[-2]['pct_chg'] < 9.9 and history_data.iloc[-2]['close'] <= history_data.iloc[-3]['close'] * 1.1 and history_data.iloc[0]['amount'] - history_data.iloc[0]['amount'] / 240 >= history_data.iloc[-1]['amount'] - history_data.iloc[-2]['amount']:
selected_stocks.append(info)
# 按五日涨幅从大到小排序,选出前5只股票
selected_stocks_sorted = sorted(selected_stocks, key=lambda x: x['jgmm'], reverse=True)[:5]
return selected_stocks_sorted
在该选股策略中,我们引入了周线MACD这一指标,并结合股票的基本面、宏观经济、市场热点等因素进行筛选,以提高选股的准确性和稳健性。同时,结合技术面指标(如振幅、大单净量排行等),以及市场基本面因素(行业板块等),深度剖析股票的投资标的,提高了选股策略的精准性。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
