跳到主内容
研究主线因子策略、对冲与尾部风险 · 第37–42讲1/6 · 配套练习模块导览 →
练习

第37讲:多空股票策略 (Long-Short Equity) · 练习

按多空名单分配名义头寸并核对净敞口,回归组合与市场收益,再检查 Beta 区间和中性条件。

← 返回本讲讲义
完成状态保存在当前浏览器,可随时取消。

1. 头寸分配计算#

问题描述

假设总资金为100万美元,选取前10只股票做多,后10只股票做空。根据市场中性原则:

  1. 计算每只多头股票和空头股票的理论分配金额

  2. 编写Python函数处理实际交易中的整数股数问题

  3. 计算实际总敞口与理论值的偏差

依赖数据

code
# 股票价格示例数据
import numpy as np
np.random.seed(42)
long_prices = np.random.uniform(50, 200, 10)  # 做多组股价
short_prices = np.random.uniform(30, 150, 10) # 做空组股价

print("多头组股价样本:", long_prices[:3])
print("空头组股价样本:", short_prices[:3])

2. 市场中性验证#

问题描述

给定投资组合的日收益率序列和市场收益率序列:

  1. 计算组合的Beta值

  2. 可视化组合累计收益与市场累计收益的对比

  3. 计算组合收益与市场收益的相关系数

依赖数据

code
# 生成模拟数据(2022年全年交易日)
import pandas as pd
np.random.seed(101)
dates = pd.date_range('2022-01-01', '2022-12-31', freq='B')
portfolio_ret = np.random.normal(0.0005, 0.01, len(dates))  # 组合日收益率
market_ret = np.random.normal(0.0002, 0.012, len(dates))   # 市场日收益率

df = pd.DataFrame({
    'Portfolio': portfolio_ret,
    'Market': market_ret
}, index=dates).cumsum()

完成练习后,自评一次

建议先独立作答,再展开参考答案进行核对。