股指期货的套期保值 追加保证金风险 最优套保比率 套期保值的最优合约数量 追加保证金风险(张安卉版)

运用期货合约对冲风险时,要尽量选择能够抵消风险的期货合约,风险可能与商品价格、利率、汇率、股票价格或其他变量的波动有关,完美套期保值(Perfect hedge)在理论上存在,能够完全抵消风险。

该例以空头套期保值为例,运用股指期货演示了套期保值的过程。空头套期保值(short hedge)是指套期保值者选择期货的空头头寸进行风险对冲。

 

C公司在2020年6月11日购买了市值为1.2医院的沪深300指数ETF基金,购买时沪深300指数恰好为4000点,为了能够对冲指数在短期内下跌的风险,基金经理在当天运用沪深300股指期货IF2006合约的空头进行套期保值,期货的价格恰好是4000点,合约到期日是当年的6月19日。由于合约乘数每点300元,需要持有100手空头头寸。暂不考虑交易费用和保证金,当指数下跌1个点时,期货将获得3万元的盈利;当指数上涨1个点时,期货将面临3万元的亏损。


第1步:导入NumPy模块和Matplotlib模块,NumPy是Python一种开源的数值计算扩展模块,可以用来储存和处理大型矩阵,Marplotlib是Python的可视化模块。

import numpy as np

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif']=['']

plt.rcParams['axes.unicode_minus']=False

 

第2步:创建沪深300指数数组,该数组是取值在[3500,4500]去见的等差数列,即利用linspace,输入三个参数(起始值,终止值,数值间元素的个数),并且计算沪深300指数ETF基金现货收益、期货合约收益以及整个投资组合(包括现货和期货)的收益。1.2e8代表1.2×108,计算现货收益的公式为(指数价格-初始价格)×基金市值÷初始价格,计算期货合约的收益的公式为-(指数价格-初始价格)×空头数量×合约乘数,整个投资组合的收益为期货与现货收益之和。

fund=1.2e8         #购买基金时的基金市值

index=4000         #购买基金时沪深300指数的点位

N=100              #持有沪深300股指期货合约空头数量

M=300             #沪深300股指期货合约乘数

 

index_list=np.linspace(3500,4500,200)          #创建沪深300指数不同点位的数组

 

profit_spot=(index_list-index)*fund/index          #现货投资的收益

 

profit_future=-(index_list-index)*N*M            #期货合约的收益

 

profit_portfolio=profit_spot+profit_future          #整个投资组合的收益

 

第3步:将现货投资收益、期货合约收益以及套期保值后的整个投资组合收益进行可视化。figure函数用于定义画面大小,plot为曲线图的绘制,第一个第二个参数分别表示输入x轴和y轴的数据,label表示曲线的标签,lw=2.5表示曲线的宽是2.5磅。xlabel为x轴的坐标标签,xticks为x轴的刻度。legend为显示图例,title为图例的标题,通过fontsize=数字控制标题字体的大小。grid为控制网格,通常不用输入参数。show的作用为显示图形。

plt.figure(figsize=(9,6))

plt.plot(index_list,profit_spot,label=u'沪深300指数ETF基金',lw=2.5)

plt.plot(index_list,profit_future,label=u'沪深300指数期货合约',lw=2.5)

plt.plot(index_list,profit_portfolio,label=u'套期保值的投资组合',lw=2.5)

plt.xlabel(u'沪深300指数点位',fontsize=13)

plt.xticks(fontsize=13)

plt.ylabel(u'盈亏',fontsize=13)

plt.yticks(fontsize=13)

plt.title(u'空头套期保值的盈亏情况')

plt.legend(fontsize=13)

plt.grid()

plt.show()

 

得出的结论为,完美的空头套保期货合约的空头头寸收益,恰好抵补了现货投资的亏损,通过套期保值后的投资组合盈亏为0。

 

1. 注意程序中的大小写问题

2. 注意首行的缩进问题

3. 注意括号特别是小括号、中括号、大括号等的运用,注意括号的套用

4. 注意引号的中英文形式