
C#
文章平均质量分 82
森某
这个作者很懒,什么都没留下…
展开
-
二叉树期权定价(C#版)
用C#写了一个二叉树期权定价的类,可以做美式期权,也可以做欧式期权。二叉树从精确度来讲是美式期权定价里最好的,但是速度太慢。这里的算法是基于Cox, Ross and Rubinstein(1979)年的论文,算是最经典。该类中包括了期权价格计算和希腊字母计算 public class BinomialCRR { //S:标的资产现价 //X:执行价原创 2013-05-03 10:19:57 · 2686 阅读 · 1 评论 -
Black-Scholes期权定价(C#版)
Black-Scholes期权定价公式是最简单的,这里放出来主要是因为其他的美式期权定价也要用到。这个类里可以求期权价格、希腊字母、隐含波动率。唯一可能造成不同Black-Scholes期权定价程序结果不一致的原因就是累计正态分布实现方法不同。众所周知,累计正态分布是没有解析表达式计算的,只能通过数值方法逼近。这里提供了两种算法:1)Financial Numerical Reci原创 2013-05-03 15:02:56 · 4218 阅读 · 0 评论 -
Barone Adesi and Whaley(1987)美式期权定价(C#版)
这篇日志里给出了一个非常经典的美式期权定价算法,最先是Barone Adesi and Whaley(1987)提出的,实际上就是将美式期权的价值视为欧式期权价值加上一个美式期权带来的溢价。这种算法快速,但是精确度不够高,后来的其他学者提出了一些改进方法,最有名的是Ju and Zhong(1999),这个算法会在另一篇日志中。该算法还有一个缺点就是没有希腊字母的解析表达式,所以这个类中就只给原创 2013-05-04 20:04:27 · 2702 阅读 · 0 评论 -
Ju and Zhong(1999) 美式期权定价(C#版)
Ju and Zhong(1999) 美式期权定价算法在wilmott论坛里一直被很多人推荐,所以就用c#把这个写出来了。Ju and Zhong(1999) 的思路与Barone Adesi and Whaley(1987)相似,都是将美式期权的价值视为欧式期权价值加上一个美式期权带来的溢价,但是Ju and Zhong(1999) 得特点就是在运算速度大致相同的情况下,更加精确,各类算法对比可原创 2013-05-05 17:45:10 · 2975 阅读 · 0 评论 -
Bjerksund and Stensland(1993, 2002)美式期权定价(C#版)
这里的期权定价算法是指Bjerksund and Stensland分别在1993年和2002年的两篇论文里提出的算法,2002年是1993的改进,更精确。这个类原本就是为Bjerksund and Stensland( 2002)写得,不过由于稍作改动就可以得出Bjerksund and Stensland(1993)的结果,所以也加入了1993年的算法。由于原文只是给出了期权的定价算法原创 2013-05-06 21:57:46 · 2550 阅读 · 0 评论 -
Leisen-Reimer二叉树期权定价(C#版)
Leisen-Reimer二叉树期权定价算法和CRR二叉树算法大同小异,主要是在每个节点的涨跌幅度和涨跌概率上有变化,加快收敛速度。MATLAB中就提供了这种算法的函数public class BinomialLR { //S:标的资产现价 //X:执行价 //r:无风险利率 //q:连续分红率,Cost of Carry = r-q原创 2013-05-07 16:01:41 · 2170 阅读 · 0 评论 -
Broadie and Detemple(1996)美式期权定价(C#版)
花了好几天终于把Broadie and Detemple(1996)这篇论文里的美式期权定价算法给写出来了,找bug累死了。。。这个算法的思想就是计算出美式期权的价格上限和价格下限,然后根据给上下限取一个权重,就可以得出美式期权的价格,至于最优权重取多少需要对历史数据做回归。原文里期权价格的计算可以分为只根据价格下限(Lower Bound,即LBA)和同时根据上下限(Lower and原创 2013-05-12 17:48:51 · 1838 阅读 · 0 评论