Last active
September 17, 2022 04:08
-
-
Save Fabiocke/27772cd1d37616db382bca4ba01125c1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ativo = 'BBAS3' | |
| vencimento = '2022-12-16' | |
| K = 45.05 | |
| # A data que está sendo executado é 17/09/2022 | |
| # em outro dia os parâmetros serão diferentes, portanto os resultados serão diferentes | |
| # Série histórica, usaremos os últimos 365 dias. O parâmetro dias irá afetar diretamente a volatildiade (sigma) | |
| df = cotacoes(ativo, 365) | |
| # Preço atual da ação | |
| S = df['Adj Close'][-1] | |
| # Gera a coluna de retorno os retornos logaritmicos | |
| df['Returns'] = np.log(df['Adj Close']/df['Adj Close'].shift(1)) | |
| # volatilidade: usaremos o desvio padarão dos retornos anualizado. | |
| # Obs: Existem outros modelos de volatildiade, como o EWMA. O modelo pode ser escolhido dependendo da sua estratégia. | |
| sigma = df['Returns'].std() * 252 ** 0.5 | |
| # taxa livre de risco | |
| r = selic() | |
| # tempo em anos até o vencimento | |
| T = (datetime.strptime(vencimento, '%Y-%m-%d') - datetime.now()).days/365 | |
| print(S) # 39.400001525878906 | |
| print(K) # 45.05 | |
| print(r) # 0.13649989315282562 | |
| print(sigma) # 0.2941359350202654 | |
| print(T) # 0.24383561643835616 | |
| bsm_put(S, K, r, sigma, T) # 5.043368866048489 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment