全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 经管文库(原现金交易版)
223 0
2024-06-30

1文件概览

1.1期权计算函数

文件夹“options_functions_matlab”为自己编写的期权特征参数或估值计算函数汇总,可实现BSM欧式期权估值、欧式期权希腊字母绘图、单个期权持仓盈亏比例曲面绘图、CEV欧式期权估值、jump-diffusion欧式期权估值、Variance-Gamma期权估值、亚式期权数值模拟估值(绘图显示是否收敛)。计算公式与《JohnC. Hull. Options, Futures, and Other Derivatives, 9th Edition, 2014》一致。文件内容见图1。


1.png

        1.2期权计算程序

        文件夹“options_calculation_templates”为计算代码模板,可实现功能如下:各种期权特征参数、欧式期权BSM公式估值、亚式期权MonteCarlo模拟估值、Variance-Gamma过程与几何布朗运动(geometric Brownian motion)过程对比绘图、CEVjump-diffusion波动率微笑计算、Variance-Gamma波动率微笑计算、资产历史波动率和预测波动率计算、期权隐含波动率计算、波动率锥多项式拟合、上海交易所培训资料列出的所有期权组合盈亏曲面(使用多项式拟合的波动率曲面)、可转换债券Excel表估值、可转换债券数值模拟估值等。另外附上考虑稀释效应的公司流通期权估值模板(Aswath Damodaran课程公开资料)和各种欧式美式期权、奇异期权、零息利率和利率互换估值的DerivaGem400.xls(John C. Hull. Options, Futures,and Other Derivatives课程公开资料)。可转换债券估值程序在沪深市场使用效果良好。文件内容见图2
2.png
        

2期权组合策略计算程序

计算程序不仅包括上海交易所培训资料列出的所有期权组合,还包括盒式价差、序列组合、带式组合等。每个计算程序均绘制到期日组合价值曲线和时间历程下盈亏曲面,给出初始保证金和最大保证金需求、期权市场价与理论值差异、组合收益率等计算结果。在沪深市场用于ETF指数期权实盘投资计算,结果表明市场很有效,计算结果也很准确。已实现组合策略包括:

%conservative trading保守型交易合成权益多头longequity replacement=Long call, K ,T+short put, K, T

%Conservative trading保守型交易策略protectiveput--equity权益保险策略=longstock+long put,K

%conservative trading保守型交易合成权益空头shortequity replacement=short call, K ,T+long put, K, T

%Conservative trading保守型交易策略writinga covered call--equity备兑开仓=longstock+short call,K

%Conservative trading保守型交易策略neckline--equity领口策略=longstock+long put,K1+short call,K2; K1<K2;T

%conservative trading保守型交易策略securitiesborrowing covered call融券保险策略=shortstock+long call,K

%spreads trading价差交易bullishand bearish and calendar diagonal call spreads多种牛熊市或日历对角认购价差

%bullish call spread牛市认购价差=longcall,K1+ short call,K2; K1<K2, T big better

%bearish call spread熊市认购价差=longcall,K1+ short call,K2; K1>K2, T small better

%calendar call spread认购日历价差=LongCall,T1 + Short Call,T2, same K, T1>T2

%diagonal bullish call spread认购对角牛市价差=LongCall,K1, T1 + Short Call, K2, T2;K1<K2, T1>T2

%diagonal bearish call spread认购对角熊市价差=LongCall, K1, T1 + Short Call, K2, T2;K1>K2, T1>T2

%spreads trading价差交易bullishand bearish and calendar diagonal call spreads多种牛熊市或日历对角认购价差

% bull put spread牛市认沽价差longput, Strike K1+short put, Strike K2; K1<K2, T small better

%bear put spread熊市认沽价差longput, Strike K1+short put, Strike K2; K1>K2, T big better

%calendar put spread认沽日历价差Longput,T1 + Short put,T2, same K, T1>T2

%diagonal bullish put spread认沽对角牛市价差Longput, K1, T1 + Short put, K2, T2;K1<K2, T1>T2

%diagonal bearish put spread认沽对角熊市价差Longput, K1, T1 + Short put, K2, T2;K1>K2, T1>T2

%spreads trading价差交易butterflycall spread蝶式认购价差baldeagle call秃鹰式认购策略

% butterfly call spread蝶式认购价差:%Generally, K2 is close to the current stock price

% long call, Strike K1+short call,K2+short call, K3+ long call, Strike K4; K1<K2=K3<K4

%秃鹰式策略=蝶式价差中间两个卖出期权的行权价不同

% long call, K1+short call, K2+shortcall, K3+ long call, Strike K4; K1<K2<K3<K4

%spreads trading价差交易butterflyput spread蝶式认沽价差baldeagle put秃鹰式认沽策略

% butterfly put spread蝶式认沽价差:%Generally, K2 is close to the current stock price

% long put, Strike K1+short put,K2+short put, K3+ long put, Strike K4; K1<K2=K3<K4

%秃鹰式策略=蝶式价差中间两个卖出期权的行权价不同

% long put, K1+short put, K2+short put,K3+ long put, Strike K4; K1<K2<K3<K4

%spreads trading价差交易ironbutterfly铁蝶式ironeagle铁鹰式box spreads盒式价差

% 铁蝶式期权组合=牛市认沽价差+熊市认购价差

% long put, K1+short put, K2, shortcall, K3, long call,K4; K1<K2=K3<K4

% 铁鹰式策略=牛市认沽价差+高行权价熊市认购价差

% long put,K1+short put,K2+ short call,K3+ long call, K4; K1<K2<K3<K4

%% box spreads盒式价差(适用于欧式期权)=牛市认购价差+熊市认沽价差

%% long call,K4+short call,K3+shortput,K2 + long put,K1; K4=K2,K3=K1,K4<K1

%the payoff from a box spread is alwaysK2-K1.

%The value of a box spread is thereforealways the present value of this payoff or (K2-K1)*exp(-rT)

%volatile market trading震荡市场交易买入straddle跨式strangle勒式strip序列strap带式组合

% bottom straddle or straddle purchase跨式组合%Long Put, Strike K, T+Long Call, Strike K, T

% strangle or bottom verticalcombination异跨式/勒式组合%LongPut,Strike K1+Long Call,Strike K2; K1<K2, same T

%strip序列组合onelong call + two long puts, same K, T

%strap带式组合twocalls + one put, same K, T

有些不同组合可以在一个程序中设置参数选项实现,例如程序equity_Europian_option_spreads_butterfly_bald_eagle_call.m可实现蝶式认购价差和秃鹰式策略,程序equity_Europian_option_spreads_bull_bear_calendar_diagonal_call.m可实现牛市认购价差、熊市认购价差、认购日历价差、认购对角牛市价差和认购对角熊市价差,程序中portfolio_id参数取值1~5对应5中策略组合,程序中有详细文字注释,包括参数取值关系和如何优选。程序开头注释内容如图3。

3.png


3运行示例

3.1 Variance-Gamma过程与几何布朗运动过程对比

运行Variance_Gamma_process_versus_geometric_Brownian_motion_template.m,结果如图4所示。

4.png


3.2资产历史波动率和预测波动率计算

volatility_solution_data_Template_v1.1.xlsx为源数据格式模板,运行volatility_solution_Template_v1_3.m,代码中设置文件路径段落如下:

%%user set

path='D:\desktopdocu\'  %工作路径

userpath(path)%

%增加一个文件路径

tempor_path='D:\Financial_analysis\Financial_analysis_templates\options_functions_matlab'

%或增加包括子文件夹的多个文件路径

tempor_path=genpath('D:\Financial_analysis\Financial_analysis_templates');

addpath(tempor_path)

%rmpath(tempor_path) %运行完程序后删除临时工作路径

运行结果如图5所示,Matlab运行窗口中给出年化历史波动率及标准差、偏度、峰度、价格均值、GARCH/EGARCH/GJR条件方差模型预测结果及t检验值,实际交易中选择隐含波动率计算效果比较好,组合策略中就是选用隐含波动率。

5.png


3.3期权隐含波动率计算

运行任意组合策略程序后在Matlab运行窗口中显示结果

3.4隐含波动率锥多项式拟合

运行option_Europian_volatility_cone_polynomial_fitting_template.m,结果如图6所示,Matlab运行窗口中显示多项式系数计算结果:

poly_coeff_call =  0.1107  -0.0541    0.1615

poly_coeff_put =  0.7492  -0.4856    0.1986

         组合策略程序中使用此结果。
6.png

3.5波动率微笑计算

已CEV和jump-diffusion方法为例,运行volatility_smile_equity_Europian_call_CEV_and_jump_diffusion_solve_template.m,运行结果如图7所示,就上市公司股权而言,资产价格下跌时波动率比上涨时明显升高,一个主要原因是公司基本面恶化时主体信用评级下降、经营风险升高。

7.png


3.6期权特征参数曲线和曲面

运行option_parameters_calculation_equity_Europian_template.m,Matlab运行窗口中显示单个期权估值、希腊参数初始值、当前市场价的隐含波动率、杠杆率、考虑交易佣金和保证金的盈亏平衡点。6个绘图窗口显示希腊参数时间或资产价格历程下动态曲线、到期日资产价格历程下盈亏曲线、时间和资产价格历程下盈亏曲面,图8和图9为其中两个绘图。

8.png

9.png


3.7牛市认购价差

上交所培训资料中提到,牛熊价差策略如同武侠中降龙十八掌,大道至简,基本功硬实可以应付各种复杂情况。牛市认购价差策略通过买入较低行权价的认购期权,同时卖出较高行权价相同到期日的认购期权来构建,期限较大时较好。掌握牛熊价差策略有利于理解各种组合策略。

小牛市时适宜使用的牛市价差策略、小熊市时的熊市价差策略、不涨不跌的行情下可以用的蝶式价差策略,这些均是在对市场走势有一定预期的情况下,进行收益有限、风险亦有限的投资;跨式组合、勒式组合等策略则是因为预期市场将有较大波动,因此对波动性进行交易。

打开equity_Europian_option_spreads_bull_bear_calendar_diagonal_call.m,设置portfolio_id=1;Matlab运行窗口中显示历史波动率与隐含波动率相对差异、资产价格变动时组合持有或卖出孰优、考虑佣金的盈亏平衡点及对应资产价格、组合成本与资产价格变化较大时保证金。运行结果如图10~12所示。

10.png

11.png


12.png
        

此程序可实现牛市认购价差、熊市认购价差、认购日历价差、认购对角牛市价差、认购对角熊市价差。

3.8蝶式认购价差

期权策略中的蝶式策略是一种高盈亏比、高杠杆的策略,适用于标的证券价格在一定范围内的波动情况,因为构建的策略到期损益图的形状像一只蝴蝶而得名。认购期权蝶式策略是指同时买入一份实值认购期权、卖出两份平值认购期权、买入一份虚值认购期权(行权价间隔相等,同时到期日一致)组成的策略。它是一种要求较高的策略,能够提供较好的风险收益比(return/risk)。蝶式期权策略的最大收益出现在股票价格行权价附近,风险有限,盈利有限。小规模交易蝶式期权时候,必须要考虑买卖价差和多份佣金,获利空间有限。

蝶式价差中间两个卖出期权的行权价不同时为秃鹰式策略。

打开equity_Europian_option_spreads_bull_bear_calendar_diagonal_call.m,设置portfolio_id=1;Matlab运行绘图结果如图13~14所示。

13.png

14.png


options_calculation_templates.zip
大小:(3.76 MB)

只需: RMB 30元  马上下载











点上面附件图标,上传附件后可设置现金定价
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群