O documento discute o módulo python-bizdays, que fornece ferramentas para contar dias úteis em Python de forma flexível para lidar com diferentes calendários. O módulo permite calcular dias úteis entre datas, verificar se uma data é útil, ajustar datas de vencimento e manipular curvas de taxas de juros. Ele facilita o cálculo de preços de ativos financeiros que dependem de dias úteis no Brasil.
O documento apresenta Wilson Freitas, um físico que trabalha no mercado financeiro como Quant. Ele discute sobre finanças quantitativas com Python, incluindo bibliotecas para análise de dados e acesso a dados financeiros, além de plataformas como The Python Quants e Quantopian para modelagem financeira e desenvolvimento de estratégias de trading usando Python. O documento também aborda formas de integrar Python com Excel.
Este documento resume los conceptos clave de la farmacocinética, incluyendo las cuatro fases (absorción, distribución, metabolismo y excreción), los mecanismos de metabolismo como el citocromo P450 y las fases I y II, y los diferentes tipos de cinética como de orden cero y orden uno. Explica que la mayoría de los fármacos siguen una cinética de primer orden y cubre temas como la vida media, las curvas de concentración-tiempo, y cómo los parámetros farmacocinéticos como el volumen
[1] El documento describe conceptos básicos de farmacocinética, incluyendo las fases de absorción, distribución, metabolismo y excreción de los fármacos en el organismo. [2] Explica que la farmacocinética estudia matemáticamente el movimiento de los fármacos a través del tiempo mediante parámetros como el volumen de distribución, vida media y clearance. [3] El volumen de distribución indica el espacio en el que se distribuye una dosis administrada y depende de factores como la lipos
STATIK | System Thinking Approach to Implementing Kanban / Abordagem do Pens...Mayra de Souza
Material para guiar a estrutura e implementação de Kanban, elaborado de forma colaborativa entre as pessoas agilistas Mayra Souza, Maurício Messias e William Campesatto
Visualização é fundamental para a comunicação em data science. Esta apresentação visa mostrar algumas ferramentas de visualização em Python.
Material apresentado na Trilha Python da TDC 2014 SP (09/Ago/2014).
1) O documento descreve um modelo de programação linear para gerenciar o fluxo de caixa de uma empresa de alimentos institucionais (IFS) ao longo de 8 semanas;
2) O objetivo é minimizar os custos líquidos de juros considerando empréstimos, atrasos no pagamento e investimentos de curto prazo;
3) Várias restrições são consideradas como balanço de caixa, dívida, limite de crédito e manutenção de saldo mínimo.
Este relatório técnico descreve a construção de uma aplicação ETL para extrair, transformar e carregar dados do sistema SICOP da CEMIGTelecom para um data warehouse, com o objetivo de medir o indicador de desempenho de "Prazo Global de Obras". O relatório apresenta a arquitetura do banco de dados transacional do SICOP, a modelagem dimensional criada para o data warehouse, o desenvolvimento da aplicação ETL usando SSIS, e a criação de um dashboard no SharePoint para visualização do indicador de prazos de obras.
Este trabalho tem por objetivo apoiar o processo de desenvolvimento da VT INTEGRADA. A finalidade desta VT é propiciar a construção de um PROTOTIPO. Integrar os conhecimentos relativos à disciplina “Teoria Geral de Sistemas” na elaboração de um protótipo de sistema comercial, para fazer o levantamento e avaliação dos requisitos de um problema proposto na disciplina “Contabilidade Empresarial”, desenvolvido no ambiente de programação utilizado na disciplina “Linguagem de Programação II”.
O documento apresenta Wilson Freitas, um físico que trabalha no mercado financeiro como Quant. Ele discute sobre finanças quantitativas com Python, incluindo bibliotecas para análise de dados e acesso a dados financeiros, além de plataformas como The Python Quants e Quantopian para modelagem financeira e desenvolvimento de estratégias de trading usando Python. O documento também aborda formas de integrar Python com Excel.
Este documento resume los conceptos clave de la farmacocinética, incluyendo las cuatro fases (absorción, distribución, metabolismo y excreción), los mecanismos de metabolismo como el citocromo P450 y las fases I y II, y los diferentes tipos de cinética como de orden cero y orden uno. Explica que la mayoría de los fármacos siguen una cinética de primer orden y cubre temas como la vida media, las curvas de concentración-tiempo, y cómo los parámetros farmacocinéticos como el volumen
[1] El documento describe conceptos básicos de farmacocinética, incluyendo las fases de absorción, distribución, metabolismo y excreción de los fármacos en el organismo. [2] Explica que la farmacocinética estudia matemáticamente el movimiento de los fármacos a través del tiempo mediante parámetros como el volumen de distribución, vida media y clearance. [3] El volumen de distribución indica el espacio en el que se distribuye una dosis administrada y depende de factores como la lipos
STATIK | System Thinking Approach to Implementing Kanban / Abordagem do Pens...Mayra de Souza
Material para guiar a estrutura e implementação de Kanban, elaborado de forma colaborativa entre as pessoas agilistas Mayra Souza, Maurício Messias e William Campesatto
Visualização é fundamental para a comunicação em data science. Esta apresentação visa mostrar algumas ferramentas de visualização em Python.
Material apresentado na Trilha Python da TDC 2014 SP (09/Ago/2014).
1) O documento descreve um modelo de programação linear para gerenciar o fluxo de caixa de uma empresa de alimentos institucionais (IFS) ao longo de 8 semanas;
2) O objetivo é minimizar os custos líquidos de juros considerando empréstimos, atrasos no pagamento e investimentos de curto prazo;
3) Várias restrições são consideradas como balanço de caixa, dívida, limite de crédito e manutenção de saldo mínimo.
Este relatório técnico descreve a construção de uma aplicação ETL para extrair, transformar e carregar dados do sistema SICOP da CEMIGTelecom para um data warehouse, com o objetivo de medir o indicador de desempenho de "Prazo Global de Obras". O relatório apresenta a arquitetura do banco de dados transacional do SICOP, a modelagem dimensional criada para o data warehouse, o desenvolvimento da aplicação ETL usando SSIS, e a criação de um dashboard no SharePoint para visualização do indicador de prazos de obras.
Este trabalho tem por objetivo apoiar o processo de desenvolvimento da VT INTEGRADA. A finalidade desta VT é propiciar a construção de um PROTOTIPO. Integrar os conhecimentos relativos à disciplina “Teoria Geral de Sistemas” na elaboração de um protótipo de sistema comercial, para fazer o levantamento e avaliação dos requisitos de um problema proposto na disciplina “Contabilidade Empresarial”, desenvolvido no ambiente de programação utilizado na disciplina “Linguagem de Programação II”.
Uma estrutura é uma coleção de uma ou mais variáveis, possivelmente de tipos diferentes, colocadas juntas sob um único nome para manipulação conveniente. Por exemplo, para representar um aluno são necessárias as informações nome, matrícula, conceito. Ao invés de criar três variáveis, é possível criar uma única variável contendo três campos. Em C/C++, usa-se a construção struct para representar esse tipo de dado.
Este manual ensina como usar o sistema de gestão de projetos Libreplan, incluindo como criar um novo projeto, adicionar tarefas, atribuir recursos, acompanhar o progresso e gerar relatórios. O manual explica como acessar o sistema pela primeira vez e fornece instruções passo a passo para configurar um projeto de exemplo.
Este documento descreve um plano de recuperação de desastres para uma empresa. Ele identifica as funções e processos chave, dependências internas e externas, e requisitos para a recuperação de pessoal, equipamentos, registos e sistemas. O documento também atribui objetivos de tempo de recuperação e pontos de recuperação para as funções de negócio e analisa os possíveis impactos operacionais de uma interrupção.
Zabbix Conference LatAm 2016 - Paulo Deolindo - Case Study_BBTS and ZabbixZabbix
O documento discute a migração de serviços e servidores entre os data centers da empresa BBTS no Rio de Janeiro e São Paulo. Ele descreve onde a empresa está localizada, seus principais data centers e unidades de negócios, e como o Zabbix está sendo usado para monitorar ativos, serviços e o negócio durante o processo de migração para garantir a disponibilidade e apresentar resultados.
O documento discute o padrão de projeto Strategy para melhorar o design de código. Strategy encapsula comportamentos em classes separadas para que um algoritmo possa ser trocado facilmente. Isso é ilustrado com um exemplo de cálculo de impostos, onde diferentes estratégias de cálculo (classes ICMS e ISS) podem ser usadas por um calculador polimórfico.
Máquina de cálculo Folha de Pagamento versão 11TOTVS Connect
O documento descreve as funcionalidades da Máquina de Cálculo da Folha de Pagamento da TOTVS, incluindo o processo de migração para o novo cálculo .NET, as vantagens da nova arquitetura, e detalhes sobre os processos de férias, folha mensal, rescisão e encerramento.
O documento explica o Método do Caminho Crítico (CPM), que identifica o caminho crítico de um projeto através da determinação das datas de início e término mais cedo e mais tarde de cada atividade. Isso permite calcular a folga livre e total de cada atividade e identificar quais atividades estão no caminho crítico e são mais importantes de gerenciar. O documento demonstra o método em um exemplo prático usando diagramas de rede e as ferramentas Microsoft Project e PERT Chart Expert.
O documento descreve um projeto de desenvolvimento de aplicativos móveis para acompanhamento de obras da construtora Queiroz Galvão. O projeto inclui:
1) Aplicativos Android para registro de pontos e eventos na obra através de smartphones/tablets;
2) Um dashboard web para visualização dos dados usando Wildfly e JEE7;
3) Uma equipe multidisciplinar para 17 semanas de desenvolvimento.
1) O documento discute a adoção de métodos ágeis em outsourcing de desenvolvimento de software.
2) É possível aplicar métodos ágeis em outsourcing definindo claramente as responsabilidades e realizando reuniões como planning e retrospectivas.
3) Contratos ágeis com escopo definido em pontos em vez de horas permitem maior flexibilidade para mudanças durante o projeto.
Este documento fornece instruções sobre como realizar cálculos financeiros no Excel, incluindo juros simples, juros compostos, taxas equivalentes, fluxo de caixa, diagramas de fluxo de caixa e mais. Ele também discute como realizar essas operações financeiras na calculadora HP-12C para fins de comparação.
O documento fornece conceitos básicos sobre matemática financeira, incluindo juros simples, juros compostos, capital inicial, taxas de juros, período, montante e como usar a calculadora HP12C para cálculos financeiros.
O documento fornece um resumo sobre conceitos básicos de matemática financeira, incluindo juros simples, juros compostos, capital inicial, taxas de juros, montante, desconto, fluxo de caixa e como usar a calculadora HP12C para cálculos financeiros.
Trabalho proposto pelo professor Mílton Secundino com o objetivo de desenvolver uma aplicação de B.I., descrevendo o passo a passo para a construção da mesma.
Este documento discute a gestão de prazos e custos em projetos. Ele explica como identificar atividades, sequenciá-las, desenhar cronogramas e orçamentos. Inclui exemplos de diagramas de precedência, redes e Gantt para ilustrar o planejamento de prazos e custos.
O documento resume técnicas de refactoring de código, apresentando um exemplo de extração de método onde fragmentos de código são agrupados em métodos com nomes explicativos para tornar a lógica mais clara.
O documento discute métodos para seleção de projetos em administração de projetos. Apresenta cinco processos do ciclo de vida do projeto: iniciação, seleção, planejamento, execução e encerramento. Detalha métodos como priorização, classificação, análise de custo-benefício, modelos de pontuação e fluxo de caixa descontado para avaliar projetos e tomar decisões sobre quais devem ser implementados.
RD Station é uma plataforma SaaS que fornece várias ferramentas de marketing integradas em um único produto, com muitas integrações com serviços como Google Analytics, Twitter, Facebook e Salesforce. O documento discute as vantagens de usar uma Plataforma como Serviço (PaaS), como foco no produto em vez de infraestrutura e agilidade de desenvolvimento. Exemplos de serviços de PaaS como o Heroku são dados.
Análise dos campeões da Corrida de São Silvestre com PythonWilson Freitas
Este documento descreve uma análise dos tempos e desempenhos dos campeões da Corrida de São Silvestre em São Paulo ao longo dos anos usando Python. Ele detalha os passos para limpar e formatar os dados dos campeões, incluindo a conversão de tempos para o formato timedelta e a adição de informações climáticas. O documento também apresenta análises estatísticas descritivas e quantitativas dos dados limpos para explorar relações entre o desempenho dos atletas e variáveis como sexo, nacionalidade e clima.
Um modelo de formação de preços para um mercado artificial com redes neurais ...Wilson Freitas
1. O documento descreve um modelo para formação de preços em um mercado artificial usando redes neurais e regras fuzzy.
2. O objetivo é aprender a regra de formação de preços com base em uma série de preços reais usando redes neurais e extrair regras descritivas usando lógica fuzzy.
3. Os resultados indicam que tanto a rede neural quanto as regras fuzzy foram capazes de aprender o mecanismo de formação de preços e simular o comportamento do mercado de forma semelhante à série real.
Mais conteúdo relacionado
Semelhante a bizdays: Dias Úteis em Qualquer Calendário
Uma estrutura é uma coleção de uma ou mais variáveis, possivelmente de tipos diferentes, colocadas juntas sob um único nome para manipulação conveniente. Por exemplo, para representar um aluno são necessárias as informações nome, matrícula, conceito. Ao invés de criar três variáveis, é possível criar uma única variável contendo três campos. Em C/C++, usa-se a construção struct para representar esse tipo de dado.
Este manual ensina como usar o sistema de gestão de projetos Libreplan, incluindo como criar um novo projeto, adicionar tarefas, atribuir recursos, acompanhar o progresso e gerar relatórios. O manual explica como acessar o sistema pela primeira vez e fornece instruções passo a passo para configurar um projeto de exemplo.
Este documento descreve um plano de recuperação de desastres para uma empresa. Ele identifica as funções e processos chave, dependências internas e externas, e requisitos para a recuperação de pessoal, equipamentos, registos e sistemas. O documento também atribui objetivos de tempo de recuperação e pontos de recuperação para as funções de negócio e analisa os possíveis impactos operacionais de uma interrupção.
Zabbix Conference LatAm 2016 - Paulo Deolindo - Case Study_BBTS and ZabbixZabbix
O documento discute a migração de serviços e servidores entre os data centers da empresa BBTS no Rio de Janeiro e São Paulo. Ele descreve onde a empresa está localizada, seus principais data centers e unidades de negócios, e como o Zabbix está sendo usado para monitorar ativos, serviços e o negócio durante o processo de migração para garantir a disponibilidade e apresentar resultados.
O documento discute o padrão de projeto Strategy para melhorar o design de código. Strategy encapsula comportamentos em classes separadas para que um algoritmo possa ser trocado facilmente. Isso é ilustrado com um exemplo de cálculo de impostos, onde diferentes estratégias de cálculo (classes ICMS e ISS) podem ser usadas por um calculador polimórfico.
Máquina de cálculo Folha de Pagamento versão 11TOTVS Connect
O documento descreve as funcionalidades da Máquina de Cálculo da Folha de Pagamento da TOTVS, incluindo o processo de migração para o novo cálculo .NET, as vantagens da nova arquitetura, e detalhes sobre os processos de férias, folha mensal, rescisão e encerramento.
O documento explica o Método do Caminho Crítico (CPM), que identifica o caminho crítico de um projeto através da determinação das datas de início e término mais cedo e mais tarde de cada atividade. Isso permite calcular a folga livre e total de cada atividade e identificar quais atividades estão no caminho crítico e são mais importantes de gerenciar. O documento demonstra o método em um exemplo prático usando diagramas de rede e as ferramentas Microsoft Project e PERT Chart Expert.
O documento descreve um projeto de desenvolvimento de aplicativos móveis para acompanhamento de obras da construtora Queiroz Galvão. O projeto inclui:
1) Aplicativos Android para registro de pontos e eventos na obra através de smartphones/tablets;
2) Um dashboard web para visualização dos dados usando Wildfly e JEE7;
3) Uma equipe multidisciplinar para 17 semanas de desenvolvimento.
1) O documento discute a adoção de métodos ágeis em outsourcing de desenvolvimento de software.
2) É possível aplicar métodos ágeis em outsourcing definindo claramente as responsabilidades e realizando reuniões como planning e retrospectivas.
3) Contratos ágeis com escopo definido em pontos em vez de horas permitem maior flexibilidade para mudanças durante o projeto.
Este documento fornece instruções sobre como realizar cálculos financeiros no Excel, incluindo juros simples, juros compostos, taxas equivalentes, fluxo de caixa, diagramas de fluxo de caixa e mais. Ele também discute como realizar essas operações financeiras na calculadora HP-12C para fins de comparação.
O documento fornece conceitos básicos sobre matemática financeira, incluindo juros simples, juros compostos, capital inicial, taxas de juros, período, montante e como usar a calculadora HP12C para cálculos financeiros.
O documento fornece um resumo sobre conceitos básicos de matemática financeira, incluindo juros simples, juros compostos, capital inicial, taxas de juros, montante, desconto, fluxo de caixa e como usar a calculadora HP12C para cálculos financeiros.
Trabalho proposto pelo professor Mílton Secundino com o objetivo de desenvolver uma aplicação de B.I., descrevendo o passo a passo para a construção da mesma.
Este documento discute a gestão de prazos e custos em projetos. Ele explica como identificar atividades, sequenciá-las, desenhar cronogramas e orçamentos. Inclui exemplos de diagramas de precedência, redes e Gantt para ilustrar o planejamento de prazos e custos.
O documento resume técnicas de refactoring de código, apresentando um exemplo de extração de método onde fragmentos de código são agrupados em métodos com nomes explicativos para tornar a lógica mais clara.
O documento discute métodos para seleção de projetos em administração de projetos. Apresenta cinco processos do ciclo de vida do projeto: iniciação, seleção, planejamento, execução e encerramento. Detalha métodos como priorização, classificação, análise de custo-benefício, modelos de pontuação e fluxo de caixa descontado para avaliar projetos e tomar decisões sobre quais devem ser implementados.
RD Station é uma plataforma SaaS que fornece várias ferramentas de marketing integradas em um único produto, com muitas integrações com serviços como Google Analytics, Twitter, Facebook e Salesforce. O documento discute as vantagens de usar uma Plataforma como Serviço (PaaS), como foco no produto em vez de infraestrutura e agilidade de desenvolvimento. Exemplos de serviços de PaaS como o Heroku são dados.
Semelhante a bizdays: Dias Úteis em Qualquer Calendário (20)
Análise dos campeões da Corrida de São Silvestre com PythonWilson Freitas
Este documento descreve uma análise dos tempos e desempenhos dos campeões da Corrida de São Silvestre em São Paulo ao longo dos anos usando Python. Ele detalha os passos para limpar e formatar os dados dos campeões, incluindo a conversão de tempos para o formato timedelta e a adição de informações climáticas. O documento também apresenta análises estatísticas descritivas e quantitativas dos dados limpos para explorar relações entre o desempenho dos atletas e variáveis como sexo, nacionalidade e clima.
Um modelo de formação de preços para um mercado artificial com redes neurais ...Wilson Freitas
1. O documento descreve um modelo para formação de preços em um mercado artificial usando redes neurais e regras fuzzy.
2. O objetivo é aprender a regra de formação de preços com base em uma série de preços reais usando redes neurais e extrair regras descritivas usando lógica fuzzy.
3. Os resultados indicam que tanto a rede neural quanto as regras fuzzy foram capazes de aprender o mecanismo de formação de preços e simular o comportamento do mercado de forma semelhante à série real.
Sobre o comportamento endógeno do mercado de ações: simulações e experimentosWilson Freitas
Apresentação sobre o tema da minha tese de mestrado.
Fundamentalmente um modelo de agentes ou microsimulação. A proposta é criar um mercado artificial onde as interações entre os agentes é capaz de produzir uma série temporal de preços com características encontradas em séries temporais observadas nos mercados reais.
Este documento discute algoritmos genéticos e fornece exemplos de sua aplicação. Em particular, descreve como minimizar a função F6 de Schaffer usando um algoritmo genético.
Apreçando Opções Utilizando a Função CaracterísticaWilson Freitas
Apreçamento de opções com vencimento europeu utilizando a função característica via transformada de Fourier. Esta abordagem contempla tanto volatilidade estocástica como volatilidade constante (flat surface).
Fortemente inspirada no livro de Alan Lewis (Option Valuation Under Stochastic Volatility)
O documento descreve um sistema de previsão do mercado de ações de Tóquio usando redes neurais. O sistema utiliza vários indicadores como entrada para redes neurais treinadas para emitir sinais de compra e venda. O sistema foi simulado de 1985 a 1989 e obteve uma taxa de acerto de 62.1% nos sinais emitidos.
Caos Polinomial é uma técnica que expande variáveis aleatórias em termos de polinômios ortogonais de variáveis aleatórias gaussianas. Equações diferenciais estocásticas podem ter suas soluções aproximadas por expansão em caos polinomial, onde os coeficientes determinísticos são obtidos usando o método de Galerkin.
1. : Dias
Úteis em Qualquer Calendário
Grupy-SP—julho/2015
Wilson Freitas
bizdays
(https://pypi.python.org/pypi/bizdays/v0.2.0)
http://aboutwilson.net (http://aboutwilson.net)
@aboutwilson (http://www.twitter.com/aboutwilson)
3. Motivação
O mercado financeiro brasileiro possui diversas particularidas que complicam a simples tarefa de
calcular os preços dos ativos financeiros.
liquidação de contratos de dólar com a cotação do dia anterior
contratos com vencimento fixo ao contrário do resto do mundo que negocia prazos
fixos
regras absurdas para definição de vencimentos
e ...
vigência do contrato em dias úteis, para diferentes calendários
entre outras
Aqui vamos falar sobre como os desafios de lidar com dias úteis foram vencidos utilizando
Python.
4. Contagem de dias úteis
No Brasil as taxas de juros são calculadas em dias úteis
Herança do período inflacionário
O problema é que com as taxas de juros apuradas em dias úteis força que todos os
demais contratos sigam a mesma convenção:
contratos futuros, títulos públicos, opções
Diferentes mercados diferentes regras:
Mercado de derivativos (antiga BM&F) possui um calendário de feriados
Mercado de ações (antiga Bovespa) possui outro calendário
Contratos de moedas utilizam dias corridos
Problema: diferentes ativos precisam lidar com a contagem de dias de forma diferente
5. Módulo python-bizdays
História
A contagem em dias foi desenvolvida para o módulo
bizdaysnasceu em R em set/2013
Foi portado para Python em seguida
Objetivos
Objetivo 1: realizar operações com dias úteis!
Objetivo 2: fazer uma coisa tão simples de usar quanto a função NETWORKDAYSdo
Excel
Objetivo 3: Poder lidar com mais de 1 calendário sem if
python-fixedincome
(https://github.com/wilsonfreitas/python-fixedincome)
6. bizdays in action
In [1]: frombizdaysimportCalendar
holidays=['2015-01-01','2015-02-16','2015-02-17','2015-04-03','2015-04-21',
'2015-05-01','2015-06-04','2015-09-07','2015-10-12','2015-11-02',
'2015-11-15','2015-12-25','2016-01-01']
cal=Calendar(holidays=holidays,weekdays=['Sunday','Saturday'])
In [2]: # Dia do Trabalho é dia útil?
cal.isbizday('2015-05-01')
Out[2]: False
In [3]: # 12/07/2015 (domingo) é dia útil?
cal.isbizday('2015-07-12')
Out[3]: False
In [4]: # 03/08/2015 (sengunda-feira) é dia útil?
cal.isbizday('2015-08-03')
Out[4]: True
7. In [5]: # Quantidade de dias úteis no ano:
cal.bizdays('2015-01-01','2015-12-31')
Out[5]: 249
In [6]: # Quantidade de dias úteis até hoje:
cal.bizdays('2015-01-01','2015-07-16')
Out[6]: 133
In [7]: # Todos os dias úteis em um período, pex primeira quinzena de abril
list(cal.seq('2015-04-01','2015-04-15'))
Out[7]: [datetime.date(2015, 4, 1),
datetime.date(2015, 4, 2),
datetime.date(2015, 4, 6),
datetime.date(2015, 4, 7),
datetime.date(2015, 4, 8),
datetime.date(2015, 4, 9),
datetime.date(2015, 4, 10),
datetime.date(2015, 4, 13),
datetime.date(2015, 4, 14),
datetime.date(2015, 4, 15)]
8. Cálculo de preços de ativos financeiros
Os ativos financeiros tem data de vencimento fixa
Contratos Futuros de taxas de juros (DI1) expiram no dia 01 do mês de
vencimento
Use adjust_next(ou adjust_previous)
In [8]: refdate='2015-03-12'
maturity='2015-05-01'
In [9]: cal.bizdays(refdate,maturity)
Out[9]: 33
In [10]: cal.adjust_next(maturity)
Out[10]: datetime.date(2015, 5, 4)
In [11]: cal.bizdays(refdate,cal.adjust_next(maturity))
Out[11]: 34
9. Também trabalha com vetores de datas (atributo vec:/)
In [12]: refdate='2015-03-12'
maturities=['2015-05-01','2015-06-01','2015-08-01']
In [13]: list(cal.vec.adjust_next(maturities))
Out[13]: [datetime.date(2015, 5, 4),
datetime.date(2015, 6, 1),
datetime.date(2015, 8, 3)]
In [14]: list(cal.vec.bizdays(refdate,list(cal.vec.adjust_next(maturities))))
Out[14]: [34, 54, 98]
10. Manipulando curvas de taxas de juros
In [15]: importpandasaspd
Carregando um calendário em um arquivo
In [16]: !head -6 ANBIMA.cal
Saturday
Sunday
2000-01-01
2000-03-06
2000-03-07
2000-04-21
In [17]: cal252=Calendar.load('ANBIMA.cal')
cal360=Calendar()
11. Carregando taxas de juros divulgadas pela BM&FBovespa
In [18]: url='http://www2.bmf.com.br/pages/portal/bmfbovespa/boletim1/TxRef1.asp'
dfs=pd.read_html(url)
curva=dfs[2].ix[2:]
curva.columns=['DC','Taxa_252','Taxa_360']
curva.index=range(1,len(curva)+1)
curva.dtypes
Out[18]: DC object
Taxa_252 object
Taxa_360 float64
dtype: object
In [19]: curva.head()
Out[19]: DC Taxa_252 Taxa_360
1 1 1364 1340
2 8 1368 1472
3 15 1368 1438
4 16 1368 1473
5 19 1368 1335
12. Separando as curvas
Criar 2 curvas uma de taxas em dias corridos e outra em dias úteis.
In [20]: curva360=pd.DataFrame({'DC':curva['DC'].apply(int),
'Taxa_360':curva['Taxa_252'].apply(lambdax:float(x)/100)})
curva360.head(3)
Out[20]: DC Taxa_360
1 1 13.64
2 8 13.68
3 15 13.68
In [21]: refdate='2015-07-15'
dates=list(cal360.vec.offset(refdate,curva360['DC']))
curva252=pd.DataFrame({'DU':list(cal252.vec.bizdays(refdate,dates)),
'Taxa_252':curva['Taxa_252'].apply(lambdax:float(x)/100)})
curva252.head(3)
Out[21]: DU Taxa_252
1 1 13.64
2 6 13.68
3 11 13.68
13. Definindo vencimentos dos contratos
Maioria dos contratos futuros
Vencimento no primeiro dia de cada mês
In [22]: cal.getdate('first day',2015,1)
Out[22]: datetime.date(2015, 1, 1)
In [23]: cal.getdate('1st day',2015,5)
Out[23]: datetime.date(2015, 5, 1)
Contratos futuros de inflação
Vencimento do dia 15 de cada mês
In [24]: cal.getdate('15th day',2015,7)
Out[24]: datetime.date(2015, 7, 15)
14. Contratos futuros de soja
Vencimento nos segundos dias úteis
In [25]: cal.getdate('2nd bizday',2015,5)
Out[25]: datetime.date(2015, 5, 5)
Contratos futuros de boi gordo
Vencimento no último dia útil do mês
In [26]: cal.getdate('last bizday',2015,5)
Out[26]: datetime.date(2015, 5, 29)
15. Contratos futuros de café
Vencimento do sexto dia útil anterior ao último dia do mês
In [27]: cal.getdate('6th bizday before last day',2015,7)
Out[27]: datetime.date(2015, 7, 23)
Contratos futuros de índice (IBOVESPA)
Vencimento na quarta-feira mais próxima do dia 15 do mês
In [28]: cal.getdate('first wed after 15th day',2015,6)
Out[28]: datetime.date(2015, 6, 17)
In [29]: cal.getdate('first wed before 15th day',2015,6)
Out[29]: datetime.date(2015, 6, 10)
16. Wilson Freitas — http://blog.aboutwilson.net/ (http://blog.aboutwilson.net/)
github (https://github.com/wilsonfreitas)
@aboutwilson (http://www.twitter.com/aboutwilson)