Realizado

Sprint 4 - Valuation Fiis

Publicado em 13 de Dezembro de 2022 dias na TI e Programação

Sobre este projeto

Aberto

=> Complemento Fundos Imobiliários
https://fiis.com.br/artigos/metodologias-de-valuation-mais-comuns-utilizadas-no-mercado-imobiliario/
https://hcinvestimentos.com/2011/05/18/como-calcular-o-preco-justo-dos-fundos-imobiliarios/
https://docs.google.com/spreadsheets/d/1SaEtb6lkG3MdQaYvyQx1EGqEHoMfkx8lr5uVyfNufEc/edit#gid=1918515738

Fonte: Fundamentus
Tabela: fiis_fundamentus
https://fundamentus.com.br/fii_resultado.php
https://fundamentus.com.br/detalhes.php?papel=Bpml11
qtd imóveis
qtd unidades
imóveis/pl
área(m2)
aluguel/m2
preço_m2
ativos
patrim liquido
segmento
gestão (ativa/passiva)
ffo yield
cap rate
vacância média %
12m_receita
12m_venda_de_ativos
12m_ffo
12m_rendimento_distribuido
3m_receita
3m_venda_de_ativos
3m_ffo
3m_rendimento_distribuido
*composição dos ativos (como é possível extrair isso sendo que a composição varia para cada tipo de fii ???)

fonte: cvm
fundo ativo ou inativo (não confundir com gestão)



extensão => valuation fiis:

tabela: fii_valuation

inserir/criar colunas:
rank = 'rnk_'
    - valorm2mercado/valorm2patrimonial (fator)
    - rank_vlm2mkt_patrim (quanto menor valor, menor nº rank => rank=1 é o melhor)
    - rank_qtd ativos (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_ind_passivo_ativo (quanto menor valor, menor nº rank => rank=1 é o melhor)
    - rank_ind_cx_vlmercado (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_ind_cx_vp (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_renda_m2 (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_ind_upside_vp (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_vacanc_financ (quanto menor valor, menor nº rank => rank=1 é o melhor)
    - rank_vacanc_fisica (quanto menor valor, menor nº rank => rank=1 é o melhor)
    - rank_var_30d (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_var_03m (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_var_06m (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_var_12m (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_var_mes_mtd (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_var_ano_ytd (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_var_ipo_cota (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_var_ipo_cota_provent (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_venc_contrat_03m (quanto menor valor, menor nº rank => rank=1 é o melhor)
    - rank_venc_contrat_03_12m (quanto menor valor, menor nº rank => rank=1 é o melhor)
    - rank_venc_contrat_24_36m (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_venc_contrat_36m (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_yield_12m_bsc (quanto maior valor, menor nº rank => rank=1 é o melhor) => bsc ? é 'baseado no último rendimento'. Por que BSC ?
    - Rank_yield_01m (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_yield_03m (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_yield_06m (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_yield_12m (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_yield_ipo (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_liq_medmes_dia (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_liq_medmes_ant (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_liq_meddia_20d (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_liq_medmes_atual (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_liq_medmes_ant (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_liq_meddia_20d (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_liq_dia_ultimos20d (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_liq_dia_ultimos05d (quanto maior valor, menor nº rank => rank=1 é o melhor)
    - rank_volnegociado_dia (quanto maior valor, menor nº rank => rank=1 é o melhor)
    
    - fundamentus (dados que não constam na fii_clube_fundos)
    - ffo yield  (e coluna rank: maior valor, menor nº rank => melhor)
    - ffo / cota
    - dividendo/cota
    - qtd imóveis (e coluna rank: maior valor, menor nº rank => melhor)
    - qtd unidades (e coluna rank: maior valor, menor nº rank => melhor)
    - imóveis/pl
    - cap rate (e coluna rank: maior valor, menor nº rank => melhor)
    - vacância média (e coluna rank: menor valor, menor nº rank => melhor)


    1) ranking_dy_pvpa = dy x [1/(p/vpa)] x 100
    exemplo:
    dy = 6% (0,06)
    p/vpa = 0,9
    rank = [0,06 * (1/0,9)] * 100
    ordenar de forma decrescente (quanto maior, melhor)
    sobe dy => sobe valor do rank
    menor p/vpa => sobe valor do rank
    criar coluna rnk_dy_pvpa  (quanto maior valor, menor nº rank => rank=1 é o melhor)
    
    2) inflação vs dy
    - taxa de inflação da tabela te_matrix coluna interest_rate_perc - brazil
    - comparar com fii_clube_fundos coluna yield_12m na forma de fator: 
    - criar então a coluna dy/inflacao.
    - Criar coluna Rank_dy_inflacao  (quanto maior valor, menor nº rank => rank=1 é o melhor)

    3) tesouro ipca curto + inflação vs dy
    - taxa de inflação da tabela te_matrix coluna interest_rate_perc - brazil
    - taxa fixa da tabela td_precos_taxas coluna 'rentabilidade_anual_perc'
    - somar ambas (inflação últimos 12m da tabela te_matrix + parte fixa do tesouro ipca mais curto)
    - criar então a coluna dy/tdipca.
    - Criar coluna Rank_dy_tdipca  (quanto maior valor, menor nº rank => rank=1 é o melhor)

    4) slope var
    - calcula coeficiente ou ângulo de inclinação da reta de regressão linear considerando os campos:
    - var 30d, var03m, var06m, var12m  (se tiver var_semana seria interessante)
    incluinação positiva = tendência de alta
    inclinação negativa = tendência de baixa
    
    5) slope price (idem slope var)
    
    6) slope yield
    - calcula coeficiente ou ângulo de inclinação da reta de regressão linear considerando os campos:
    - yield 01m, yield_03m, yield_06m, yield_12m  (se tiver yield_semana seria interessante)
    incluinação positiva = tendência de alta
    inclinação negativa = tendência de baixa

    6) colunas de análise técnica:
    d_movavg, d_oscillat, s_movavg, s_oscillat, m_movavg, m_oscillat (da tabela tv_recom_indicator_type)
    d_recom, s_recom, m_recom (da tabela recommendation_total)

    7) métodos de valuation de gordon (que vc já construiu em seu sistema)
    https://www.fiis.com.br/artigos/metodologias-de-valuation-mais-comuns-utilizadas-no-mercado-imobiliario/
    
    8) Modelo de precificação extra
    https://hcinvestimentos.com/2011/05/18/como-calcular-o-preco-justo-dos-fundos-imobiliarios/
    
Para 7 e 8, considerar imposto de renda 20%.

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Alteração média
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Integrações de API Cloud Storage (Dropbox, Google Drive, etc), Outros (Outras APIs)
Funções necessárias Desenvolvedor

Prazo de Entrega: Não estabelecido

Habilidades necessárias