问财量化选股策略逻辑
- 至少5根均线重合的股票
- 10日涨幅大于0小于35
- RSI小于65
选股逻辑分析
- 这个策略首先筛选出至少5根均线重合的股票,这意味着这些股票的走势比较稳定,可能有较强的支撑和阻力。
- 然后,策略要求10日涨幅大于0小于35,这意味着这些股票在最近10天内有上涨的趋势,但没有出现过大幅度的涨幅,可能是健康的上涨。
- 最后,策略要求RSI小于65,这意味着这些股票的短期趋势比较疲软,可能有调整的需求。
有何风险?
- 这个策略可能无法准确预测股票的走势,因为仅仅考虑了均线、涨幅和RSI等因素,而忽略了其他因素的影响。
- 如果所选股票的均线过于密集,可能会导致股票的走势不够明显,从而影响策略的准确性。
- 如果所选股票的涨幅过大或过小,可能会导致策略的准确性受到影响。
- 如果所选股票的RSI过高或过低,可能会导致策略的准确性受到影响。
如何优化?
- 可以考虑加入更多的因素来提高策略的准确性,例如股票的市盈率、市净率等。
- 可以考虑使用更多的技术指标来判断股票的走势,例如布林线、移动平均线等。
- 可以考虑加入更多的市场因素来考虑股票的走势,例如政策因素、行业因素等。
最终的选股逻辑
- 筛选出至少5根均线重合的股票
- 筛选出10日涨幅大于0小于35的股票
- 筛选出RSI小于65的股票
- 对于符合以上条件的股票,加入市盈率、市净率等其他因素进行综合判断
- 对于符合以上条件的股票,加入布林线、移动平均线等其他技术指标进行综合判断
- 对于符合以上条件的股票,加入政策因素、行业因素等其他市场因素进行综合判断
python代码参考
import talib
import pandas as pd
def get_stock_data(stock_code):
# 获取股票的历史数据
df = pd.read_csv(f'https://query1.finance.yahoo.com/v7/finance/download/{stock_code}', index_col='Date')
df = df[['Adj Close']]
df = df.rename(columns={'Adj Close': stock_code})
df = df.astype(float)
return df
def get_stock技術指標(stock_code):
# 获取股票的技术指标数据
df = pd.read_csv(f'https://query1.finance.yahoo.com/v7/finance/download/{stock_code}', index_col='Date')
df = df[['Close', 'SMA', 'RSI', 'Bollinger Lower Band', 'Bollinger Upper Band']]
df = df.rename(columns={'Close': stock_code, 'SMA': 'SMA', 'RSI': 'RSI', 'Bollinger Lower Band': 'Bollinger Lower Band', 'Bollinger Upper Band': 'Bollinger Upper Band'})
df = df.astype(float)
return df
def get_stock_data_and_technical_indicator(stock_code):
# 获取股票的历史数据和技术指标数据
df = pd.read_csv(f'https://query1.finance.yahoo.com/v7/finance/download/{stock_code}', index_col='Date')
df = df[['Adj Close']]
df = df.rename(columns={'Adj Close': stock_code})
df = df.astype(float)
df = pd.read_csv(f'https://query1.finance.yahoo.com/v7/finance/download/{stock_code}', index_col='Date')
df = df[['Close', 'SMA', 'RSI', 'Bollinger Lower Band', 'Bollinger Upper Band']]
df = df.rename(columns={'Close': stock_code, 'SMA': 'SMA', 'RSI': 'RSI', 'Bollinger Lower Band': 'Bollinger Lower Band', 'Bollinger Upper Band': 'Bollinger Upper Band'})
df = df.astype(float)
return df
def get_stock_data_and_technical_indicator_with_fundamentals(stock_code):
# 获取股票的历史数据、技术指标数据和基本面数据
df = pd.read_csv(f'https://query1.finance.yahoo.com/v7/finance/download/{stock_code}', index_col='Date')
df = df[['Adj Close']]
df = df.rename(columns={'Adj Close': stock_code})
df = df.astype(float)
df = pd.read_csv(f'https://query1.finance.yahoo.com/v7/finance/download/{stock_code}', index_col='Date')
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
