🔴
入学要求
💯
能力测试
🛣️
课程安排
🕹️
研究资源

练习

机构订单成本估算

某对冲基金计划交易微软(MSFT)股票,已知参数:

请基于Almgren-Chriss模型完成:

  1. 计算订单占ADV的比例
  1. 估算市场冲击成本(单位:bps)
  1. 转换为美元成本金额
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')
  1. 绘制成交量日内分布曲线(纽约时间)
  1. 计算每小时平均价格波动范围:OpenHigh−Low​

    High−LowOpen\frac{High - Low}{Open}

  1. 使用订单执行时间公式,估算不同参与率下的执行时长:
    • 订单量:500,000股
    • 参与率梯度:[5%, 10%, 15%, 20%]
    • 展示结果采用折线图形式
# 成交量分析代码框架
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]

# 请在此处补充可视化代码