互换介绍
互换(swap)是一种场外OTC柜台的衍生品,交易双方约定在未来交换一笔现金流,该现金流根据互换的种类决定,可能是根据利率、汇率或者资产的价格。
和远期/期货不同,远期/期货在未来只有一笔现金流交换,互换在未来可能存在多笔现金流的交换。互换协议在签订的时刻价值通常是0,随着时间的推移价格不断变化。
利率互换
利率互换是互换中最常见的一种,交易双方约定在未来以不同的利率水平向对方进行支付。比如:AB双方约定未来每3个月进行一次交换,A方以固定率进行支付,B方以Libor进行支付,互换期限为2年。以FRM书中的例子进行解释:
该互换持续时间为3年,每3个月进行一次现金流交换。
第3个月(0.25年):浮动利率支付方需要支付:1000001.32%/4=310,固定利率支付方需要支付:1000002%/4=500
第6个月(0.5年):浮动利率支付方需要支付:1000001.44%/4=330,固定利率支付方需要支付:1000002%/4=500
以此类推…
货币互换
常见的货币互换为固定换固定。交换的双方持有不同种的货币,在开始时刻双方交换本金,期间分别按照固定利率交换利息,最后时刻换回本金。以FRM书中的例子进行解释:
0时刻交换本金:持有美元方支付10 million本金,持有欧元方支付8 million本金。
1时刻交换利息:持有美元方支付:105%=0.5 million利息,持有欧元方支付84%=0.32 million利息。
…
最后一期:持有美元方支付:10+0.5=10.5 million,持有欧元方支付:8+0.32=8.32 million
权益互换(equity swap)
一方支付固定收益,一方支付参考资产产生的收益。
隔夜指数互换(Overnight Indexed Swaps)
一方支付一段时间内(例如一个月或3个月)的固定利率,一方支付这段时间内的隔夜拆借利率几何平均值。
代码实现
该例子源于官网上的帮助文档。
# 先构建一个利率期限结构
yts = ql.RelinkableYieldTermStructureHandle()
instruments = [
('depo', '6M', 0.025),
('swap', '1Y', 0.031),
('swap',