code
# 示例代码:使用yfinance获取苹果和微软的收盘价数据
import yfinance as yf
import matplotlib.pyplot as plt
# 获取2014年数据(日频)
data = yf.download(['AAPL', 'MSFT'], start='2014-01-01', end='2015-01-01')
# 提取收盘价并绘图
close_prices = data['Close']
close_prices.plot(figsize=(10, 6))
plt.title('Apple vs Microsoft Closing Prices (2014)')
plt.ylabel('Price (USD)')
plt.show()1. 理解成交量#
1.1 成交量的基本概念#
成交量是指在一定时间内某资产成交的总数量。例如:
-
股票成交量:某股票在1小时内成交了10万股
-
美元成交量:成交股数乘以成交价格的总和
1.2 成交量计算示例#
假设某股票在三笔交易中分别成交:
-
30,000股 @ 30美元
-
60,000股 @ 31美元
-
10,000股 @ 33美元
code
import numpy as np
shares = np.array([30000, 60000, 10000])
prices = np.array([30, 31, 33])
# 计算美元成交量
dollar_volume = np.dot(shares, prices) # 输出:3,090,000美元
# 计算成交量加权平均价
vwap = np.dot(shares, prices) / shares.sum() # 输出:30.9美元1.3 成交量的时间特征#
通过分析分钟级成交量数据,可以发现:
code
# 获取SPY的分钟级数据
data = yf.download('SPY', start='2023-01-03', end='2023-01-04', interval='5m')
# 绘制单日成交量
plt.plot(data['Volume'])
plt.title('Intraday Volume Pattern')
plt.ylabel('Shares Traded')典型特征:
-
开盘后半小时成交量最大
-
收盘前成交量再次上升
-
盘中时段成交量相对平稳
2. 认识滑点#
2.1 滑点产生原理#
当大额订单难以立即成交时,市场价格会朝不利方向移动:
-
买入订单消耗现有卖单后,剩余订单需以更高价成交
-
卖出订单消耗买单后,剩余订单需以更低价成交
2.2 滑点影响因素#
| 因素 | 影响方向 |
|---|---|
| 订单规模 ↑ | 滑点 ↑ |
| 市场深度 ↓ | 滑点 ↑ |
| 波动率 ↑ | 滑点 ↑ |
2.3 滑点计算示例#
假设策略预期以30美元买入:
-
实际成交价格30.2美元
-
滑点 = (30.2 - 30)/30 = 0.67%
3. 理解流动性#
3.1 流动性三维度#
流动性好坏取决于:
-
交易规模:能立即执行的最大订单量
-
时间成本:完成交易所需时间
-
价格影响:交易对市场价格的影响程度
3.2 流动性误区辨析#
-
❌ 高成交量 ≠ 高流动性 可能原因:大宗场外交易不公开进行
-
✅ 真实流动性需考察盘口价差和挂单量
3.3 不同市场流动性对比#
code
# 比较不同资产的流动性
assets = ['AAPL', 'CL=F', 'GC=F'] # 苹果股票、原油期货、黄金期货
data = yf.download(assets, period='6mo', interval='1d')['Volume']
data.plot(figsize=(10,6))
plt.title('Comparative Liquidity Across Assets')
plt.ylabel('Daily Volume')典型特征:
-
大盘股流动性最稳定
-
商品期货存在主力合约切换现象
-
小市值股票流动性波动较大
4. 实践建议#
4.1 流动性管理策略#
-
选择流动标的:优先交易日均成交额>$1亿的资产
-
分单执行:将大单拆分为多个小额订单
-
避免极端时段:避开开盘前30分钟交易
4.2 回测注意事项#
-
需考虑交易成本模型
-
测试不同规模的资金容量
-
压力测试极端市场环境
code
# 练习:计算微软股票2022年的日均成交量
msft = yf.download('MSFT', start='2022-01-01', end='2023-01-01')
avg_daily_volume = msft['Volume'].mean()
print(f"Microsoft 2022 Average Daily Volume: {avg_daily_volume:,.0f} shares")关键公式总结:
通过本指南,您已掌握市场微观结构的关键要素。在实际交易中,建议持续监控流动性指标,并建立动态调整机制以适应市场变化。