Серия моделей ценообразования опционов [1] — универсальная модель BSM

Это первая статья в колонке моделей ценообразования опционов. Целью этой колонки является описание некоторых моделей ценообразования опционов. Она начнется с самой базовой модели BSM и постепенно распространится на симуляцию Монте-Карло, двоичное дерево и другие модели числовых методов, а также Модель скачка Диффузия, модель стохастической волатильности, модель нейронной сети и т. д.


Если статья оказалась для вас полезной, поставьте лайк и добавьте ее в избранное.

1. Введение



После того, как модель BSM была впервые опубликована в 1973 году, ее быстро начали применять на финансовых рынках. Трейдеры используют модель BSM для оценки опционов и дальнейшего продвижения их применения на различных рынках. С момента появления модели BSM рынок впервые нашел теоретически надежную модель ценообразования опционов, что в значительной степени способствовало развитию всего рынка опционов, что, в свою очередь, способствовало ценообразованию и ликвидности рынка базовых активов.
В каком-то смысле модель BSM действительно является чудом: она позволяет оценивать ценные бумаги очень рациональным способом. В полностью идеализированном мире (при условии, что доходность подчиняется нормальному распределению, цены акций подчиняются закону геометрического броуновского движения, имеется достаточная ликвидность, возможно непрерывное хеджирование и отсутствуют транзакционные издержки) модель BSM предоставляет возможности динамического репликации. метод. Это шедевр инженерных методов в воображаемом мире, которого не существует, потому что рынки не всегда подчиняются всем предположениям. Это действительно чудо, но это всего лишь модель, а не реальная ситуация.


Конечно, предположения, требуемые моделью BSM, очень строгие: предполагается, что доходность базового актива подчиняется нормальному распределению, цена подчиняется геометрическому броуновскому движению, рынок всегда может обеспечить достаточную ликвидность и бесплатное непрерывное хеджирование. транзакции могут быть выполнены. На реальном рынке некоторые из этих предположений могут быть приблизительно выполнены, тогда как другие далеки от этого. Например, транзакционные издержки и непрерывное хеджирование могут быть достигнуты путем корректировки допущений. Другие, такие как закономерности изменения цен на акции, с трудом подчиняются предположению о геометрическом броуновском движении. В действительности цены на акции часто подскакивают, общее распределение показывает «толстые хвосты», и даже волатильность меняется совершенно неожиданно.Эти условия трудно решить путем корректировки допущений.

2. Статическая копия


Прежде всего, с помощью определения опциона можно легко получить, что контрактная стоимость обычного европейского опциона колл и опциона пут на дату истечения срока действия равна:

 Затем, предполагая, что инвестор покупает европейский опцион колл и продает европейский опцион пут с той же ценой исполнения, независимо от того, какова окончательная цена акции на дату истечения срока действия, доход инвестора определен: (ST-K).

Сделайте еще один шаг вперед и предположите, что акции не приносят дивидендов в будущем. Если в некоторый момент времени t до даты погашения, если инвестор покупает базовую акцию по текущей цене St и одновременно продает безрисковые облигации Ke-r (Tt), то в момент времени T стоимость этого портфеля равна ( СТ-К). Согласно закону одной цены, один — купить европейский опцион «колл» и продать европейский опцион «пут» с той же ценой исполнения; другой — одновременно купить акцию и продать безрисковую облигацию. из двух должно быть равным.

Переместив члены в обе части приведенного выше уравнения, чтобы скопировать опцион колл, вам понадобится только опцион пут с той же ценой исполнения и датой истечения срока действия, базовой акцией и безрисковой облигацией. Чтобы скопировать опцион пут, все, что вам нужно, это опцион колл с той же ценой исполнения и датой истечения, базовую акцию и безрисковую облигацию.

3. Вывод модели


Использование методов репликации для оценки является теоретической основой всей модели ценообразования опционов Блэка-Шоулза-Мертона (BSM). При построении модели BSM требуется ряд теоретических предположений: изменения цены базовой акции непрерывны, волатильность постоянна и скачок цен отсутствует (однофакторное броуновское движение); трейдеры могут переходить через большие длинные или короткие позиции. Непрерывное хеджирование, отсутствие спреда между ценой покупки и продажи, отсутствие транзакционных издержек, корректировка позиции может быть решена самостоятельно.

Предположим, что в момент времени цена определенной акции равна S, ее волатильность постоянна σS, а ожидаемая доходность равна µS. В то же время существует безрисковая облигация с ценой B и нормой доходности, принятой постоянной r. Случайные цены акций и облигаций подчиняются:

Среди них dZ подчиняется стандартному винеровскому процессу. Цена C опциона колл с акциями в качестве базового актива в момент времени t является переменной, связанной с ценой акции и временем. Согласно лемме Ито, цена C равна:

 

Включая:

 

Объедините позиции S и C, чтобы создать непрерывный безрисковый портфель, исключающий эту переменную риска. Пусть π=αS+C, где α представляет собой количество акций, необходимых для хеджирования опционного риска в момент времени t. Тогда есть:

 

Чтобы эта комбинация оставалась мгновенно безрисковой, ковариация случайной величины dZ должна быть равна 0. То есть:

 

в:

 

Поскольку этот портфель также безрисков в момент времени t, согласно закону одной цены, его доходность в момент времени t также должна быть безрисковой процентной ставкой r, поэтому существует:

 

 

В хеджинговом портфеле это составляет:

После регулировки есть:

 

 

Мгновенные коэффициенты Шарпа опциона колл и базовой акции равны. Если бы не было безрисковых арбитражных возможностей, то избыточная доходность на единицу волатильности была бы одинаковой для акций и опционов. Это также было моментом, на который изначально обратили внимание Блэк и Скоулз при выводе уравнения BSM. Продолжая расчет, заменяя µC и σC, имеем:

Уравнение в частных производных модели BSM можно получить:

 

 4. Модель БСМ


Модель BSM — это модель оценки, разработанная Блэком и Скоулзом, которую можно использовать для европейских опционов на акции, по которым не выплачиваются дивиденды до истечения срока действия. : : 

 

Параметры объясняются следующим образом:

 

 

5. Модель ценообразования опционов на фондовые индексы


 Мертон расширил модель BS до сценария, который позволяет выплачивать непрерывные дивиденды.Эта модель может использоваться для оценки европейских опционов колл и пут на акции или фондовые индексы, которые выплачивают известную непрерывную ставку дивидендов q.

6. Модель ценообразования фьючерсных опционов


 Блэк в 1976 году предложил европейскую модель ценообразования опционов «колл» и «пут» для определения цены форвардных или фьючерсных контрактов на базовый актив, предполагая, что цена базового актива равна F.

7. Модель ценообразования фьючерсных опционов, основанная на премии и процентах.


 Компания Asay модифицировала модель ценообразования фьючерсных опционов Black76 на основе премий и процентов:

 

8. Модель ценообразования опционов Форекс.


Гарман и Кольхаген модифицировали модель BS так, чтобы ее можно было использовать для оценки европейских валютных опционов:

9. Обобщенная модель ценообразования опционов BSM


 Если ввести коэффициент холдинговой стоимости b, модель BSM можно обобщить.

Когда b=r, это модель ценообразования европейских опционов без дивидендов, предложенная в 1973 году;

Когда b=rq, это модель ценообразования европейских опционов с непрерывными дивидендами, предложенная Мертоном в 1973 году;

Когда b=0, это модель ценообразования фьючерсных опционов, предложенная Блэком в 1976 году;

Когда b=0 и r=0, это модель ценообразования фьючерсных опционов при расчете премий и процентов, предложенная Асаем в 1982 году;

Когда b=r-rf, это модель ценообразования валютных опционов.

10. Часть кода


import numpy as np
from scipy.stats import norm

class BSM_Model:

    def __init__(self,S,K,T,sigma,r,b,opt):
        self.S=S
        self.K=K
        self.T=T
        self.sigma=sigma
        self.r=r
        self.b=b
        self.opt=opt

    def d1(self):
        return (np.log(self.S/self.K)+(self.b+self.sigma**2/2)*self.T)/(self.sigma*np.sqrt(self.T))
    def d2(self):
        return self.d1()-self.sigma*np.sqrt(self.T)

    def option_value(self):
        if self.opt=='call':
            value=self.S*np.exp((self.b-self.r)*self.T)*norm.cdf(self.d1())-self.K*np.exp(-self.r*self.T)*norm.cdf(self.d2())
        else:
            value = -self.S * np.exp((self.b - self.r) * self.T) * norm.cdf(-self.d1()) + self.K * np.exp(
                -self.r * self.T) * norm.cdf(-self.d2())
        return value

 Пример 1:

Результат: цена европейского колл-опциона равна 2,1333684449162007.

if __name__=='__main__':
    #b=r时为1973年提出的无股息欧式期权定价模型
    # eg:
    S=60
    K=65
    T=0.25
    r=0.08
    sigma=0.3
    b=r
    opt='call'
    call=BSM_Model(S,K,T,sigma,r,b,opt).option_value()
    print('欧式看涨期权价格为%s'%(call))

Пример 2:

 Результат: цена европейского пут-опциона составляет 2,4647876467558305.

if __name__=='__main__':
    #b=r-q时为merton在1973年提出的连续股利欧式期权定价模型
    S=100
    K=95
    T=0.5
    r=0.1
    q=0.05
    sigma=0.2
    b=r-q
    opt='put'
    put=BSM_Model(S,K,T,sigma,r,b,opt).option_value()
    print('欧式看跌期权价格为%s'%(put))

Пример 3:

Результат: цена фьючерсного опциона пут составляет 1,7010507252362679.

if __name__=='__main__':

    #b=0时为black在1976年提出的期货期权定价模型
    F = 19
    K = 19
    T = 0.75
    r = 0.1
    sigma = 0.28
    b = 0
    opt = 'put'
    put = BSM_Model(F, K, T, sigma, r, b, opt).option_value()
    print('看跌期货期权价格为%s' % (put))

 Пример 4:

Результат: цена фьючерсного опциона пут равна 65,61854211535751.

if __name__=='__main__':

   
    #b=0且r=0时为Asay在1982年提出的权利金计息下的期货期权定价模型
    F = 4200
    K = 3800
    T = 0.75
    r =0
    sigma = 0.15
    b = 0
    opt = 'put'
    put = BSM_Model(F, K, T, sigma, r, b, opt).option_value()
    print('看跌期货期权价格为%s' % (put))

 Пример 5:

Результат: цена валютного опциона колл равна 0,02909925314943973.

if __name__=='__main__':
    #b=r-rf时为外汇期权定价模型
    S = 1.56
    K = 1.6
    T = 0.5
    r = 0.06
    rf=0.08
    sigma = 0.12
    b = r-rf
    opt = 'call'
    call = BSM_Model(S, K, T, sigma, r, b, opt).option_value()
    print('看涨外汇权价格为%s' % (call))

 

おすすめ

転載: blog.csdn.net/xiaowu1997/article/details/132196568