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 Varendia » 4/3/2017 5:37

VirtuaGod Escreveu:Mas sim, concordo que uma análise a começar em 2000 seria melhor, e possivelmente mais conservadora. Últimos 20 anos seria óptimo. Ainda apanhavas a queda/crash de 1998, o boom das .com, todo o bear market accionista. Mas por outro lado ficavas com um periodo excessivamente bom em termos obrigaccionistas. Nunca nada é perfeito :?


Para mim e 1999 para poder ter tudo em Euros, se andasse para tras disso ja me obrigava a modelar tambem o Euro.. o que ja nao consigo fazer com o mesmo grau de confianca, e arrisco a acumular erros geometricamente. mas 1999-2016/17 ja e um periodo com avancos e recuos, correccoes, crashes... downside e upsides com caracteristicas diferentes.

Hoje parte do dia e para seleccionar benchmarks..
"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 » 3/3/2017 22:29

Curso sobre PortfolioAnalytics? :mrgreen: :mrgreen: :mrgreen: 8-) Ainda não dá para ver o curso todo porque ainda está a ser feito mas tenho esperanças que seja algo bom, vindo de um dos co-criadores do PortfolioAnalytics :wink:

https://www.datacamp.com/courses/intermediate-portfolio-analysis-in-r
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 » 3/3/2017 19:52

Varendia Escreveu:Mas e se te dissesse que com uns bons benchmarks te pudesse dar uma aproximacao do historico com um erro (estatisticamente relevante) menor que 2% acumulado em 10 anos... usarias os dados certo?

É provavel que sim. Teria de analisar caso a caso. Não teria por exemplo problemas de usar o S&P TR para análises pré 1993 e depois comprar o SPY. Mas normalmente para os fundos que queria os dados não encontro.

Mas sim, concordo que uma análise a começar em 2000 seria melhor, e possivelmente mais conservadora. Últimos 20 anos seria óptimo. Ainda apanhavas a queda/crash de 1998, o boom das .com, todo o bear market accionista. Mas por outro lado ficavas com um periodo excessivamente bom em termos obrigaccionistas. Nunca nada é perfeito :?

Fico contente com o inception date da carteira 4 fundos e é o periodo de eleição para as minhas análises ultimamente, pois ainda apanha a (ligeira?) queda da segunda metade de 2007: "The inception date for you Portfolio is: 2007-04-20" 8-)
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 » 3/3/2017 17:56

VirtuaGod Escreveu:O que quero dizer é que não excluo os fundos de possível aquisição, mas deixa de ser um processo tão quantitativo e não invento backfills (já o fiz para o Invesco balanced risk allocation e ainda o tenho no excel mas acabei por deixar de o fazer quando passei para o R).


Mas e se te dissesse que com uns bons benchmarks te pudesse dar uma aproximacao do historico com um erro (estatisticamente relevante) menor que 2% acumulado em 10 anos... usarias os dados certo? E que o mesmo metodo da esse tipo de resultados para fundos para os quais tens o historico todo.

E isso que consigo fazer desde que tenha alguns benchmarks mais ou menos correlacionados com o asset, o qualitativamente nao da na minha cabeca :D
"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 » 3/3/2017 16:18

Varendia Escreveu:Omitir fundos que possam ser bons e bem geridos so porque nao tem historico. Nao me parece simpatico :D

Não faço bem isso. Um caso gritante é o Jupiter Dynamic Bond LU0853555380, provavelmente o melhor obrigacionista flexível na Europa.

Nesse caso entra um processo mais qualitativo ao lado do quantitativo.

Comparei com o M&G Optimal Income GB00B1VMCY93 e com o Pimco Income IE00B84J9L26 para ver as correlações e se tinha um comportamento em linha com outros fundos da categoria. Fui analisar outras classes do fundo e descobri o Pai britânico que é o Jupiter Strategic Bond que começou mais ou menos no início de 2008: http://www.morningstar.co.uk/uk/funds/snapshot/snapshot.aspx?id=F000001W86. Atenção que neste caso tem de se ver na morningstar UK porque é denominado em GBP.

Mas o facto de não poder testar no R o periodo de 2008 excluiu-o da carteira 4Fundos. Está contudo na minha lista de favoritos e já o inclui naquilo que chamo carteira 8Fundos (que é que estou a construir para mim para substituir a grande que tinha). A carteira 8 Fundos é como a 4 em termos de alocações mas com outros novos 4 fundos para diversificar. O Jupiter e o M&G (50/50) criam a alocação a Obrigacionistas fléxíveis da carteira.

O que quero dizer é que não excluo os fundos de possível aquisição, mas deixa de ser um processo tão quantitativo e não invento backfills (já o fiz para o Invesco balanced risk allocation e ainda o tenho no excel mas acabei por deixar de o fazer quando passei para o R).
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 » 3/3/2017 14:41

Eu acho que o que se passa deste 2005/2006 e muito bullish, e demais, mesmo com 2008/2009, a media e o alavancar sao violentos, por isso prefiro calibrar com um periodo mais longo e que tem coisas diferentes a acontecer.
Omitir fundos que possam ser bons e bem geridos so porque nao tem historico. Nao me parece simpatico :D

O fim de semana pelo menos deve dar para seleccionar uma lista de bechmarks para usar.
"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 » 3/3/2017 14:10

Fizeste me lembrar o David Harding

https://www.youtube.com/watch?v=MyMN3kmqrQ0

"More data...more data... for longer periods of history" :mrgreen: :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 Varendia » 3/3/2017 4:53

VirtuaGod Escreveu:Fundos em si não testo. Poderei testar alocações com base em indíces, mas para isso dados mensais são mais que suficientes. Fundos não. Só testo o histórico existente. Daí me focar muito em fundos com cerca de pelo menos 10 anos que é para apanhar 2008. Obviamente que gostava de ter mais histórico mas...


Eu queria mesmo era apanhar 2000 e 2008, se for so ate 2008 ja consigo com 10 anos de dados que arranjo em ETFs e indices S&P.
Nao gostas do burst de 2000?

Usar os dados mensais da para backtest, mas nao da para modelar.

Isso e limitativo, ou fazes uma coisa quase so buy&hold com fundos com R2 muito proximos dos indices e/ou que tem muito historico, ou entao limitas muito o tipo de fundos/mercados que usas.
Quando alguns fundos se fundem la vai a coisa a viola.

Nao quer dizer que nao se facam portfolios muito bons, mas com o poder de computacao que se ganha com o R, quero poder usar / testar mais e mais fundos, com um minimo de 3 ou 4 anos de historico diario, desde que tenha uns indices decentes, consigo modelar o historico do fundo e depois usar para backtests.

Increvi-me no Quandl.. entre uns ETFs, alguns MSCI, FRED e sei la mais o que acho que vou ter dados suficientes. A questao e mais com Bonds e dados internacionais, para o mercado americado ha muitas fontes.
O problema e mesmo encontrar as referencias com historico suficiente no meio de dezenas de milhar de coisas... a busca no Quandl nao da para filtrar pela data de inicio dos dados :cry:
"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 » 2/3/2017 20:54

Ainda pior, indices europeus ha pouca coisa com historico suficiente.

Os indíces NASDAQ começavam em 2001 para imensa coisa europeia.

Varendia Escreveu:VG, como e que trabalhas/testas os fundos que nao tem historico suficiente para testares?

Fundos em si não testo. Poderei testar alocações com base em indíces, mas para isso dados mensais são mais que suficientes. Fundos não. Só testo o histórico existente. Daí me focar muito em fundos com cerca de pelo menos 10 anos que é para apanhar 2008. Obviamente que gostava de ter mais histórico mas...
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 » 2/3/2017 17:38

Bem, parei o backtest para por o resto a acontecer, e mais um filme. Vai-me ser dificil arranjar dados diarios de indices a mais de 10 anos, e queria mesmo ter coisas desde 1999 (inicio do Euro).

Arranjei uns ETFs, mas ha poucos ETFs que tenham comecado antes de 2000, os indices S&P que falaste consigo 10 anos de dados, os MSCI so consigo 5 anos. Tenho alguns via FRED com historico suficiente, mas precisava de varias fontes/indices para calibrar os modelos...

Ainda pior, indices europeus ha pouca coisa com historico suficiente.

Mais ideias?

VG, como e que trabalhas/testas os fundos que nao tem historico suficiente para testares?
"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 » 2/3/2017 15:41

Código: Selecionar todos
Estava a tentar o Drawdown mas tive um problema, preciso de fazer uma formula em que trabalho com a propria coluna que estou a calcular, no excel seria algo como B2 = if(A2<A1, B1+1, 0). Ja passei um bocado a procurar e nao cheguei la...
Usa o compute.drawdown() do SIT. Foi do melhor que já encontrei!!

O meu loop antigo e para dar volta a esse problema que referes eu criava uma coluna com os número da linha.

Código: Selecionar todos
Portfolios$nlinha <- c(1:nrow(Portfolios))

for (i in Portfolios$nlinha) {
  Portfolios$Max.P1[i] <- (max(Portfolios$P1[1:i]))
}
Portfolios$P1.DD <- (Portfolios$P1 / Portfolios$Max.P1) - 1
Portfolios$P1.DD.P <- (Portfolios$P1.DD * 100)
Portfolios é o objecto com as cotações de todos os portfolios e o P1 o Portfolio 1, neste caso.

Mas provavelmente há forma mais simples, como usar o index() ou o rowname() mas na altura que criei o loop ainda não sabia da existencia destas funções.
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 » 2/3/2017 15:29

Esse grafico tem muita pinta .... quase que me vieram lagrimas aos olhos.

Bem, vou tentar comecar a fazer o script para criar historico... ver o que me acontece.

Estava a tentar o Drawdown mas tive um problema, preciso de fazer uma formula em que trabalho com a propria coluna que estou a calcular, no excel seria algo como B2 = if(A2<A1, B1+1, 0). Ja passei um bocado a procurar e nao cheguei la...
"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 » 2/3/2017 14:28

Pois... é feiozinho não é?

Agora tenta isto: (depois de instalares os packages)

Código: Selecionar todos
library(quantmod)
library(SIT)
library(highcharter)

getSymbols("SPY", src="yahoo", from = "1900-01-01")

SPY <- SPY[, 6]
SPY.DD <- 100 * compute.drawdown(SPY)

hchart(SPY) %>%
  hc_add_theme(hc_theme_sandsignika())%>%
  hc_colors(list("#000099", "#404040")) %>%
  hc_title(text = "SPY")

hchart(SPY.DD)%>%
  hc_add_theme(hc_theme_sandsignika())%>%
  hc_colors(list("#000099", "#FF0000")) %>%
  hc_title(text = "SPY Drawdowns")

P.S. O gráfico foi ter ao "viewer", não ao "plot"
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 » 2/3/2017 11:04

VirtuaGod Escreveu:Aparentemente é idêntico mas não ficas com um objecto das "cotações" do drawdown para depois fazer o gráfico com outras bibliotecas gráficas.


Se nao ficas com os DD returns diarios acumulados tambem nao medes o tempo ate ao maxDD nem o recovery para o DD lenght. Vi que o PortfolioAnalytics (a quem vou comecar a chamar PA para nao ter de escrever aquilo tudo) da os DD Max e os lenghts e os periodos para uma tabela, mas habituei-me ao meu excel, quero ver o output de cada passo para perceber se nao ha um estoiro qualquer.

experimentei o grafico do PA... e muito feio.

Quanto mais olho para o meu excel, mais vejo que ja faz muita muita coisa. Em relacao ao DD, vou ver se consigo calcular como no meu excel, deve ser muito rapido, sao 3 contas e fico com tudo diario, peaks, DD returns e lenghts.
"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 » 1/3/2017 17:43

Varendia Escreveu:Tenho de ir ver isso, tem de haver forma. Vi que o PortfolioAnalytics calcula max drawdowns e mais uma serie de coisas, portanto dizer que nao da o DD diario? mas esse tambem e 'facil' de calcular. Desde que se consiga fazer um loop a fazer a conta com o valor da linha anterior.

Dar dá. Mas não o objecto. Faz logo o gráfico. Detesto que "fechem" o sistema a eu mexer nele como quiser.

O script não é muito maior que o anterior:

Código: Selecionar todos
library(quantmod)
library(PerformanceAnalytics)

getSymbols("SPY", src="yahoo", from = "1900-01-01")

SPY <- SPY[, 6]
SPY.ret <- Return.calculate(SPY)

plot(SPY)
chart.Drawdown(SPY.ret, main = "SPY Drawdowns")

Aparentemente é idêntico mas não ficas com um objecto das "cotações" do drawdown para depois fazer o gráfico com outras bibliotecas gráficas.
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 » 1/3/2017 16:49

Tenho de ir ver isso, tem de haver forma. Vi que o PortfolioAnalytics calcula max drawdowns e mais uma serie de coisas, portanto dizer que nao da o DD diario? mas esse tambem e 'facil' de calcular. Desde que se consiga fazer um loop a fazer a conta com o valor da linha anterior.

Tens algum link / script de como se faz isso?
No excel e facil facil, no R devia ser ainda mais facil.

Cheguei a conclusao que para fazer o que quero tenho de tratar primeiro dos indices e da criacao de historicos... senao continuo com a mesma limitacao que tinha antes.
Isto agora vai dar luta...
"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 » 1/3/2017 16:09

Varendia Escreveu:Porque nao usas o PerformanceAnalytics?
Ha algum tempo vi para fazer o efficient frontier e para depois fazer o que tinha de backtest outputs e o PerformanceAnalytics calcula quase tudo, ainda nao fui ver especificamente o DD mas tem de la estar.

E está. Mas o problema é que a função do PerformanceAnalytics é do estilo chart.Drawdowns() e simplesmente faz o gráfico, com a biblioteca base de gráfico do R. Mas eu preciso é de um objecto (xts ou data.frame) com os valores do drawdown, para depois fazer em plotly/highcharter/ggplot2.

Depois de muito procurar não encontrei uma forma de fazer esse objecto com o PerformanceAnalyics e acabei por fazer um loop para o criar. Agora passei a usar a função compute.drawdown() do STI como expliquei acima.
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 » 1/3/2017 9:09

VirtuaGod Escreveu: para terem gráficos de uma acção/ETF americana, assim como dos respectivos drawdowns:


Porque nao usas o PerformanceAnalytics?
Ha algum tempo vi para fazer o efficient frontier e para depois fazer o que tinha de backtest outputs e o PerformanceAnalytics calcula quase tudo, ainda nao fui ver especificamente o DD mas tem de la estar.

Hoje devo ter algum tempo, vou olhar para como fazer os calculos e outputs do que faco nos backtests do excel.
"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 Varendia » 1/3/2017 4:05

E. Webscrapping caracteristicas dos fundos <- CHECK.

Ja esta a funcionar, falta limpar o script todo que ficou a parecer um caixote do lixo. entretanto como queria ver categorias em Ingles, ate fui aprender a fazer o 'vlookup' entre dois data frames. muito facil.
Tive de 'inventar' uma forma de fazer a coluna de se e hedged ou nao, descarregar do fundinfo acho que consigo se quiser muito, mas so se fizer um registo para fazer login. Para ja fica assim numa versao mais bruta com uma das minhas novas funcoes favoritas ifelse()! \:D/

Quando fiz este merge percebi que no futuro nao preciso de fazer uma base de dados com todo o tipo de info, posso manter objectos separados com varios tipos de dados e ir buscar info a cada um deles, desde que tenha uma coluna em comum...

Proximo passo, estou na duvida de trato dos indices ou do backtest ...
"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 » 28/2/2017 15:56

Mais um pacote para aprender.

SIT do systematic Investor Blog: http://systematicinvestor.github.io/about/

site antigo: https://systematicinvestor.wordpress.com/

O indivíduo deve fazer o código em c++, é a unica justificação que encontro para uma computação de 10 segundos (no meu PC) passar a ser basicamente imediata (0.1 a 0.2 segundos?). Ele tb faz imensas menções ao RCPP que é o package de integração de c++ em R daí eu ter fortes suspeitas que é como ele faz as funções do package.

A computação foi um loop de 15 anos de um activo/carteira com cotações diárias que usava para fazer o drawdown do activo. A nova forma (nova no meu código porque o pacote SIT já é de 2012) passou a ser apenas uma linha compute.dradown(x) sendo que x é um objecto XTS com as cotações do activo.

Depois de instalarem o pacote é só correr este código para terem gráficos de uma acção/ETF americana, assim como dos respectivos drawdowns:

Código: Selecionar todos
library(quantmod)
library(SIT)

getSymbols("SPY", src="yahoo", from = "1900-01-01")

SPY <- SPY[, 6]
SPY.DD <- 100 * compute.drawdown(SPY)

plot(SPY)
plot(SPY.DD)

Basicamente se quiserem outra qualquer acção ou ETF é só alterar o SPY pelo ticker que quiserem. Sugiro a utilização da função find/replace do Rstudio (a lupa na janela de source).

Abr

P.S. Para instalarem o pacote é só correr este código:
Código: Selecionar todos
install.packages('curl', repos = 'http://cran.r-project.org')
install.packages('devtools', repos = 'http://cran.r-project.org')

devtools::install_github('systematicinvestor/SIT.date')

library(curl)
curl_download('https://github.com/systematicinvestor/SIT/raw/master/SIT.tar.gz', 'sit',mode = 'wb',quiet=T)
install.packages('sit', repos = NULL, type='source')
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 » 27/2/2017 17:31

Conclusao, sim o problema e a tal pagina de disclaimer / forwarding to fundinfo.
Vou ver se descubro uma solucao, senao estou a trabalhar numa alternativa.
"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 » 26/2/2017 18:16

Varendia Escreveu:Ja fiz o scrapping todo menos o que queria tirar da fundinfo, nao consigo, nao sei porque ele nao descarrega info nenhuma... sera porque o site redirecciona quando se faz o primeiro acesso?

Não faço ideia. Não uso o site.

Sou ridiculamente formatado para loops. Podes usar a função filter() ou select() do dyplr e escrever uma linha só :wall:

EDIT: Acabei de o fazer para passar de dados diários para semanais e basicamente fiz duas linhas. Uma linha de criação da coluna "Dia da semana" e depois outra para filtrar pelas "sextas-feiras" 8-)

Em relação ao fundimo sei que quando lá andei agora aparece alguma info tipo numa caixa que me parece ser tipo Pop up (onde estava a info do hedged"). Pode ser um problema e teres de ir buscar a info de outra forma mais directa-

Abr
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 » 26/2/2017 17:55

Estava a tentar ver se daria para fazer de uma forma menos 'excel'
De qualquer forma esse passo ainda ha de vir.

Ja fiz o scrapping todo menos o que queria tirar da fundinfo, nao consigo, nao sei porque ele nao descarrega info nenhuma... sera porque o site redirecciona quando se faz o primeiro acesso?
"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 » 26/2/2017 16:12

Tu é que estás a sobrecomplicar. Uma coluna não tem só o MSid. Já queres meter metadata no MSid e isso... :shock:

Imagino que a coluna do fundo FVT094ERX trnha uma linha a dizer se tem hedge ou não correto? Toda a coluna já tem as características do fundo que queres. O que tu queres já está feito. Assumindo que o fundo FVT094ERX tem hedge e que está numa linha "hedge" da coluna. Estou a pensar estilo excel ou dataframes, e o local dessa célula seria na linha "hedged" e coluna "FVT094ERX" só teras de fazer algo deste género:

If data.frame.geral[hedged, FVT094ERX] == YES{
data.frame.com.hedge <- rbind(data.frame.com.hedge, FVT094ERX)
}
else {
data.frame.sem.hedge <- rbind(data.frame.sem.hedge, FVT094ERX)
}

e podes fazer os filtros que quiseres (ou combos) como no excel. Se tem hedge, se tem hedge e é em euros, se não tem hedge ou é dólares etc etc etc
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 » 26/2/2017 9:22

Sim quero um filtro, mas queria que o R simplesmente soubesse que a coluna cujo nome e FVT094ERX ou qualquer outro MSid tem n caracteristicas, que carregava uma vez e depois podia ir filtrar.

Como e que fazes filtros?
"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

AnteriorPróximo

Quem está ligado:
Utilizadores a ver este Fórum: Dragon56, Google [Bot], PAULOJOAO, Shimazaki_2, Xãd e 78 visitantes