Manual de instalação e execução do desafio de investimento
Caso ainda não tenha o python instalado na sua máquina, instale por meio do link: https://www.python.org/downloads/ juntamente com seu gerenciador pacotes pip.
Após a instalação do python e do pip, execute as linhas de comando abaixo em seu terminal. A primeria é responsável por instalar pacotes python e a segunda executará o programa:
python3 -m venv env
source env/bin/activate
pip install -r requirements.txt
python3 main.py
Você pode encontrar informações do problema no arquivo "Desafio Bootcamp OTM ENACOM.pdf"
A resolução se dá por meio de uma inspiração no problema clássico da computação, chamado "Problema da Mochila" que é um problema de otimização onde busca-se maximizar os itens dentro de uma mochila, sendo conhecidas as: capacidade da mochila, peso e valor dos itens.
A resolução foi adaptada para obedecer as seguintes restrições:
- Você possui R$ 2.400.00,00 para comprar investimentos.
- Você não pode ultrapassar o valor de R$ 1.200.000,00 em investimento de risco baixo, R$ 1.500.000,00 em investimentos de risco médio e R$ 900.000,00 em investimentos de risco alto.
Além do algoritmo para resolução do problema, o aplicativo conta com uma interface gráfica para usuário conseguir manipular mais facilmente.
As tecnologias utilizadas para resolução deste problema e interface de usuário:
- Python
- Pandas
- Numpy
- Tkinter
- Criar apresentação
- Utilizar numpy
- Criar front para pegar dado de usuário
- Fazer tratamento de erros e excessões
- Validar respostas de usuários
- Conectar back com front
- Criar ambiente virtual e fazer instalações manualmente
- Decidir o que visualizar
- Criar possibilidade de adicionar dados
- Salvar quais investimentos foram usados em um arquivo CSV
- Implementar funções otimizadoras para 'Baixo' e 'Médio'
- Criar algum tipo de front-end para aplicação (interface gráfica ou web)
- Redução de dimensionalidade e redundância de código
- Implementar primeiros otimizadores
- Salvar dados em um CSV
- Implementar condicionais (garantir restrições)
- Colocar em OO