某对冲基金计划交易微软(MSFT)股票,已知参数:
请基于Almgren-Chriss模型完成:
import numpy as np
def almgren_impact(order_pct_adv, annual_vol, days=1):
gamma = 0.314
eta = 0.142
permanent = gamma * annual_vol * np.sqrt(order_pct_adv)
temporary = eta * annual_vol * (order_pct_adv/days)**0.6
return (permanent + temporary) * 10000
# 参数设置
order_size = 250000
adv = 8e6
price = 320
annual_vol = 0.28
hours = 4
# 请在此处补充计算代码
获取阿里巴巴(BABA)过去60个交易日的分钟级数据:
import yfinance as yf
import matplotlib.pyplot as plt
baba = yf.download('BABA', period='60d', interval='60m')
High−LowOpen\frac{High - Low}{Open}
# 成交量分析代码框架
baba['hour'] = baba.index.hour
hourly_vol = baba.groupby('hour')['Volume'].mean()
# 波动范围计算代码框架
baba['price_range'] = (baba['High'] - baba['Low']) / baba['Open']
# 执行时间计算函数
def execution_time(order_size, participation_rates, adv):
daily_volume = adv
return [order_size / (p_rate * daily_volume) * 6.5 for p_rate in participation_rates]
# 请在此处补充可视化代码