σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyRoadmapsRoteiros
Ctrl K
AO
+1,2 mil alunos
EntrarParticipar ↗
RoadmapsRoteiros
AO
+1,2 mil alunos
Entrar
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyRoadmapsRoteiros
Ctrl K
AO
+1,2 mil alunos
EntrarParticipar ↗
RoadmapsRoteiros
AO
+1,2 mil alunos
Entrar
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Roteiro de SciPy›Módulo 2 · Curvas e integrais›Tópico 2.4·~50 minIntermediário

Integrais e EDOs com quad e solve_ivp

Posição no roteiroMódulo 2 de 3 · Tópico 4 de 5
2.4 Integrais e EDOs com quad e solve_ivp
—Nota do lab— / 100XP total—Sequência—

Esperanças são integrais, dinâmicas são EDOs

Grande parte das finanças quantitativas é um de dois trabalhos. O primeiro é uma esperança, ou seja, uma integral: o preço de uma opção é a média descontada de seu payoff, e^(-rT)∫(S_T-K)⁺ φ(z) dz, e uma perda esperada (expected shortfall) é a perda média além de um quantil. scipy.integrate.quad(f, a, b) devolve o valor e uma estimativa do erro, aceita -np.inf e np.inf como limites e é precisa em muitos dígitos quando o integrando é suave. Onde o integrando tem uma quebra, como o payoff de uma call no strike, comece a integral na quebra em vez de deixar o quad atravessá-la. Mesmo quando existe forma fechada, calcular também a integral é o melhor teste de que se entende a fórmula, e a integral continua valendo para payoffs sem fórmula.

O segundo trabalho é uma dinâmica: uma quantidade evolui segundo uma regra para sua taxa de variação, uma equação diferencial ordinária y'=f(t,y). scipy.integrate.solve_ivp(f, [t0, t1], y0, rtol=..., atol=...) a segue adiante e devolve a trajetória; a última coluna de sol.y é o valor em t₁. O modelo de taxa curta de Vasicek dá um preço de título P=e^(A(τ)-B(τ)r₀) cujas duas funções resolvem B'=1-κB e A'=-κθB+1/2σ²B² a partir de zero, e o solucionador reproduz a fórmula do livro até 10⁻¹³ ao apertar as tolerâncias. A distribuição t com 2,6 graus de liberdade tem perda esperada a 1% de 8,54 unidades padrão, contra 2,67 da normal: a integral mostra o que custa a cauda gorda. A partir da taxa dos fed funds de 3,88%, a curva do modelo sobe suavemente de 3,96% em um ano para 4,36% em trinta.

  • Uma esperança é uma integral: quad aceita limites infinitos; comece na quebra de um payoff.
  • Uma dinâmica é uma EDO: solve_ivp a segue a partir dos valores iniciais; aperte rtol e atol para igualar uma fórmula.
  • Confira o numérico com uma forma fechada: quando ambas existem, calcule as duas e veja a diferença.

Lab: o que é avaliado

  • Um preço de call como integral20 pts
  • Uma perda esperada por integração15 pts
  • A forma fechada10 pts
  • Um preço de título a partir de duas EDOs25 pts
  • A fórmula de Vasicek10 pts
  • A curva de rendimentos do modelo10 pts
  • O estudo10 pts
Explorador · lab-sp-18
▾ lab-sp-18
▾ data
…
bash · no navegador
learner@quantcraft:~/lab-sp-18$
Python ainda não carregadoPythonLn 1, Col 1Spaces: 4UTF-8

Redefinir este tópico?

Tudo em lab-sp-18 volta aos arquivos iniciais e o terminal é limpo. Sua solução atual será perdida — isso não pode ser desfeito.

Será redefinido
  • main.py → código inicial
  • Histórico do terminal e saída dos testes
  • Alterações não enviadas
Será mantido
  • Melhor nota do lab
  • Seu XP e sua sequência
  • Progresso da aula e anotações

Entre para executar o seu código.

Todas as aulas são gratuitas para ler. Crie uma conta ou entre para executar código, rodar os testes e enviar este lab.

  • IDE no navegador com terminal bash — nada para instalar
  • Correção instantânea, XP e o seu lugar no roteiro
Criar uma contaEntrar
OU
Continuar com o GitHub