if option_type == 'call':
theta = — (S * norm.pdf(d1) * sigma) / (2 * np.sqrt(T)) — r * K * np.exp(-r * T) * norm.cdf(d2)
elif option_type == 'put':
theta = — (S * norm.pdf(d1) * sigma) / (2 * np.sqrt(T)) + r * K * np.exp(-r * T) * norm.cdf(-d2)
else:
raise ValueError(«Invalid option type. Use 'call' or 'put'.»)
return theta
# Параметры опциона
S = 100 # Текущая цена акции
K = 100 # Цена страйк
T = 1 # Срок до экспирации (в годах)
r = 0.05 # Безрисковая процентная ставка
sigma = 0.2 # Волатильность акции
option_type = 'call' # Тип опциона: 'call' (колл) или 'put' (пут)
theta = black_scholes_theta(S, K, T, r, sigma, option_type)
print(f«Theoretical Theta for the {option_type} option: {theta:.4f}»)
Это чатГПТ выжал на твой коммент. Но тут вставляется без отступов..
💡Размещения или вторичный рынок — где спрятана допвыгода от валютных облигаций?
Валютные облигации остаются в фокусе внимания инвесторов как основной инструмент для управления рисками, связанными с колебаниями курсов валют. На этой неделе состоятся два размещения...
«Деньги не спят»: Василий Олейник обо всем самом важном на рынке
Рубль всемогущий, а рынок — нет: сколько продлится падение?
Обсуждаем все самое важное для инвесторов в новом выпуске «Деньги не спят». Василий Олейник разберет причины падения акций:...
Группа «МГКЛ» опубликует финансовую отчётность по МСФО за первое полугодие 2025 года 21 августа. Мы последовательно придерживаемся принципа открытости и делимся ключевыми результатами,...
Синайский полуостров, ну вот купить уже из под санкций почему-то дали, а продать теперь не дают — мол заблокированный актив.
Почитал немного — все пишут, мол, жди редомиляции. Выходми, еще 9 ...
Alchemist01, я понял, что за европейские бабки оружие всё купят европейцы у Америки И поставят в Окраину.
— Другое* — «это уже НАШИ догадки и теории»!
— «Врагов не следует недооценивать и пре...
Создатель биткоина Сатоши Накамото Таинственный создатель биткоина, известный под псевдонимом Сатоши Накамото, стал 11-м самым богатым человеком в мире
На адрес Накамото поступали все средства от ма...
ЮГК. Суд решил. Ивлеева. Отстраненным по решению суда от должностей президента управляющей компании «Южуралзолото» и директора по безопасности Константину Струкову и Константину Якимчику запрещено зан...
Акции МТС упали: разбираем, что дальше
Что с акциями?
Акции МТС упали почти на 16%. Это произошло после выплаты дивидендов и выхода слабой отчётности — прибыль компании в 1 квартале резк...
✅ Индекс выполнил цели отскока, но что будет далее? 👉 Сегодня ММВБ очень даже сильно вырос, виной тому НЕ столь негативные новости, как ожидалось. Закрытие достаточно понятное и простое, все как обычн...
Ну что могу сказать, Трам классический торгаш. Сначала пускает инфу о 500% санкциях и их вот вот объявят, но потом заявляет об их снижении и дает время подумать.
Но на самом деле не все так забавно ...
Кто выкупил допку МТС банка и зачем ему доп капитал? Ну что, кто-нить понял?
👉кто купил допку МТС Банка
👉для какой цели было это пополнение капитала?
Жду ваши идеи в комментах 👇 Авто-р...
import numpy as np
from scipy.stats import norm
def black_scholes_theta(S, K, T, r, sigma, option_type):
d1 = (np.log(S / K) + (r + 0.5 * sigma ** 2) * T) / (sigma * np.sqrt(T))
d2 = d1 — sigma * np.sqrt(T)
if option_type == 'call':
theta = — (S * norm.pdf(d1) * sigma) / (2 * np.sqrt(T)) — r * K * np.exp(-r * T) * norm.cdf(d2)
elif option_type == 'put':
theta = — (S * norm.pdf(d1) * sigma) / (2 * np.sqrt(T)) + r * K * np.exp(-r * T) * norm.cdf(-d2)
else:
raise ValueError(«Invalid option type. Use 'call' or 'put'.»)
return theta
# Параметры опциона
S = 100 # Текущая цена акции
K = 100 # Цена страйк
T = 1 # Срок до экспирации (в годах)
r = 0.05 # Безрисковая процентная ставка
sigma = 0.2 # Волатильность акции
option_type = 'call' # Тип опциона: 'call' (колл) или 'put' (пут)
theta = black_scholes_theta(S, K, T, r, sigma, option_type)
print(f«Theoretical Theta for the {option_type} option: {theta:.4f}»)
Это чатГПТ выжал на твой коммент. Но тут вставляется без отступов..
def InsKline1m(self, sd): # thname = 'kline' """ kl = {'stream': 'btcusdt@kline_1m', 'data': {'e': 'kline', 'E': 1692194018649, 's': 'BTCUSDT', 'k': {'t': 1692193980000, 'T': 1692194039999, 's': 'BTCUSDT', 'i': '1m', 'f': 4009649234, 'L': 4009650704, 'o': '29087.10', 'c': '29094.90', 'h': '29095.20', 'l': '29087.10', 'v': '148.002', 'n': 1471, 'x': False, 'q': '4305614.76410', 'V': '88.941', 'Q': '2587451.86430', 'B': '0'}}} """ ""«if threading.get_ident() != self.threads[thname]['thread_id']: # print('aaaa ',threading.get_ident()) self.threads[thname]['thread_id'] = threading.get_ident() self.OpenDB(thname) „“» dt = self.ConvertToDTime(sd['data']['E']) var = (sd['data']['E'],sd['data']['s'],dt,sd['data']['k']['t'],sd['data']['k']['T'],sd['data']['k']['f'],sd['data']['k']['L'], sd['data']['k']['o'],sd['data']['k']['c'],sd['data']['k']['h'],sd['data']['k']['l'],sd['data']['k']['v'], sd['data']['k']['n'],sd['data']['k']['x'],sd['data']['k']['q'],sd['data']['k']['V'],sd['data']['k']['Q']) #17 sql2 = '(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)' sql1 = 'insert into Kline1m (E,Symbol,dtime,tb,tc,f,L,open,close,high,low,vol,n,x,q,V,Qp) values' + sql2 begin = time.monotonic_ns() self.cursor.execute(sql1, var) self.connect.commit() if sd['data']['k']['x']: dt = self.ConvertToDTime(sd['data']['k']['t']) print('dt ', dt) var = (sd['data']['s'],dt,sd['data']['k']['t'],sd['data']['k']['T'],sd['data']['k']['o'], sd['data']['k']['c'],sd['data']['k']['h'],sd['data']['k']['l'],sd['data']['k']['v'], sd['data']['k']['n'],sd['data']['k']['q'],sd['data']['k']['V'],sd['data']['k']['Q']) #13 sql2 = '(?,?,?,?,?,?,?,?,?,?,?,?,?)' sql1 = 'insert into Kline_1mc (Symbol,dtime,tb,tc,open,close,high,low,vol,n,q,V,Qp) values' + sql2 self.cursor.execute(sql1, var) self.connect.commit() Tq = (time.monotonic_ns() — begin)/1000 print('Time of record ', Tq)
Сорри, форматирование слетело.)