Arquitetura
O projeto aborda a arquitetura do motor de renda variável, incluindo:
- Ledgers de Custódia e Financeiro: Gerenciamento de transações e contas.
- Liquidação D+2: Processamento de transações após o fechamento do mercado.
- WAL com io_uring: Sistema de armazenamento de alterações.
- Snapshots EOD: Captura de estado do sistema ao fechar o dia.
- Invariantes de Domínio: Restrições de consistência do sistema.
- Testes: Verificação da funcionalidade do sistema.
Arquitetura Orientada por Invariantes
O projeto implementa uma arquitetura orientada por invariantes, documentando as decisões arquiteturais em ADRs.
Propriedades Esperadas
- Ledgers de Custódia e Financeiro: Transações são registradas e contabilizadas corretamente.
- Liquidação D+2: Transações são processadas corretamente após o fechamento do mercado.
- WAL com io_uring: Alterações são armazenadas de forma consistente.
- Snapshots EOD: Estado do sistema é capturado corretamente ao fechar o dia.
- Invariantes de Domínio: Restrições de consistência do sistema são mantidas.
Testes
O projeto inclui testes unitários e integração para verificar o comportamento do sistema.
Dados de Referência
Existem dados de referência para validar o funcionamento do sistema.
Conclusão
Este projeto em C++23 serve como laboratório para estudar engenharia de sistemas financeiros, C++ moderno, durabilidade, consistência e arquitetura orientada por invariantes.