问财量化选股策略逻辑
选股逻辑为:振幅大于1、大单净量排行、买一量大于卖一量。该选股策略主要考虑振幅较大、交易活跃、市场情绪较好的股票,适用于对股票的短期投资者。
选股逻辑分析
该选股逻辑考虑到了交易活跃度,即买卖双方愿意参与交易的程度。买一量大于卖一量代表市场情绪较好,市场情绪从某种程度上反映了投资者对未来市场的看法。但该选股逻辑忽略了公司的基本面和行业情况,而情绪的变化往往不可控,容易错杀好股。
有何风险?
该选股逻辑几乎完全忽略了公司的基本面情况,例如公司的盈利能力、竞争力、行业地位等。此外,情绪变化不可控,很可能会错杀好股。
如何优化?
可以加入公司的基本面指标和技术指标,如EPS、市净率、RSI等,以获得更全面、更准确的选股标准。此外,在买卖双方参与度不高时,可以结合技术指标、量价分析等方法进行更为全面的分析。需要注意的是,应该将情绪指标与其他指标作为辅助分析手段而不是完全依赖。
最终的选股逻辑
选股条件为:振幅大于1、大单净量排行、买一量大于卖一量,并加入公司的基本面和技术指标进行综合判断。
同花顺指标公式代码参考
# 振幅大于1
SELECT1 = (HIGH - LOW) / HIGH > 0.01
# 大单净量排行
SELECT2 = GET_DRBQ(CODE, NAME, LAST, LASTVOL) >= 0.8
# 买一量大于卖一量
SELECT3 = BUYVOL > SELLVOL
SELECT = SELECT1 AND SELECT2 AND SELECT3
SORT_BY = '市值'
SORT_ASCEND = False
Python代码参考
import pandas as pd
import numpy as np
import tushare as ts
def get_selected_stocks():
ts.set_token('Your Token')
pro = ts.pro_api()
# 获取股票数据
stock_data = pro.daily(ts_code='000001.SZ', start_date='20220101', end_date='20220301')
stock_list = []
# 进行选股
for idx, row in stock_data.iterrows():
# 判断条件,振幅大于1,大单净量排行,买一量大于卖一量
if not ((row['high'] - row['low']) / row['high'] > 0.01) or \
GET_DRBQ(row['ts_code'], row['name'], row['close'], row['vol']) < 0.8 or \
row['bid_vol1'] <= row['ask_vol1']:
continue
selected_data = {}
selected_data['ts_code'] = row['ts_code']
selected_data['stock_name'] = row['name']
selected_data['stock_price'] = row['close']
selected_data['circ_market_cap'] = row['circ_mv']
# 可添加其他指标
stock_list.append(selected_data)
# 按市值从大到小排序
selected_stocks_sorted = sorted(selected_stocks, key=lambda x: x['circ_market_cap'], reverse=True)
return selected_stocks_sorted
以上为Python代码实现,选股逻辑为:振幅大于1、大单净量排行、买一量大于卖一量。注意,需要根据具体市场情况调整买卖双方参与度的指标。选股时,应把情绪指标作为辅助指标,不能将其作为主导指标。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
