portfolio = ['AAPL', 'MSFT', 'GOOG', 'TSLA', 'AMZN']
stock_info = {
'AAPL': {'price': 185.25, 'volume': 45000000},
'MSFT': {'price': 330.45, 'volume': 35000000},
'GOOG': {'price': 2750.80, 'volume': 1200000}
}
def get_rating(pe_ratio, dividend_yield):
# 根据PE比率和股息率判断:
# PE<15且股息率>3% -> "价值股"
# PE>25且股息率<1% -> "成长股"
# 其他情况为"平衡型"
tickers = ['AAPL', 'MSFT', 'GOOG']
closes = [189.76, 340.65, 2750.80]
import yfinance as yf
from datetime import datetime, timedelta
end_date = datetime.today().strftime('%Y-%m-%d')
start_date = (datetime.today() - timedelta(days=30)).strftime('%Y-%m-%d')
{
'AAPL': [182.34, 183.56, ...], # 每日收盘价列表
'MSFT': [335.67, 337.89, ...],
'GOOG': [2745.80, 2752.30, ...]
}
def enhanced_momentum(tickers, lookback=20, hold_days=5):
'''
计算过去lookback天收益率
考虑持有hold_d天的交易成本(每次0.1%)
返回经成本调整后的Top3标的
'''
# 需要调用yfinance获取足够历史数据
# 数据示例:yf.download(['AAPL','MSFT'], period='60d')
def calculate_volatility(ticker, days=30):
'''
计算指定股票最近days个交易日的年化波动率
公式:日收益率标准差 * sqrt(252)
'''
# 数据获取示例:
data = yf.download(ticker, period=f'{days+10}d')['Close']
portfolio = {
'AAPL': {'shares': 100, 'cost': 150.25},
'MSFT': {'shares': 50, 'cost': 300.80}
}
def portfolio_analysis(holdings):
# 需要实时获取最新股价
# 使用yfinance批量查询