问财量化选股策略逻辑
本选股策略为:RSI指标小于65,今日上涨幅度大于1%,股票收盘价小于Bollinger Bands的上轨,且高于Bollinger Bands的中轨。期望获得超额收益。
选股逻辑分析
该选股策略同样结合了技术面和基本面因素。RSI小于65代表股票处于超卖区间,可以预期股票将会反弹;今日上涨幅度大于1%则意味着股票动能较强,预期未来将继续上涨;选择股票收盘价满足Bollinger Bands技术指标的条件,可以抓住大市场中的反弹机会。
有何风险?
该选股策略同样依赖于市场情绪和技术指标,存在一定的选择风险。Bollinger Bands每个周期的计算不同,需要考虑合适的周期,同时也需要考虑股票的波动性与市场风险。
如何优化?
可以加入其它技术指标和基本面因素进行优化,比如加入行情分析、成长性评估等基本面数据;可以考虑使用不同的周期计算Bollinger Bands指标;同时需要加入风险管理机制和止盈止损规则,确保风险控制和收益的稳定性。
最终的选股逻辑
本选股策略为:RSI指标小于65,今日上涨幅度大于1%,股票收盘价小于Bollinger Bands的上轨,且高于Bollinger Bands的中轨。注意风险控制,长期投资获得稳定超额收益。
同花顺指标公式代码参考
// 建立选股语句
SELECT
a.*
FROM
(
stock_market_data a
JOIN stock_basic_data b ON a. stock_code = b.stock_code
)
JOIN (
SELECT
stock_code
FROM
stock_basic_data
WHERE
rsi < 65
AND today_increase_rate > 1
AND stock_market = 'sh'
AND (
SELECT
close
FROM
stock_market_data
WHERE
stock_code = b.stock_code
ORDER BY
date DESC
LIMIT 1
) < (
SELECT
boll_upper
FROM
stock_tech_data
WHERE
stock_code = b.stock_code
ORDER BY
date DESC
LIMIT 1
) AND (
SELECT
close
FROM
stock_market_data
WHERE
stock_code = b.stock_code
ORDER BY
date DESC
LIMIT 1
) > (
SELECT
boll_mid
FROM
stock_tech_data
WHERE
stock_code = b.stock_code
ORDER BY
date DESC
LIMIT 1
)
ORDER BY
stock_heat DESC
) c ON a. stock_code = c.stock_code;
python代码参考
# 导入需要使用的库
import pandas as pd
import tushare as ts
# 选股函数
def stock_picking():
# 获取RSI指标小于65、今日上涨幅度大于1%、符合Bollinger Bands条件的主板股票,按照个股热度从大到小排序
basic_data = ts.get_stock_basics()
filter_data = basic_data[(basic_data['rsi'] < 65) & (basic_data['today_increase_rate'] > 1)]
tech_data = ts.get_stock_boll('sh')
filter_data = filter_data[filter_data.apply(lambda x: (tech_data.loc[x.name, 'upper'] > x['trade']) & (tech_data.loc[x.name, 'mid'] < x['trade']), axis=1)]
filter_data = filter_data.sort_values(by='stock_heat', ascending=False)
return filter_data.index.tolist()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


