Outros sites Medialivre
Caldeirão da Bolsa

Programação para Finanças (R/Python)

Espaço dedicado a todo o tipo de troca de impressões sobre os mercados financeiros e ao que possa condicionar o desempenho dos mesmos.

Re: Programação em R para Finanças

por VirtuaGod » 8/7/2017 19:08

Já agora aproveitem e actualizem o XTS :wink:

:arrow: xts 0.10-0 on CRAN!

A new, and long overdue, release of xts is now on CRAN! The major change is the completely new plot.xts() written by Michael Weylandt and Ross Bennett, and which is based on Jeff Ryan's quantmod::chart_Series code.
Artigos e estudos: Página repositório dos meus estudos e análises que vou fazendo. Regularmente actualizada. É costume pelo menos mais um estudo por semana. Inclui a análise e acompanhamento das carteiras 4 e 8Fundos.
Portfolio Analyser: Ferramenta para backtests de Fundos e ETFs Europeus

"We don’t need a crystal ball to be successful investors. However, investing as if you have one is almost guaranteed to lead to sub-par results." The Irrelevant Investor
Avatar do Utilizador
 
Mensagens: 5707
Registado: 20/11/2002 21:56
Localização: Porto

Re: Programação em R para Finanças

por FredericoRocha » 8/7/2017 18:29

Boa, obrigado!
 
Mensagens: 235
Registado: 11/8/2016 14:08

Re: Programação em R para Finanças

por VirtuaGod » 8/7/2017 13:30

Actualiza o quantmod.

Mais info aqui:

https://github.com/joshuaulrich/quantmod/issues/149

Testei recentemente e praticamente voltou ao normal (digo praticamente porque aparentemente há dias que os dados estão errados, embora estivessem certos quando os saquei há cerca de 15 dias).
Artigos e estudos: Página repositório dos meus estudos e análises que vou fazendo. Regularmente actualizada. É costume pelo menos mais um estudo por semana. Inclui a análise e acompanhamento das carteiras 4 e 8Fundos.
Portfolio Analyser: Ferramenta para backtests de Fundos e ETFs Europeus

"We don’t need a crystal ball to be successful investors. However, investing as if you have one is almost guaranteed to lead to sub-par results." The Irrelevant Investor
Avatar do Utilizador
 
Mensagens: 5707
Registado: 20/11/2002 21:56
Localização: Porto

Re: Programação em R para Finanças

por FredericoRocha » 29/6/2017 20:54

Voltei a andar a brincar com R. Criei um pequeno programa que gera sinais de "Buy, Hold or Sell" com base no algoritmo simplista do "Fuzzy Search".

Para quem quiser dar uma vista de olhos:

https://github.com/FredericoRocha/FuzzySearchStocks

De um modo muito simples olhos para 3 valores (MACD, RSI e MA100) e com base nisso cria um sinal.

Mas entretanto o meu programa deixou de funcionar porque a Yahoo Finance deixou de disponibilizar a sua API para obter dos dados. O quê que vocês utilizam agora? Google Finance? Alguma API gratuita que recomendem?
 
Mensagens: 235
Registado: 11/8/2016 14:08

Re: Programação em R para Finanças

por VirtuaGod » 26/6/2017 23:42

Tenho andado a estudar a biblioteca "lubridate" e é simplesmente fantástica (como tudo do tidyverse e amigos)

Pegando no código acima para transformar os strings em datas:

Código: Selecionar todos
#Base R
FCI$Date <- as.Date(FCI$Date, format = "%Y-%m-%d")


é apenas:

Código: Selecionar todos
#Using Lubridate
FCI$Date <-ymd(FCI$Date)


Isto é apenas uma das funcionalidades. Já simplifica bastante, pois não interessa se a data é "2014-05-07", "14-05-07", "2014/05/07", "20140507", "2014.05.07" ou até "2014, May, 7", a função ymd funciona sempre. As funções são as diferentes combinações de ymd (y = year, m = month e d = day) como mdy ou dmy.

Só se tem que dizer a ordem em que estão e o software faz o resto.
Artigos e estudos: Página repositório dos meus estudos e análises que vou fazendo. Regularmente actualizada. É costume pelo menos mais um estudo por semana. Inclui a análise e acompanhamento das carteiras 4 e 8Fundos.
Portfolio Analyser: Ferramenta para backtests de Fundos e ETFs Europeus

"We don’t need a crystal ball to be successful investors. However, investing as if you have one is almost guaranteed to lead to sub-par results." The Irrelevant Investor
Avatar do Utilizador
 
Mensagens: 5707
Registado: 20/11/2002 21:56
Localização: Porto

Re: Programação em R para Finanças

por SFT » 18/6/2017 10:07

O do Portilla é um deles. Vi que o aconselhaste o mesmo logo no princípio.

https://www.udemy.com/draft/101960/learn/v4/overview

https://www.udemy.com/comprcourse/learn/v4/overview

https://www.udemy.com/data-science-and-machine-learning-bootcamp-with-r/learn/v4/overview

https://www.udemy.com/stock-technical-analysis-with-r/learn/v4/overview

https://www.udemy.com/r-basics/learn/v4/overview (este é muito básico mesmo)

No outro dia comprei este

https://www.fca.pt/pt/catalogo/informatica/bases-de-dados-sistemas-inteligentes/analise-e-exploracao-de-dados-com-r/

Mas acho.o muito básico (básico porque fico com questões em algumas partes).

É bom para uma leitura rápida, de apoio. Vou insistir pela net.

Em tempos, pelo coursera encontrei este site e autor https://leanpub.com/u/rdpeng. Deixa a pessoa pagar o que quiser dentro de um limite de preços.

Obrigado pela ajuda e atenção :)

Abc!

P.S.: Não sei de Python, apenas é uma linguagem de interesse, mas apenas lá mais para a frente, para um conjunto de projectos pessoais para os quais espero vir a ter tempo :)
Quando a esmola é muita, o pobre desconfia.
Avatar do Utilizador
 
Mensagens: 1278
Registado: 20/5/2014 19:02

Re: Programação em R para Finanças

por VirtuaGod » 18/6/2017 1:37

SFT Escreveu:NJá me meti nuns cursos do udemy, deixa ver no que dá

Espero que tenhas escolhido o do Portilla ou o do Kirill e não tenhas pago mais de 15 euros.

Se sabes/aprendeste python tb tens este que deve ser mais simples para quem sabe python e me parece bastante desenvolvido:
https://www.udemy.com/python-for-financ ... analytics/

O livro perfeito para ti se calhar era este:

https://www.amazon.com/Excel-Users-Intr ... ZS33VWFWQ3 (para veres as reviews)
https://www.bookdepository.com/R-for-Ex ... 107&sr=1-1 (17.6 euros com portes incluídos)
Artigos e estudos: Página repositório dos meus estudos e análises que vou fazendo. Regularmente actualizada. É costume pelo menos mais um estudo por semana. Inclui a análise e acompanhamento das carteiras 4 e 8Fundos.
Portfolio Analyser: Ferramenta para backtests de Fundos e ETFs Europeus

"We don’t need a crystal ball to be successful investors. However, investing as if you have one is almost guaranteed to lead to sub-par results." The Irrelevant Investor
Avatar do Utilizador
 
Mensagens: 5707
Registado: 20/11/2002 21:56
Localização: Porto

Re: Programação em R para Finanças

por SFT » 18/6/2017 1:13

Numa das aulas de introdução de Python do MIT, a senhora diz que se algo é programável numa linguagem então é programável em todas as outras.

Não tiro valor ao R, mas por enquanto ainda estou formatado para o VBA.

É uma questão de tempo até ganhar jeito nisto. Já me meti nuns cursos do udemy, deixa ver no que dá. Acho que estou a complicar porque penso que tenho q fazer passo a passo, como o VBA, ignorando as funções já existentes.

Obg pela atenção :)

Abc!
Quando a esmola é muita, o pobre desconfia.
Avatar do Utilizador
 
Mensagens: 1278
Registado: 20/5/2014 19:02

Re: Programação em R para Finanças

por VirtuaGod » 18/6/2017 0:31

SFT Escreveu:Ahahah

Ando para aqui numa luta...

Pelo quantmod?!

Provavelmente a forma mais simples.

Passo 1: Importar
Passo 2: Transformar em xts
Passo 3: https://www.rdocumentation.org/packages ... /endpoints

SFT Escreveu:Também já tenho outra questão:
. se há a hipótese de fazer módulos (o VBA tem isto) já com código escrito, que dá para aproveitar noutros ficheiros de R (sem ter de escrever tudo de novo)?

Não é isso que os packages são? :wink:
Acho que não há nada que o excel faça que o R não faça 10 vezes melhor :mrgreen: :mrgreen: :mrgreen:
Artigos e estudos: Página repositório dos meus estudos e análises que vou fazendo. Regularmente actualizada. É costume pelo menos mais um estudo por semana. Inclui a análise e acompanhamento das carteiras 4 e 8Fundos.
Portfolio Analyser: Ferramenta para backtests de Fundos e ETFs Europeus

"We don’t need a crystal ball to be successful investors. However, investing as if you have one is almost guaranteed to lead to sub-par results." The Irrelevant Investor
Avatar do Utilizador
 
Mensagens: 5707
Registado: 20/11/2002 21:56
Localização: Porto

Re: Programação em R para Finanças

por SFT » 17/6/2017 23:09

Ahahah

Ando para aqui numa luta...

Pelo quantmod?

Neste momento sei um importar um txt e alterar o nome das colunas e tirar colunas :P

Também já tenho outra questão:
. se há a hipótese de fazer módulos (o VBA tem isto) já com código escrito, que dá para aproveitar noutros ficheiros de R (sem ter de escrever tudo de novo)?

Abc!
Quando a esmola é muita, o pobre desconfia.
Avatar do Utilizador
 
Mensagens: 1278
Registado: 20/5/2014 19:02

Re: Programação em R para Finanças

por VirtuaGod » 17/6/2017 20:25

SFT Escreveu:Não quero saber como, mas é fácil transformar cotações diárias em cotações semanais?

Uma linha de código :D
Artigos e estudos: Página repositório dos meus estudos e análises que vou fazendo. Regularmente actualizada. É costume pelo menos mais um estudo por semana. Inclui a análise e acompanhamento das carteiras 4 e 8Fundos.
Portfolio Analyser: Ferramenta para backtests de Fundos e ETFs Europeus

"We don’t need a crystal ball to be successful investors. However, investing as if you have one is almost guaranteed to lead to sub-par results." The Irrelevant Investor
Avatar do Utilizador
 
Mensagens: 5707
Registado: 20/11/2002 21:56
Localização: Porto

Re: Programação em R para Finanças

por SFT » 17/6/2017 20:06

Não quero saber como, mas é fácil transformar cotações diárias em cotações semanais?
Quando a esmola é muita, o pobre desconfia.
Avatar do Utilizador
 
Mensagens: 1278
Registado: 20/5/2014 19:02

Re: Programação em R para Finanças

por VirtuaGod » 16/6/2017 15:03

A única forma é fazeres um ficheiro HTML com o Knit.

Fazes "File" > "New File" > "R Markdown". A extensão do ficheiro quando gravado deverá ser Rmd. Em vez de fazeres "source" fazes Knit ao script (tem um botão próprio ao lado da lupa). Os meus "posts" no RPubs são feitos assim.

O código do Script é:

Código: Selecionar todos
---
title: "My First Script"
author: "Virtua"
date: "16 de Junho de 2017"
output: html_document
---

```{r setup, include=FALSE}
library("PART")
library("lubridate")
library("xts")
library("stringr")
library("plotly")
library("SIT")

Begin_End <- "2007-12-31/2017-12-31" # Data de início e fim

# Download do Fidelity Consumer Industries
getFI_best("F0GBR04EAN", Begin_End = Begin_End)

FCI <- F0GBR04EAN  # Cria um objecto com o nome FCI igual a F0GBR04EAN
remove(F0GBR04EAN) # Apaga F0GBR04EAN do environment

# Transformar  FCI de um objecto XTS para uma dataframe
FCI <- as.data.frame(FCI)
# Fazer uma segunda coluna igual à primeira
FCI[, 2] <- FCI[, 1]
# Substituir a actual coluna 1 pelo nome das linhas
FCI[, 1] <- rownames(FCI)
# Dar nome às colunas
colnames(FCI) <- c("Date", "Price")
# Transformar o coluna 1 em datas
FCI$Date <- as.Date(FCI$Date, format = "%Y-%m-%d")
# Transformar a coluna 2/"Price" em character
FCI$Price <- as.character(FCI$Price)
# Transformar a coluna 2/"Price" num valor numérico
FCI$Price <- as.numeric(FCI$Price)

# Calcular os valores do drawdown
FCI$Price.DD <- compute.drawdown(FCI$Price)
# Multiplicar os valores por 100 para dar em percentagens
FCI$Price.DD <- FCI$Price.DD * 100
# Arredondar os valores para duas casas decimais
FCI$Price.DD <- round(FCI$Price.DD, 2)

```

```{r, echo=FALSE, fig.width=10, fig.height=5}
# Fazer o gráfico
plot_ly(FCI, x = ~Date, y = ~Price, type = 'scatter', mode = 'lines')
```

```{r, echo=FALSE, fig.width=10, fig.height=3}
# Fazer o gráfico dos drawdowns
plot_ly(FCI, x = ~Date, y = ~Price.DD, type = 'scatter', mode = 'lines',
        line = list(color =    c('#FF0000')))
```
Artigos e estudos: Página repositório dos meus estudos e análises que vou fazendo. Regularmente actualizada. É costume pelo menos mais um estudo por semana. Inclui a análise e acompanhamento das carteiras 4 e 8Fundos.
Portfolio Analyser: Ferramenta para backtests de Fundos e ETFs Europeus

"We don’t need a crystal ball to be successful investors. However, investing as if you have one is almost guaranteed to lead to sub-par results." The Irrelevant Investor
Avatar do Utilizador
 
Mensagens: 5707
Registado: 20/11/2002 21:56
Localização: Porto

Re: Programação em R para Finanças

por LoneWolf » 16/6/2017 12:14

Testei o codigo todo e funcionou!

Agora, confesso nao entender bem o q é o segundo gráfico. Sao os períodos em q a o preço desce?

Por ulitmo, como é que faço para abrir os dois graficos ao mesmo tempo? (ou em 2 janelas separadas ou no mesmo grafico). Quando faço no script, por exemplo,
Código: Selecionar todos
print (plot_ly(FCI, x = ~Date, y = ~Price, type = 'scatter', mode = 'lines')) # Faz o gráfico

Ele abre-me o grafico automaticamente na tab "Viewer".

Cumprimentos,
LW
Avatar do Utilizador
 
Mensagens: 1333
Registado: 29/4/2015 16:02

Re: Programação em R para Finanças

por VirtuaGod » 15/6/2017 13:26

Força :D

Passo seguinte é construção de uma carteira com 2 fundos. Com gráfico de valorização e de Drawdowns :wink:
Artigos e estudos: Página repositório dos meus estudos e análises que vou fazendo. Regularmente actualizada. É costume pelo menos mais um estudo por semana. Inclui a análise e acompanhamento das carteiras 4 e 8Fundos.
Portfolio Analyser: Ferramenta para backtests de Fundos e ETFs Europeus

"We don’t need a crystal ball to be successful investors. However, investing as if you have one is almost guaranteed to lead to sub-par results." The Irrelevant Investor
Avatar do Utilizador
 
Mensagens: 5707
Registado: 20/11/2002 21:56
Localização: Porto

Re: Programação em R para Finanças

por LoneWolf » 15/6/2017 13:18

VG,
Grande iniciativa!

Terei todo o gosto em testar isto. Provavelmente amanhã ou, se nao, apenas no domingo.

Cumps,
LW
Avatar do Utilizador
 
Mensagens: 1333
Registado: 29/4/2015 16:02

Re: Programação em R para Finanças

por VirtuaGod » 15/6/2017 13:06

Por causa da construção do site e eu da minha paragem em programação vou fazer um scipt do 0 para testar o que quero fazer no site, antes de transferir. Irei documentar a minha evolução e scripts, esperando que alguém me acompanhe neste mundo.

Passo 1

Instalar ou actualizar os vários pacotes que vamos usar:

Passem o seguinte código para um script e comecem a correm uma linha de cada vez (assumo que já estão com o RStudio instalado)

Código: Selecionar todos
install.packages("lubridate")
install.packages("xts")
install.packages("stringr")
install.packages("plotly")
install.packages("PerformanceAnalytics")
install.packages("dplyr")
install.packages("devtools")
install.packages("curl")

#### Instalar pacotes especiais que não estão na CRAN ####
library("devtools")
library("curl")
install_github('systematicinvestor/SIT.date')
curl_download('https://github.com/systematicinvestor/SIT/raw/master/SIT.tar.gz', 'sit',mode = 'wb',quiet=T)
install.packages('sit', repos = NULL, type='source')
install_github("PortfolioAnalyser/PART")

Aconselho a instalarem um de cada vez para ver se corre tudo bem, ou sabe onde falhou

Passo 2

O Objectivo é fazer o download e o gráfico do Fidelity Consumer Industries assim como dos respectivos drawdowns. Mas antes vamos abrir um script novo e colocar as bibliotecas que são necessárias no topo:
Código: Selecionar todos
library("PART")
library("lubridate")
library("xts")
library("stringr")
library("plotly")
library("SIT")

Passo 3

Escolher as datas de início e fim do gráfico. No meu caso seleccionei como início 2007-12-31 e como fim 2017-06-15
Código: Selecionar todos
Begin_End <- "2007-12-31/2017-12-31" # Data de início e fim

Passo 4

Fazer o Download do Fidelity Consumer industries usando o pacote que fiz, o Portfolio Analyser R Toolbox. Para fazerem o download precisam de dizer o MSid do fundo assim como o Begin_End do gráfico
Código: Selecionar todos
getFI_best("F0GBR04EAN", Begin_End = Begin_End)

Vou dar o nome FCI ao objecto e apagar o objecto com o nome igual ao MSid
Código: Selecionar todos
FCI <- F0GBR04EAN
remove(F0GBR04EAN)

Passo 5

Vamos fazer os gráficos usando o plotly, que é uma biblioteca gráfica interactiva open source que é o que uso no site. Para isso serão precisos algumas transformações porque o plotly não trabalha com ficheiros XTS (como o FCI está agora), mas sim com Dataframes (tabelas estilo excel). Se correrem um class(FCI) na consola a resposta deverá ser xts/zoo.~

Código: Selecionar todos
FCI <- as.data.frame(FCI) # Transformar  FCI de um objecto XTS para uma dataframe

Em seguida, e para data frame ficar idêntico ao xts temos de "puxar" o nome das colunas e criar uma coluna com esses nomes. Vamos fazer algumas transformações para que isso aconteça:

Código: Selecionar todos
# Fazer uma segunda coluna igual à primeira
FCI[, 2] <- FCI[, 1]
# Substituir a actual coluna 1 pelo nome das linhas
FCI[, 1] <- rownames(FCI)
# Dar nome às colunas
colnames(FCI) <- c("Date", "Price")
# Transformar o coluna 1 em datas
FCI$Date <- as.Date(FCI$Date, format = "%Y-%m-%d")
# Transformar a coluna 2/"Price" em character
FCI$Price <- as.character(FCI$Price)
# Transformar a coluna 2/"Price" num valor numérico
FCI$Price <- as.numeric(FCI$Price)

Se fizerem tail(FCI) na consola deverá aparecer algo semelhante a isto:

> tail(FCI)
Date Price
2017-06-07 2017-06-07 52.80
2017-06-08 2017-06-08 52.52
2017-06-09 2017-06-09 52.59
2017-06-12 2017-06-12 51.91
2017-06-13 2017-06-13 52.10
2017-06-14 2017-06-14 51.98


Confirmem que as classes são as pretendidas fazendo class(FCI$Date) e class(FCI$Price) que deverá dar "Date" e "numeric" respectivamente.

Se estiver tudo ok é só fazerem o gráfico:

Código: Selecionar todos
plot_ly(FCI, x = ~Date, y = ~Price, type = 'scatter', mode = 'lines') # Faz o gráfico

Como podem ver é bastante simples fazer o gráfico. Dizem o que estará no eixo dos Xs, o que estará no eixo dos Ys e que é uma linha.

O output já é bastante bonito, para além de completamente interactivo:

Imagem

Passo 6

Vamos agora fazer os drawdowns

Código: Selecionar todos
# Calcular os valores do drawdown
FCI$Price.DD <- compute.drawdown(FCI$Price)
# Multiplicar os valores por 100 para dar em percentagens
FCI$Price.DD <- FCI$Price.DD * 100
# Arredondar os valores para duas casas decimais
FCI$Price.DD <- round(FCI$Price.DD, 2)

Passo 7
Fazer o gráfico, com a linha a vermelho, porque são os drawdowns e não queremos confundir com as cotações
Código: Selecionar todos
# Fazer o gráfico dos drawdowns
plot_ly(FCI, x = ~Date, y = ~Price.DD, type = 'scatter', mode = 'lines',
        line = list(color =    c('#FF0000')))

De novo já sai um gráfico bonito e interactivo:
Imagem

Código Completo:

Código: Selecionar todos
library("PART")
library("lubridate")
library("xts")
library("stringr")
library("plotly")
library("SIT")

Begin_End <- "2007-12-31/2017-12-31" # Data de início e fim

# Download do Fidelity Consumer Industries
getFI_best("F0GBR04EAN", Begin_End = Begin_End)

FCI <- F0GBR04EAN  # Cria um objecto no com nome FCI igual a F0GBR04EAN
remove(F0GBR04EAN) # Apaga F0GBR04EAN do environment

# Transformar  FCI de um objecto XTS para uma dataframe
FCI <- as.data.frame(FCI)
# Fazer uma segunda coluna igual à primeira
FCI[, 2] <- FCI[, 1]
# Substituir a actual coluna 1 pelo nome das linhas
FCI[, 1] <- rownames(FCI)
# Dar nome às colunas
colnames(FCI) <- c("Date", "Price")
# Transformar o coluna 1 em datas
FCI$Date <- as.Date(FCI$Date, format = "%Y-%m-%d")
# Transformar a coluna 2/"Price" em character
FCI$Price <- as.character(FCI$Price)
# Transformar a coluna 2/"Price" num valor numérico
FCI$Price <- as.numeric(FCI$Price)

# Fazer o gráfico
plot_ly(FCI, x = ~Date, y = ~Price, type = 'scatter', mode = 'lines')

# Calcular os valores do drawdown
FCI$Price.DD <- compute.drawdown(FCI$Price)
# Multiplicar os valores por 100 para dar em percentagens
FCI$Price.DD <- FCI$Price.DD * 100
# Arredondar os valores para duas casas decimais
FCI$Price.DD <- round(FCI$Price.DD, 2)

# Fazer o gráfico dos drawdowns
plot_ly(FCI, x = ~Date, y = ~Price.DD, type = 'scatter', mode = 'lines',
        line = list(color =    c('#FF0000')))

P.S. Vou tentar transformar isto num bookdown que fica bem mais bonito. E é um software que pretendo aprender e aproveito o útil ao agradável.
Artigos e estudos: Página repositório dos meus estudos e análises que vou fazendo. Regularmente actualizada. É costume pelo menos mais um estudo por semana. Inclui a análise e acompanhamento das carteiras 4 e 8Fundos.
Portfolio Analyser: Ferramenta para backtests de Fundos e ETFs Europeus

"We don’t need a crystal ball to be successful investors. However, investing as if you have one is almost guaranteed to lead to sub-par results." The Irrelevant Investor
Avatar do Utilizador
 
Mensagens: 5707
Registado: 20/11/2002 21:56
Localização: Porto

Re: Programação em R para Finanças

por VirtuaGod » 9/6/2017 12:28

Varendia Escreveu:Ja calculava correlacoes e faco saida em tabela

Biblioteca interessante para correlações:

https://cran.r-project.org/web/packages ... intro.html

Nem sei se hei-de usar esta ou o ggplot2 no site!
Artigos e estudos: Página repositório dos meus estudos e análises que vou fazendo. Regularmente actualizada. É costume pelo menos mais um estudo por semana. Inclui a análise e acompanhamento das carteiras 4 e 8Fundos.
Portfolio Analyser: Ferramenta para backtests de Fundos e ETFs Europeus

"We don’t need a crystal ball to be successful investors. However, investing as if you have one is almost guaranteed to lead to sub-par results." The Irrelevant Investor
Avatar do Utilizador
 
Mensagens: 5707
Registado: 20/11/2002 21:56
Localização: Porto

Re: Programação em R para Finanças

por VirtuaGod » 9/6/2017 12:26

Pimba, mais um...
Anexos
Capture.PNG
Capture.PNG (115.27 KiB) Visualizado 11294 vezes
Artigos e estudos: Página repositório dos meus estudos e análises que vou fazendo. Regularmente actualizada. É costume pelo menos mais um estudo por semana. Inclui a análise e acompanhamento das carteiras 4 e 8Fundos.
Portfolio Analyser: Ferramenta para backtests de Fundos e ETFs Europeus

"We don’t need a crystal ball to be successful investors. However, investing as if you have one is almost guaranteed to lead to sub-par results." The Irrelevant Investor
Avatar do Utilizador
 
Mensagens: 5707
Registado: 20/11/2002 21:56
Localização: Porto

Re: Programação em R para Finanças

por LoneWolf » 8/6/2017 16:46

Boa VG! Parabens! :D
Avatar do Utilizador
 
Mensagens: 1333
Registado: 29/4/2015 16:02

Re: Programação em R para Finanças

por VirtuaGod » 8/6/2017 16:41

\:D/ \:D/ \:D/
Anexos
Capture.PNG
Capture.PNG (145.6 KiB) Visualizado 11340 vezes
Artigos e estudos: Página repositório dos meus estudos e análises que vou fazendo. Regularmente actualizada. É costume pelo menos mais um estudo por semana. Inclui a análise e acompanhamento das carteiras 4 e 8Fundos.
Portfolio Analyser: Ferramenta para backtests de Fundos e ETFs Europeus

"We don’t need a crystal ball to be successful investors. However, investing as if you have one is almost guaranteed to lead to sub-par results." The Irrelevant Investor
Avatar do Utilizador
 
Mensagens: 5707
Registado: 20/11/2002 21:56
Localização: Porto

Re: Programação em R para Finanças

por Varendia » 19/5/2017 12:27

Mais um fim de semana para ver se avanco alguma coisa!!
"Strategy without tactics is the slowest route to victory. Tactics without strategy is the noise before defeat." Sun Tzu
 
Mensagens: 215
Registado: 10/12/2012 12:12

Re: Programação em R para Finanças

por VirtuaGod » 19/5/2017 12:06

Varendia Escreveu:Nao quero fazer uma 'app', so quero fazer um output tipo dashboard como o que tenho em excel... nao sei se porventura um shiny dashboard acaba por ser uma app. :?

Shiny apps é o nome que lhes dão. Não tem nada a haver com apps de smartphones. Acaba sempre por ser um dashboard. Émuito mais agradável de trabalhar e é só colocares os inputs mas tb é mais complicado de fazer (o equivalente a fazer um excel a martelo (código puro) vs um excel cheio de ligações em que alterares um input recalcula tudo nas outras páginas (shiny apps)). Na verdade os shiny apps ainda seriam mais complexos porque tens de fazer o layout/GUI, mas... vale a pena :wink:

DD <- as.vector(PerformanceAnalytics:::Drawdowns(excessRtn)) #se os returns estiverem ja em %

Já resolvi isso há uns meses :mrgreen: O SIT tem uma função calculate.Dradowns que os faz praticamente instantaneamente (em xts).
Artigos e estudos: Página repositório dos meus estudos e análises que vou fazendo. Regularmente actualizada. É costume pelo menos mais um estudo por semana. Inclui a análise e acompanhamento das carteiras 4 e 8Fundos.
Portfolio Analyser: Ferramenta para backtests de Fundos e ETFs Europeus

"We don’t need a crystal ball to be successful investors. However, investing as if you have one is almost guaranteed to lead to sub-par results." The Irrelevant Investor
Avatar do Utilizador
 
Mensagens: 5707
Registado: 20/11/2002 21:56
Localização: Porto

Re: Programação em R para Finanças

por Varendia » 19/5/2017 11:48

Ja calculava correlacoes e faco saida em tabela, vou ver os exemplos que enviaste.

Nao quero fazer uma 'app', so quero fazer um output tipo dashboard como o que tenho em excel... nao sei se porventura um shiny dashboard acaba por ser uma app. :?

Ja que falas de partilha ... toma la para resolver o problema que tinhas ha uns tempos. Uma linha ae ja esta.

DD <- as.vector(PerformanceAnalytics:::Drawdowns(excessRtn)) #se os returns estiverem ja em %
"Strategy without tactics is the slowest route to victory. Tactics without strategy is the noise before defeat." Sun Tzu
 
Mensagens: 215
Registado: 10/12/2012 12:12

Re: Programação em R para Finanças

por VirtuaGod » 19/5/2017 10:23

Coisas interessantes que descobri hoje:

Correlation heatmap

:arrow: Quantitative Finance applications in R - 8

e

:arrow: Cheat Sheet for XTS by datacamp
Artigos e estudos: Página repositório dos meus estudos e análises que vou fazendo. Regularmente actualizada. É costume pelo menos mais um estudo por semana. Inclui a análise e acompanhamento das carteiras 4 e 8Fundos.
Portfolio Analyser: Ferramenta para backtests de Fundos e ETFs Europeus

"We don’t need a crystal ball to be successful investors. However, investing as if you have one is almost guaranteed to lead to sub-par results." The Irrelevant Investor
Avatar do Utilizador
 
Mensagens: 5707
Registado: 20/11/2002 21:56
Localização: Porto

AnteriorPróximo

Quem está ligado:
Utilizadores a ver este Fórum: Bing [Bot] e 218 visitantes