Sobre o projeto

Finance é um kit de ferramentas de pesquisa em Python, licenciado pelo MIT, para dados de mercado, indicadores técnicos, triagem de ações, estratégias de negociação, backtesting, análise de portfólio, relatórios e modelagem estatística. Ele requer Python 3.12 ou mais recente e é instalado a partir do código-fonte com pip. NumPy e pandas são dependências principais; extras opcionais adicionam dados públicos de mercado, otimização de portfólio e modelos, plotagem e pontuação de sentimento, um aplicativo interativo Streamlit, relatórios e integrações. O módulo de dados pode recuperar dados OHLCV ajustados normalizados e dados intradiários e fornece descoberta Finviz, demonstrações financeiras, calendários, dados de analistas, notícias, transcrições, dados de insiders e universos. As funções de indicadores operam sobre entradas locais explícitas e cobrem médias móveis, momentum, volatilidade, volume, estatísticas móveis, pivôs e amplitude. As análises incluem retornos, análise CAPM e OLS, medidas de risco, índices de demonstrações financeiras, valuation, sazonalidade e sentimento. Os módulos de estratégia e backtesting suportam cruzamento, MACD, Keltner, Ichimoku, reversão por oscilador, pares e estratégias selecionadas cronologicamente. Sinais gerados sobre dados de fechamento podem ser executados na próxima abertura, com o backtester rastreando caixa, ações fracionárias, preenchimentos long e short, comissões, slippage, custos de empréstimo, ordens protetivas, relatórios de negociações FIFO e benchmarks. Ferramentas de portfólio cobrem alocação, otimização com restrições e análise de fronteira, simulação correlacionada e comparação entre aporte único e dollar-cost averaging. Os modelos incluem previsões e baselines, diagnósticos ARIMA, PCA e fatores, regimes, clustering, redes e experimentos opcionais com redes neurais ou Prophet. Os relatórios suportam gráficos de candlestick, mapas de calor, gráficos de equity, saída em CSV e Excel, relatórios HTML e exportações de grafos. As integrações incluem transportes de notificação, pré-visualizações de ordens e um cliente Alpaca opcional. Os exemplos usam entradas sintéticas por padrão, e uma flag live alterna exemplos suportados para dados públicos. A documentação observa que constituintes e fundamentos são snapshots e não dados históricos point-in-time, provedores podem limitar ou alterar esquemas, e experimentos de previsão não alegam vantagem preditiva. Integrações com corretoras e entrega exigem credenciais separadas. O repositório declara que o material é educacional e não constitui aconselhamento profissional de investimento.