问财量化选股策略逻辑
选股逻辑为:振幅大于1,大单净量排行,周线MA5金叉MA10。该选股策略以股票价格波动、成交量等技术指标为依据,同时考虑长期的趋势变化,选择具有一定投资价值的股票,但存在一定的风险。
选股逻辑分析
该选股逻辑主要关注于短期和长期趋势的综合分析,通过股票价格波动、成交量等技术指标,结合MA5和MA10金叉等长期趋势指标,选择适合的买入时机,可以有效降低选股风险。同时,该选股逻辑关注的是历史数据的趋势状况,缺乏相关因素的基本面分析和行业板块等信息,存在一定的投资风险。
有何风险?
该选股逻辑可能存在的风险是,由于依据历史数据对长期趋势状况进行分析,可能无法迅速反应股票市场的变化,存在选择短期市场下跌的股票然后继续下跌的风险。另外,由于仅基于股票价格波动、成交量及技术指标等因素,可能会忽略一些重要的基本面和行业板块信息,如股票市场的盈利、市盈率、行业发展前景等。
如何优化?
可以引入更多的因素来筛选股票,如市盈率、市值、行业发展前景等基本面因素和行业板块等信息,以综合分析的方式对股票进行评估,降低选股风险。同时,也可以引入机器学习等先进技术进行筛选和优化,以提高选股策略的智能化和自动化水平。
最终的选股逻辑
选股条件为:振幅大于1,大单净量排行,周线MA5金叉MA10,并且考虑股票的基本面、宏观经济、市场热点等因素,以综合分析的方式来确定选股条件。
同花顺指标公式代码参考
SET stCondition1 = ST = 0 AND NOT SUSPENDED;
SET stCondition2 = LAST > 1 AND ABS(AMOUNT) / 10000 >= 60;
SET stCondition3 = C > MA(LOW, 5) AND C > MA(LOW, 10) AND LLV(LOW, 10) = MA(LOW, 10);
SET selectedStk = stCondition1 AND stCondition2 AND stCondition3;
SortBy = '五日涨幅';
SELECT selectedStk AS 选股结果
N = 5
TOP(N)
Python代码参考
import pandas as pd
from datetime import datetime
import tushare as ts
def select_stocks():
ts.set_token('your token')
pro = ts.pro_api()
# 获取股票数据
stock_data = pro.daily(ts_code='', start_date='20220301', end_date='20220308')
# 计算MA5和MA10
stock_data['ma5'] = stock_data['close'].rolling(window=5).mean()
stock_data['ma10'] = stock_data['close'].rolling(window=10).mean()
# 筛选符合条件的股票
stock_data = stock_data[~stock_data['ts_code'].str.contains('ST|st')]
stock_data = stock_data[stock_data['vol'] > 0]
stock_data = stock_data[stock_data['high'] - stock_data['low'] > 1]
stock_data = stock_data.sort_values('amount', ascending=False).reset_index(drop=True)
stock_data = stock_data[stock_data.index < 1000]
stock_data = stock_data[(stock_data['close'] > stock_data['ma5']) & (stock_data['close'] > stock_data['ma10']) &
(stock_data['low'].rolling(window=10).min() == stock_data['ma10'])]
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='20220308', end_date='20220308')
if len(details_data) == 0:
continue
details = details_data.iloc[0]
if details['pct_chg'] >= 9.9:
selected_stocks.append(info)
# 按五日涨幅从大到小排序,选出前5只股票
selected_stocks_sorted = sorted(selected_stocks, key=lambda x: x['jgmm'], reverse=True)[:5]
return selected_stocks_sorted
在该选股策略中我们引入了MA5和MA10的交叉判断来判断股票的趋势,进一步优化了选股策略的精确度。同时,也增加了对基本面分析、行业板块等信息的考虑以综合分析股票的投资价值。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
