Sobre o projeto

Optopsy é uma biblioteca Python de código aberto voltada para pesquisa e backtesting de opções. Ela fornece funções de estratégias predefinidas para posições de uma perna, straddles, strangles, spreads verticais, borboletas, condors, iron condors, iron butterflies, ratio spreads, covered calls, protective puts, collars, cash-secured puts, calendar spreads e diagonal spreads — 38 estratégias no total, segundo a documentação. Os usuários podem carregar dados de opções a partir de CSV usando mapeamentos de colunas e executar uma estratégia para obter estatísticas de retorno agrupadas por dias até o vencimento e faixa de delta. O simulador cronológico suporta capital inicial, quantidade de negociações, limites de posições simultâneas, controles de DTE de entrada/saída, métodos de seleção de strike, curvas de patrimônio, registros de negociações, taxa de acerto, fator de lucro, rebaixamento máximo e tempo médio de manutenção. Uma função separada de simulação de portfólio permite backtesting ponderado de múltiplas estratégias. Os recursos de gerenciamento de posições incluem saídas por stop-loss, take-profit e máximo de dias de manutenção. A biblioteca pode modelar comissões por meio de estruturas por contrato, base e taxa mínima, e oferece modelos de slippage de preço médio, baseado em spread, baseado em liquidez e por perna. Os relatórios de risco incluem métricas Sharpe, Sortino, VaR, CVaR, Calmar, Omega e tail-ratio. A filtragem de entrada pode usar mais de 80 indicadores de análise técnica por meio do pandas-ta-classic, incluindo RSI, MACD, Bandas de Bollinger, EMA, ATR e IV Rank. Colunas booleanas personalizadas em um DataFrame também podem orientar as entradas. Um sistema de plugins é documentado para adicionar estratégias, sinais e provedores de dados personalizados. O extra opcional de dados instala uma CLI autônoma `optopsy-data` para baixar e armazenar em cache dados históricos de opções e ações. O README identifica o EODHD como uma fonte suportada e observa que os dados de opções são armazenados em cache localmente como arquivos Parquet em `~/.optopsy/cache/`, com atualização incremental e detecção de lacunas. Alguns exemplos de estratégias relacionadas a ações fazem referência ao yfinance. A instalação é feita via PyPI com `pip install optopsy` para a biblioteca principal ou `pip install optopsy[data]` para ferramentas de dados. O projeto declara requisitos de Python 3.12–3.13, Pandas 2.0 ou mais recente e NumPy 1.26 ou mais recente. Documentação, referência de API e exemplos são publicados online. Um projeto relacionado, optopsy-mcp, fornece um servidor MCP baseado em uma reescrita em Rust para integração com LLMs. O repositório inclui um aviso de pesquisa/educação observando que os backtests dependem de dados históricos e suposições simplificadas e podem não capturar liquidez, exercício, slippage ou mudanças nas condições de mercado. O código é licenciado sob a GNU Affero General Public License v3.0.