```html
股票指标选股是投资者在股票市场中常用的一种策略,通过对股票的技术指标进行分析,挑选出具有潜在增长性的个股。以下是一个简单的示例源码,用于选取基于几个常见指标的股票。
import pandas as pd
import yfinance as yf
下载股票数据
def download_stock_data(ticker, start_date, end_date):
stock_data = yf.download(ticker, start=start_date, end=end_date)
return stock_data
计算移动平均线
def calculate_moving_average(data, window_size):
data['MA'] = data['Close'].rolling(window=window_size).mean()
return data
计算相对强弱指标(RSI)
def calculate_rsi(data, window_size):
delta = data['Close'].diff()
gain = (delta.where(delta > 0, 0)).rolling(window=window_size).mean()
loss = (delta.where(delta < 0, 0)).rolling(window=window_size).mean()
RS = gain / loss
RSI = 100 (100 / (1 RS))
data['RSI'] = RSI
return data
筛选股票
def select_stocks(tickers, start_date, end_date, ma_window, rsi_window):
selected_stocks = []
for ticker in tickers:
data = download_stock_data(ticker, start_date, end_date)
data = calculate_moving_average(data, ma_window)
data = calculate_rsi(data, rsi_window)
根据条件筛选股票
if data['Close'][1] > data['MA'][1] and data['RSI'][1] > 70:
selected_stocks.append(ticker)
return selected_stocks
if __name__ == "__main__":
设置参数
tickers = ['AAPL', 'GOOGL', 'MSFT', 'AMZN', 'FB']
start_date = '20200101'
end_date = '20240101'
ma_window = 20
rsi_window = 14
选取股票
selected_stocks = select_stocks(tickers, start_date, end_date, ma_window, rsi_window)
print("Selected Stocks:", selected_stocks)
以上是一个使用Python语言编写的简单示例代码,用于基于移动平均线和相对强弱指标(RSI)进行股票筛选。你可以根据自己的需求和实际情况调整参数和策略,进一步完善该代码。