轮盘赌桌有38个口袋:1至36,0和00。押注偶数号码的赔率为1:1。落在0和00视为输局。
你拥有100美元本金,押注偶数号码。
通过运行1000次模拟,计算一次性押注全部100美元在单轮后的平均收益和标准差。
universes = 1000
evens = 19
total = 38
payout = 100
rounds = 1
results = np.zeros(universes)
# 你的代码在此处
通过运行1000次模拟,计算每次押注1美元并玩100轮后的平均收益和标准差。
universes = 1000
evens = 19
total = 38
payout = 1
rounds = 100
results = np.zeros(universes)
# 你的代码在此处
使用以下定价数据,计算AMZN在2015年下半年的收益标准差,并绘制价格时间序列。
import yfinance as yf
time_start = '2015-01-01'
time_halfway = '2015-07-01'
time_end = '2016-01-01'
# 获取AMZN数据
amzn = yf.download('AMZN', start=time_start, end=time_end)
AMZN_r = amzn['Close'].pct_change().dropna()
# 分割后半段数据
half_mask = (AMZN_r.index >= time_halfway) & (AMZN_r.index < time_end)
second_half_returns = AMZN_r[half_mask]
# 你的代码在此处
创建以下10只股票的等权重组合,计算组合收益标准差,并与AMZN的收益进行对比绘制。
symbol_list = ['BEN', 'SYMC', 'IP', 'SWKS', 'IVZ', 'MJN', 'WMB', 'LB', 'TWX', 'NFX', 'PFE', 'LLY', 'HP', 'JPM', 'CXO', 'TJX', 'CAG', 'BBT', 'ATVI', 'NFLX']
# 获取组合数据
prices = yf.download(symbol_list, start=time_start, end=time_end)['Adj Close']
returns = prices.pct_change().dropna()
# 构造等权重
eweights = np.array([1/len(symbol_list)]*len(symbol_list))
# 你的代码在此处
创建相同资产的市值加权组合,计算组合收益标准差,并与前两个结果对比绘制。
# 假设已通过其他方式获取市值数据(此处需自定义实现)
market_caps = [...] # 市值数据列表
# 计算市值权重
mweights = market_caps / np.sum(market_caps)
# 你的代码在此处
使用get_markowitz_weights
辅助函数创建均值-方差优化组合,使用2015年前半年的数据校准权重,绘制后半年的组合收益。
# 计算历史收益率和协方差矩阵
mu = returns.loc[:time_halfway].mean().values
sigma = returns.loc[:time_halfway].cov().values
# 获取优化权重
mkweights = get_markowitz_weights(mu, sigma)
# 你的代码在此处
注意:协方差矩阵具有时变性,历史数据可能无法有效预测未来波动