암호화폐 옵션 시장은 2024년 들어 급성장하고 있으며, Bitcoin과 Ethereum 선물 기반 델타 중립 전략에 대한 수요가 증가하고 있습니다. 이번 튜토리얼에서는 HolySheep AI를 활용하여加密期权定价의 핵심 모델인 Local Volatility와 Stochastic Volatility를 비교하고, 실제 Python 구현체를 통해该如何选择适合自己策略的模型를 다룹니다.
加密期权市场的特殊性
암호화폐 옵션은 전통 금융 상품과 다른 독특한 특성을 가지고 있습니다:
- 높은 변동성: Bitcoin의 일일 변동률은 전통 통화 대비 5-10배 높음
- 점프 리스크: 거버넌스 결정, 해킹 등 비연속적 가격 변동
- 流動性 조각화: 다양한 거래소에서 서로 다른 변동성 곡면
- 만기일 집중: 금요일 만기集中在短期期权
Local Volatility 모델
Local Volatility(국소 변동성) 모델은 Dupire 방정식에 기반하여 현재 가격과 만기”作为输入的波动率曲面建模方法입니다.
핵심 수식
"""
Local Volatility 모델 구현
HolySheep AI API를 활용한 시장 데이터 수집 및 변동성 계산
"""
import requests
import numpy as np
from scipy.stats import norm
HolySheep AI API 설정
HOLYSHEEP_API_KEY = "YOUR_HOLYSHEEP_API_KEY"
HOLYSHEEP_BASE_URL = "https://api.holysheep.ai/v1"
def get_crypto_market_data(symbol="BTC"):
"""HolySheep AI를 통해 암호화폐 시장 데이터 수집"""
headers = {
"Authorization": f"Bearer {HOLYSHEEP_API_KEY}",
"Content-Type": "application/json"
}
# Deribit API 데이터 통합 예시
response = requests.post(
f"{HOLYSHEEP_BASE_URL}/chat/completions",
headers=headers,
json={
"model": "gpt-4.1",
"messages": [
{
"role": "system",
"content": "당신은 암호화폐 시장 분석 전문가입니다."
},
{
"role": "user",
"content": f"{symbol} USD의 현재 변동성 데이터를 다음 형식으로 제공해주세요: ATM 변동성, 25Δ Put/Call RR, 25Δ Strangle"
}
],
"temperature": 0.3
}
)
return response.json()
class LocalVolatilityModel:
"""Local Volatility 모델 클래스"""
def __init__(self, spot, rate, dividend=0):
self.S = spot # 현물 가격
self.r = rate # 무위험 금리
self.q = dividend # 배당 수익률
def dupire_volatility(self, K, T, call_price):
"""
Dupire 방정식을 통한 국소 변동성 계산
∂C/∂T + (r-q)K ∂C/∂K + 0.5*σ²(K,T)K² ∂²C/∂K² = 0
"""
dS = 0.01 * self.S
dC_dT = (call_price(T + 0.001) - call_price(T)) / 0.001
dC_dK = (call_price(K + dS) - call_price(K - dS)) / (2 * dS)
d2C_dK2 = (call_price(K + dS) - 2*call_price(K) + call_price(K - dS)) / (dS ** 2)
sigma_L = np.sqrt(2 * (dC_dT + (self.r - self.q) * K * dC_dK) /
(K ** 2 * d2C_dK2))
return sigma_L
def price_european_call(self, K, T, sigma):
"""Black-Scholes 기반 유럽식 콜 옵션定价"""
d1 = (np.log(self.S / K) + (self.r - self.q + 0.5 * sigma**2) * T) / (sigma * np.sqrt(T))
d2 = d1 - sigma * np.sqrt(T)
call_price = self.S * np.exp(-self.q * T) * norm.cdf(d1) - \
K * np.exp(-self.r * T) * norm.cdf(d2)
return call_price
사용 예시
model = LocalVolatilityModel(spot=67500, rate=0.05, dividend=0.02)
sigma_local = model.dupire_volatility(K=68000, T=0.25, call_price=lambda K: model.price_european_call(K, 0.25, 0.65))
print(f"Local Volatility at K=68000, T=0.25: {sigma_local:.4f}")
Stochastic Volatility 모델 (Heston)
Heston 모델은 변동성 자체를 확률 과정으로 모델링하여 smiles과 skwns을 자연스럽게再現합니다.
"""
Heston Stochastic Volatility 모델 구현
HolySheep AI를 통한 실시간 변동성 스마일 분석
"""
import numpy as np
from scipy.optimize import minimize
from typing import Tuple
class HestonModel:
"""Heston Stochastic Volatility 모델"""
def __init__(self, S, K, T, r, q,
v0=0.04, # 초기 분산
kappa=2.0, # 평균 회귀 속도
theta=0.04, # 장기 분산
xi=0.3, # 변동성 of volatility
rho=-0.7): # 상관계수 (BTC는 음수)
self.S = S
self.K = K
self.T = T
self.r = r
self.q = q
self.v0 = v0
self.kappa = kappa
self.theta = theta
self.xi = xi
self.rho = rho
def characteristic_function(self, phi, v, S, K, T, r, q,
kappa, theta, xi, rho):
"""Heston 모델 특징 함수 (Carr-Madan定价用)"""
a = kappa * theta
b = kappa + 1j * rho * xi * phi
d = np.sqrt(b**2 - xi**2 * (2*1j*phi + phi**2))
numerator1 = a * b * T
numerator2 = (b - d) * T
denominator = b + d
exp1 = np.exp(numerator1 - numerator2)
exp2 =