期权又称为选择权,是在期货的基础上产生的一种衍生性金融工具。指在未来一定时期可以买卖的权利,是买方向卖方支付一定数量的金额(指权利金)后拥有的在未来一段时间内(指美式期权)或未来某一特定日期(指欧式期权)以事先规定好的价格(指履约价格)向卖方购买或出售一定数量的特定标的物的权力,但不负有必须买进或卖出的义务。

从其本质上讲,期权实质上是在金融领域中将权利和义务分开进行定价,使得权利的受让人在规定时间内对于是否进行交易,行使其权利,而义务方必须履行。在期权的交易时,购买期权的一方称作买方,而出售期权的一方则叫做卖方;买方即是权利的受让人,而卖方则是必须履行买方行使权利的义务人。

新版TB为支持期权交易特别设置了一组函数,详细说明如下:


BjerkStensCall:计算美式期权的理论价格。
语法
Numeric BjerkStensCall(Numeric AssetPr,Numeric StrikePr,Numeric YearsLeft,Numeric InterestRate,Numeric Carry,Numeric Volty)
参数
AssetPr 期权的标的价格;
StrikePr ;期权的执行价格;
YearsLeft 期权距离到期剩余的时间,以为年单位,按1年365天转换;
InterestRate 短期无风险利率值,5%设置为0.005;
Carry 持有成本,通常为短期无风险利率值,5%设置为0.005;
Volty 期权标的的波动率,20%设置为0.2。

  1. 无分红的股票 - 设置为年无风险利率;
  2. 有分红的股票 - 设置为年无风险利率减去年分红收益;
  3. 期货合约 - 设置为0;
  4. 外汇货币 - 设置为本币无风险利率减去外币无风险利率;

计算公式的原理参照Bjerksund & Stensland模型。
示例
Average (Close, 12); 计算12周期以来的收盘价的平均值;
Average ((Close + High + Low)/ 3, 10); 计算10周期以来高低收价格的平均值的平均值。

BjerkStensPhi:该函数被BjerkStensCall调用,用于计算美式期权的理论价格。
语法
Numeric BjerkStensPhi(Numeric AssetPr,Numeric YearsLeft,Numeric MyGamma,Numeric MyH,Numeric TriggerPr,Numeric InterestRate,Numeric Carry,Numeric Volty)
参数
AssetPr 期权的标的价格;
YearsLeft 期权距离到期剩余的时间,以为年单位,按1年365天转换;
MyGamma 输入的期权Gamma值;
MyH 设置为StrikePr或TriggerPr,具体取决于上层函数的调用;
TriggerPr ;由上层调用函数计算的触发价格;
InterestRate 短期无风险利率值,5%设置为0.005;
Carry 持有成本,通常为短期无风险利率值,5%设置为0.005;
Volty 期权标的的波动率,20%设置为0.2。

  1. 无分红的股票 - 设置为年无风险利率;
  2. 有分红的股票 - 设置为年无风险利率减去年分红收益;
  3. 期货合约 - 设置为0;
  4. 外汇货币 - 设置为本币无风险利率减去外币无风险利率。

BlackModel:获取期货期权的理论价格。
语法
Numeric BlackModel(Numeric DaysLeft,Numeric StrikePr,Numeric AssetPr,Numeric Rate100,Numeric Volty100,Numeric PutCall)
参数
DaysLeft 距离期权到期剩余的天数;
StrikePr 期权的执行价格;
AssetPr 期权标的的价格;
Rate100 短期无风险利率,放大100倍,5%设置为5;
Volty100 期权标的的波动率,放大100倍,20%设置为20;
PutCall 期权类型,是看涨还是看跌期权,可使用Enum_CallOption或Enum_PutOption枚举函数。
备注 该函数计算期货期权的理论价格,返回值为浮点数。

BlackScholes:获取股票期权的理论价格。
语法
Numeric BlackScholes(Numeric DaysLeft,Numeric StrikePr,Numeric AssetPr,Numeric Rate100,Numeric Volty100,Numeric PutCall)
参数
DaysLeft 距离期权到期剩余的天数;
StrikePr 期权的执行价格;
AssetPr 期权标的的价格;
Rate100 短期无风险利率,放大100倍,5%设置为5;
Volty100 期权标的的波动率,放大100倍,20%设置为20;
PutCall 期权类型,是看涨还是看跌期权,可使用Enum_CallOption或Enum_PutOption枚举函数。
备注 该函数计算股票期权的理论价格,返回值为浮点数。

Delta:获取期权的Delta值
语法
Numeric Delta(Numeric DaysLeft,Numeric StrikePr,Numeric AssetPr,Numeric Rate100,Numeric Volty100,Numeric PutCall)
参数
DaysLeft 距离期权到期剩余的天数;
StrikePr 期权的执行价格;
AssetPr 期权标的的价格;
Rate100 短期无风险利率,放大100倍,5%设置为5;
Volty100 期权标的的波动率,放大100倍,20%设置为20;
PutCall 期权类型,是看涨还是看跌期权,可使用Enum_CallOption或Enum_PutOption枚举函数。
备注 该函数计算期权的Delta值,返回值为浮点数。

Enum_AmericanOption:返回美式期权的枚举值。
语法 Integer Enum_AmericanOption()
参数 无
备注 返回美式期权的枚举值,返回值为整型。

Enum_CallOption:返回看涨期权的枚举值。
语法 Integer Enum_CallOption()
参数 无
备注 返回看涨期权的枚举值,返回值为整型

Enum_EuropeanOption:返回欧式期权的枚举值。
语法 Integer Enum_EuropeanOption()
参数 无
备注 返回欧式期权的枚举值,返回值为整型。

Enum_PutOption:返回看跌期权的枚举值。
语法 Integer Enum_PutOption()
参数 无
备注 返回看跌期权的枚举值。,返回值为整型

Gamma:获取期权的Gamma值
语法
Numeric Gamma(Numeric DaysLeft,Numeric StrikePr,Numeric AssetPr,Numeric Rate100,Numeric Volty100,Numeric PutCall)
参数
DaysLeft 距离期权到期剩余的天数;
StrikePr 期权的执行价格;
AssetPr 期权标的的价格;
Rate100 短期无风险利率,放大100倍,5%设置为5;
Volty100 期权标的的波动率,放大100倍,20%设置为20;
PutCall 期权类型,是看涨还是看跌期权,可使用Enum_CallOption或Enum_PutOption枚举函数。
备注 该函数计算期权的Gamma值,返回值为浮点数。

ImpliedVolatility:获取期权的隐含波动率。
语法
Numeric ImpliedVolatility(Numeric DaysLeft,Numeric StrikePr,Numeric AssetPr,Numeric Rate100,Numeric MktVal,Numeric PutCall)
参数
DaysLeft 距离期权到期剩余的天数;
StrikePr 期权的执行价格;
AssetPr 期权标的的价格;
Rate100 短期无风险利率,放大100倍,5%设置为5;
MktVal 期权的市场价格;
PutCall 期权类型,是看涨还是看跌期权,可使用Enum_CallOption或Enum_PutOption枚举函数。
备注 该函数计算股票期权的隐含波动率,返回值为浮点数。

Intrinsic:获取期权的内在价值。
语法
Numeric Intrinsic(Numeric AssetPr,Numeric PutCall,Numeric StrikePr)
参数
AssetPr 期权标的的价格;
PutCall 期权类型,是看涨开始看跌期权;
StrikePr 期权的执行价格。
备注 获取期权的内在价值,返回值为浮点数;
示例
result = Intrinsic(Close, Enum_CallOption, MyStrikePrice);计算看涨期权收盘价的内在价值,并将结果赋值给result。

OptionStyle:返回期权的类型,欧式还是美式。
语法 Integer OptionStyle()
参数 无
备注 返回期权的类型,欧式还是美式,返回值为整型。

OptionType:返回期权的类型,是看涨还是看跌期权。
语法 Integer OptionType()
参数 无
备注 返回期权的类型,是看涨还是看跌期权,返回值为整型。

OptionPrice:获取期权的理论价格。
语法
Numeric OptionPrice(Numeric MyAssetType,Numeric DaysLeft,Numeric StrikePr,Numeric AssetPr,Numeric Rate100,Numeric Yield100,Numeric ForeignRate100,Numeric Volty100,Numeric PutCall,Numeric EuroAmer01)
参数
MyAssetType 期权标的的类型:1-无分红的股票;2-有分红的股票;3-期货;4-外汇;
DaysLeft 距离期权到期剩余的天数;
StrikePr 期权的执行价格;
AssetPr 期权标的的价格;
Rate100 短期无风险利率,放大100倍,5%设置为5;
Yield100 分红的收益率,放大100倍,2%设置为2;
ForeignRate100 外币的短期无风险利率,放大100倍,3%设置为3;
Volty100 期权标的的波动率,放大100倍,20%设置为20;
PutCall 期权类型,是看涨还是看跌期权,可使用Enum_CallOption或Enum_PutOption枚举函数;
EuroAmer01 期权类型,是美式还是欧式期权,可使用Enum_AmericanOption或Enum_EuropeanOption枚举函数。
备注 该函数计算期权的理论价格,返回值为浮点数。

OptionsComplex:计算期权的理论价格和希腊字母值。
语法
Numeric OptionsComplex(Numeric MyAssetType,Numeric DaysLeft,Numeric StrikePr,Numeric AssetPr,Numeric Rate100,Numeric Yield100,Numeric ForeignRate100,Numeric Volty100,Numeric PutCall,Numeric EuroAmer01,NumericRef oOptPrice,NumericRef oDelta,NumericRef oGamma,NumericRef oVega,NumericRef oTheta,NumericRef oRho)
参数
MyAssetType 期权标的的类型:1-无分红的股票;2-有分红的股票;3-期货;4-外汇;
DaysLeft 距离期权到期剩余的天数;
StrikePr 期权的执行价格;
AssetPr 期权标的的价格;
Rate100 短期无风险利率,放大100倍,5%设置为5;
Yield100 分红的收益率,放大100倍,2%设置为2;
ForeignRate100 外币的短期无风险利率,放大100倍,3%设置为3;
Volty100 期权标的的波动率,放大100倍,20%设置为20;
PutCall 期权类型,是看涨还是看跌期权,可使用Enum_CallOption或Enum_PutOption枚举函数;
EuroAmer01 期权类型,是美式还是欧式期权,可使用Enum_AmericanOption或Enum_EuropeanOption枚举函数;
oOptPrice 引用参数,返回期权的理论价格;
oDelta 引用参数,返回期权的Delta值;
oGamma 引用参数,返回期权的Gamma值;
oVega 引用参数,返回期权的Vega值;
oTheta 引用参数,返回期权的Theta值;
oRho 引用参数,返回期权的Rho值。
备注 计算期权的理论价格和希腊字母值,返回值为浮点数;
返回值为1时表示计算有效,-1时表示计算无效。

Rho:获取期权的Rho值。
语法
Numeric Rho(Numeric DaysLeft,Numeric StrikePr,Numeric AssetPr,Numeric Rate100,Numeric Volty100,Numeric PutCall)
参数
DaysLeft 距离期权到期剩余的天数;
StrikePr 期权的执行价格;
AssetPr 期权标的的价格;
Rate100 短期无风险利率,放大100倍,5%设置为5;
Volty100 期权标的的波动率,放大100倍,20%设置为20;
PutCall 期权类型,是看涨还是看跌期权,可使用Enum_CallOption或Enum_PutOption枚举函数。
备注 该函数计算期权的Rho值,返回值为浮点数。

StrikePrice:返回期权的行权价。
语法 Numeric StrikePrice()
参数 无
备注 获取当前应用期权商品的行权价,返回值为浮点数。

Theta:获取期权的Theta值。

法Numeric Theta(Numeric DaysLeft,Numeric StrikePr,Numeric AssetPr,Numeric Rate100,Numeric Volty100,Numeric PutCall)
参数
DaysLeft 距离期权到期剩余的天数;
StrikePr 期权的执行价格;
AssetPr 期权标的的价格;
Rate100 短期无风险利率,放大100倍,5%设置为5;
Volty100 期权标的的波动率,放大100倍,20%设置为20;
PutCall 期权类型,是看涨还是看跌期权,可使用Enum_CallOption或Enum_PutOption枚举函数。
备注 该函数计算期权的Theta值,返回值为浮点数。

Vega:获取期权的Vega值。
语法
Numeric Vega(Numeric DaysLeft,Numeric StrikePr,Numeric AssetPr,Numeric Rate100,Numeric Volty100,Numeric PutCall)
参数
DaysLeft 距离期权到期剩余的天数;
StrikePr 期权的执行价格;
AssetPr 期权标的的价格;
Rate100 短期无风险利率,放大100倍,5%设置为5;
Volty100 期权标的的波动率,放大100倍,20%设置为20;
PutCall 期权类型,是看涨还是看跌期权,可使用Enum_CallOption或Enum_PutOption枚举函数。
备注 该函数计算期权的Vega值,返回值为浮点数。