一、基础概念与CAPM模型#
1.1 风险类型识别#
给定以下情景,请区分风险类型:
-
某航空公司因发动机技术缺陷导致股价暴跌
-
美联储突然宣布加息200个基点引发股市震荡
-
某投资者同时持有沃尔玛和亚马逊股票
依赖数据:
code
companies = ['WMT', 'AMZN'] # 消费与科技行业代表
start_date = '2021-01-01'
end_date = '2022-12-31'1.4 Beta系数计算#
使用yfinance获取阿里巴巴(BABA)与沪深300指数(000300.SS)2021年数据:
code
# 需导入的库
import yfinance as yf
import statsmodels.api as sm
# 数据参数
symbols = ['BABA', '000300.SS']
start = '2021-01-01'
end = '2022-01-01'
risk_free_rate = 0.015 # 年化无风险利率二、CAPM模型进阶应用#
2.1 有效前沿构建#
给定四只ETF的收益率数据:
code
import numpy as np
returns_matrix = np.array([
[0.02, 0.015, 0.018, ...], # SPY 500条日收益
[0.012, 0.01, 0.008, ...], # GLD
[0.025, 0.022, 0.019, ...], # QQQ
[0.008, 0.007, 0.006, ...] # TLT
]) # 完整数据需实际获取三、套利定价理论(APT)解析#
3.2 多因子模型实践#
使用Fama-French三因子分析苹果股票:
code
factor_data = yf.download(['^GSPC', 'IWM', 'EEM'], '2018-01-01', '2023-01-01')['Close']
aapl_returns = yf.download('AAPL', '2018-01-01', '2023-01-01')['Close'].pct_change().dropna()
# 因子构建参数:
size_threshold = 100 # 市值分界点(十亿美元)
value_threshold = 1.2 # 市净率分界点四、模型对比与实践应用#
4.3 收益预测验证#
对英伟达(NVDA)进行CAPM预测:
code
# 数据获取参数
target_stock = 'NVDA'
benchmark_index = '^NDX' # 纳斯达克100指数
train_period = ['2019-01-01', '2022-01-01']
test_period = ['2022-01-01', '2023-06-01']五、综合应用#
5.1 组合优化实战#
构建包含以下资产的优化组合:
code
assets = ['VTI', 'GLD', 'TLT', 'VNQ']
constraints = {
'max_individual_weight': 0.4,
'min_bond_weight': 0.2,
'max_total_risk': 0.15
}(注:所有习题需配合yfinance获取实时数据,部分题目存在多种解法)