问财量化选股策略逻辑
选股逻辑为:振幅大于1、换手率大于2%且小于9%、个股热度从大到小排序。该选股策略主要以股票的波动性、市场交易情况、基本面以及市场情绪等因素为主,同时引入了热度因素,增加了市场参与度。
选股逻辑分析
该选股策略主要结合了技术面和市场情绪,其中振幅和换手率作为技术面的指标,用来筛选出波动性较大的股票,个股热度则表示市场情绪,用来筛选出更受市场关注的股票,同时再按照个股热度排序,可以更好地把握市场热点。
有何风险?
该选股策略存在以下不足与风险:首先,个股热度的计算方式并不精确,可能会受到市场干扰等因素的影响,因此选择排序时需要谨慎;其次,对于波动性较大的股票,其风险也不可忽视,在投资中需要注意风险把控。
如何优化?
该选股策略可以进一步优化个股热度的计算方式,采用更加科学、全面的方法进行评估;同时,可以引入更多的技术指标,如MACD、K线等,综合考虑大量数据,准确评估股票的投资价值和趋势性;可以在排名的基础上进行更加细致的分析,从而筛选出更加优质的股票。
最终的选股逻辑
选股条件为:振幅大于1、换手率大于2%小于9%、个股热度从大到小排序名。该选股策略综合考虑了股票的波动性、市场交易情况、基本面以及市场情绪等关键因素,增加了市场参与度,可以更好地把握市场热点。
同花顺指标公式代码参考
选股条件为:振幅大于1、换手率大于2%小于9%、个股热度从大到小排序名。
C1: ABS((HIGH/LOW-1)*100)>=1;//振幅大于1
C2: TURNOVER>2 AND TURNOVER<=9;//换手率大于2%小于9%
SYMBOL_SORT: DecS(RANK(AMOUNT), 1);//按个股热度从大到小排序
SYMBOL: C1 AND C2 AND SYMBOL_SORT;
python代码参考
import pandas as pd
import tushare as ts
import datetime
def select_stocks(length):
ts.set_token('your token')
pro = ts.pro_api()
# 获取股票数据
stock_data = pro.stock_basic(list_status='L', exchange='SSE', fields='ts_code,symbol,name,industry,list_date')
df_list = []
# 筛选符合条件的股票
for index, row in stock_data.iterrows():
code = row['ts_code']
info = {}
info['code'] = code
info['name'] = row['name']
# 获取技术数据
tech_data = pro.daily_basic(ts_code=code, trade_date=datetime.date.today().strftime('%Y%m%d'), fields='ts_code,turnover_rate')
if tech_data.empty or tech_data.iloc[-1]['turnover_rate'] <= 0.02 or tech_data.iloc[-1]['turnover_rate'] >= 0.09:
continue
# 获取个股热度
# rank_data = pro.moneyflow(ts_code=code, start_date=datetime.date.today()-datetime.timedelta(days=5), end_date=datetime.date.today(), fields='ts_code,amount').groupby('ts_code').sum().reset_index()
# rank_data['rank'] = rank_data['amount'].rank(ascending=False)
# rank = rank_data.loc[rank_data['ts_code'] == code]['rank'].values[0]
# info['hot_rank'] = rank
# 添加股票
df_list.append(info)
# 根据个股热度排序
selected_stocks = pd.DataFrame(df_list)
selected_stocks['hot_rank'] = selected_stocks['code'].apply(lambda x: pro.moneyflow(ts_code=x, start_date=datetime.date.today()-datetime.timedelta(days=5), end_date=datetime.date.today(), fields='ts_code,amount').groupby('ts_code').sum().reset_index()['amount'].rank(ascending=False).values[0])
selected_stocks = selected_stocks.sort_values(by='hot_rank')
selected_stocks = selected_stocks.head(length)
return selected_stocks
致辞
本次问答为选股逻辑:振幅大于1,换手率>2%且<9%,按个股热度从大到小排序名的问答。该选股策略主要结合了技术面和市场情绪,增加了市场参与度,可以更好地把握市场热点。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
