问财量化选股策略逻辑
- 今日增仓占比>5%,表示最近一段时间内,该股票的成交量在增加,且增加比例较高,说明市场对该股票的关注度较高。
- 前日实际换手率>3~28,表示该股票的换手率较高,说明市场对该股票的活跃度较高。
- k小于20,表示该股票的短期趋势较弱,说明市场对该股票的预期较为悲观。
选股逻辑分析
- 该策略通过选取今日增仓占比>5%和前日实际换手率>3~28的股票,可以筛选出近期市场关注度较高、活跃度较高、短期趋势较弱的股票。
- 该策略可以筛选出具有较强市场潜力的股票,但同时也可能会筛选出一些短期涨幅较大的股票,因此需要结合其他因素进行综合分析。
有何风险?
- 该策略可能会筛选出一些短期涨幅较大的股票,因此可能会面临一定的风险。
- 该策略可能会筛选出一些市场关注度较高、活跃度较高、短期趋势较弱的股票,这些股票可能会受到市场情绪的影响,从而带来一定的风险。
如何优化?
- 可以结合其他因素进行综合分析,例如公司的财务状况、行业发展趋势等,以提高策略的准确性和稳定性。
- 可以通过调整策略的参数,例如选取更高的今日增仓占比和更低的前日实际换手率阈值,以提高策略的筛选效果。
最终的选股逻辑
- 选取今日增仓占比>5%和前日实际换手率>3~28的股票,结合其他因素进行综合分析,筛选出具有较强市场潜力的股票。
python代码参考
- 以下为基于问财的量化策略代码示例,需要先安装问财库:
!pip install qtpy
!pip install qstools
!pip install qdata
!pip install alpaca_trade_api
!pip install backtrader
- 以下为基于问财的量化策略代码示例,需要先安装问财库:
import backtrader as bt
import alpaca_trade_api as tradeapi
from alpaca_trade_api import PaperTrading
# 设置API key和secret key
key = 'YOUR_API_KEY'
secret = 'YOUR_API_SECRET'
# 创建API对象
api = tradeapi.REST(key, secret, paper=True)
# 设置数据源
data = bt.feeds.PandasData(dataname='AAPL', fromdate=datetime.datetime(2021, 1, 1), timeframe=bt.TimeFrame.Days)
# 创建策略对象
class MyStrategy(bt.Strategy):
def __init__(self):
# 定义参数
self.rsi = bt.indicators.RSI(data.close, timeperiod=14)
self.upper = self.rsi.upperband()
self.lower = self.rsi.lowerband()
self.stop = self.upper * 0.95
self.entry = self.upper * 1.05
def next(self):
# 判断是否买入
if self.rsi[-1] < self.lower[-1]:
self.buy(size=100, when=bt.indicators.MA(data.close, timeperiod=5) > self.entry)
# 创建策略对象
class MyStrategy(bt.Strategy):
def __init__(self):
# 定义参数
self.rsi = bt.indicators.RSI(data.close, timeperiod=14)
self.upper = self.rsi.upperband()
self.lower = self.rsi.lowerband()
self.stop = self.upper * 0.95
self.entry = self.upper * 1.05
def next(self):
# 判断是否买入
if self.rsi[-1] < self.lower[-1]:
self.buy(size=100, when=bt.indicators.MA(data.close, timeperiod=5) > self.entry)
# 创建策略对象
class MyStrategy(bt.Strategy):
def __init__(self):
# 定义参数
self.rsi = bt.indicators.RSI(data.close, timeperiod=14)
self.upper = self.rsi.upperband()
self.lower = self.rsi.lowerband()
self.stop = self.upper * 0.95
self.entry = self.upper * 1.05
def next(self):
# 判断是否买入
if self.rsi[-1] < self.lower[-1]:
self.buy(size=100, when=bt.indicators.MA(data.close, timeperiod=5) > self.entry)
# 创建策略对象
class MyStrategy(bt.Str
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
