基于PYTHON的场外期权动态对冲回测工具

本文介绍了在金融衍生品部门面试中的技术项目,即使用Python进行基于Delta区间的场外期权动态对冲策略回测。通过`hedge.py`计算对冲效果,`MonteCarlo.py`进行蒙特卡洛模拟寻找最优阈值。面试中深入讨论了对冲理论,强调收益率变动而非价格差、期权到期时的头寸调整以及风险中性定价原理的应用。
摘要由CSDN通过智能技术生成

周四面试了某比较想去的公司的金融衍生品部门,技术面的项目是在交易所市场买卖期货,用以对冲卖出场外期权。我采用的是Delta区间动态对冲的方法,记录一下这次技术面中编写的策略回测工具,之后以备使用。时间较少,代码结构与变量命名较为随意。

 

hedge.py

用来计算在特定阈值下的对冲的效果,输入文件:marketinfo.xlsx为期货一分钟级行情数据,输出文件trade.xlsx和result.xlsx分别为期货端交易记录和分钟级对冲时的各项参数与损益指标。

import math
import pandas as pd
from scipy.stats import norm
def bsm(pnow,k,rf,remainingday,yearvol):
    #输入:(现价,执行价,连续无风险利率3%,剩余天数100天,年波动率0.15)
    #输出:看涨期权价格[0],看涨期权delta[1]
    d1 = ((math.log(pnow/k))+(rf+0.5*yearvol*yearvol)*(remainingday/255))/(yearvol*math.sqrt(remainingday/255))
    d2 = ((math.log(pnow/k))+(rf-0.5*yearvol*yearvol)*(remainingday/255))/(yearvol*math.sqrt(remainingday/255))
    nd1 = norm.cdf(d1)
    nd2 = norm.cdf(d2)
    exprt = math.exp(-rf*remainingday/255)
    prise = pnow*nd1-k*exprt*nd2
    return [prise,nd1]

# getbsm = bsm(3400,3400,0.03,100,0.15)
# print("看涨期权的价格为",getbsm[0],"看涨期权的delta为",getbsm[1])

#BSM参数设定
k=3400
rf=0.03#连续复利无风险利率
firstremaingday=93#第一天开始交易时剩余交易日,假设期权4月15日到期,距离12月1日还有93个交易日
yearvol=0.1257

#其他参数设定
marginrate=0.1#期货保证金率
rr=0.07#年化单利公司资金成本
ga
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值