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 » 9/2/2017 14:14

VirtuaGod Escreveu:Sabes que se não aprendes algo de raiz vais ter sempre gaps de conhecimento, mas percebo a falta de tempo. A velocidade a que vais já é excelente 8-)


A minha vida profissional moldou a forma como olho para um problema, o objectivo deste meu 'projecto' nao e eu aprender R, e fazer o que faco hoje no excel de forma mais eficiente e fazer o que quero mas nao e possivel fazer em excel (Scope statement do projecto!), o R e o resource que estou a usar.
Por isso 'aprendi' o basico para poder perceber o que se passa e onde ir procurar as coisas, agora basicamente preciso de aprender como executar cada passo. Claro que a ajuda aqui e essencial :D sem isso provavelmente nao tentaria.

Logo ja testo o merge, se for assim vai ser muito rapido. Provavelmente e mais rapido descarregar os MSCI 'a mao' de dois em dois ou tres em tres anos e fazer merge em R do que perder agora o tempo de procurar quais os Nasdaq que me dao jeito (tinha de ir ler como eles constituem os indices, etc... ) e modelar o merge entre o MSCI e o Nasdaq.

Para juntar os dois indices, tenho de fazer o que faco para 'modelar' historico passado de fundos, garantindo que o erro nao e grande. Quando se procuram portfolios de baixo risco, um erro acumulado de 1% ao ano que ate pode ser pequeno mas modelando 15/20 anos pode dar um estoiro enorme. Em cima disso testar o portfolio, ajustar e depois usar o mesmo para modelar historico de fundos. Estou a juntar mais um passo/variavel que pode/deve reduzir o nivel de confianca (variacao de R2). Com portfolios conservadores isso pode ser :shame:
"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 » 9/2/2017 12:50

Varendia Escreveu:O merge do R automaticamente apanha a data valor e coloca na coluna certa?

Yaps. Desde os objectos que estejas a juntar sejam temporais, com a coluna do tempo em as.Date(), eles faz um merge por tempo.

Digamos que juntas uma série temporal diária (ST1) e outra mensal (ST2) fica algo do género:

Data..................................// ST1 // ST2
2017-01-30 //40 // NA
2017-01-31//41 // 38
2017-02-01// 41//NA

Sabes que se não aprendes algo de raiz vais ter sempre gaps de conhecimento, mas percebo a falta de tempo. A velocidade a que vais já é excelente 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 » 9/2/2017 12:22

VirtuaGod Escreveu:
Tenho de ver como o R faz o indexing ou o vlookup para meter dados de fontes diferentes na mesma base. E o passo a seguir.

Ainda estás com pensamento de excel.


Uso excel ha muitos... muitos anos, e funcoes como index / vlookup / sumifs / etc sao muito boas para pegar e dar a volta aos dados, fazer as minhas matrizes de returns, Var/Covar ... etc.
Sou muito pratico, sei que nao vou conseguir deixar de pensar na lingua excel, tal como, tirando ingles, falo outras linguas estrageira a pensar em Portugues. Isso levaria muito tempo.

O lado bom e que as minhas folhas de excel funcionam como 'funcoes', uma folha para dados, outra para escolher bases para teste, outra para transformar as bases na moeda que quero testar, outra para returns ... etc ate chegar ao fim do MPT e recomecar a ajustar com o meu tactical e trend following. Isso facilita muito porque so tenho passar essa ordem para o R e melhorar aquilo que nao consigo fazer em excel.

O merge do R automaticamente apanha a data valor e coloca na coluna certa?
se estou a importar dados em que uns comecam em 2000, outros em 1970 tenho de os colocar no sitio certo da base de dados comum. E isso que tenho de descobrir como fazer no R.
Senao posso sempre inverter a order e preencher de hoje para o passado. \:D/ Pensei nesta agora ...
Depois tenho de corrigir, porque se os indices comecam em base 100, tenho de os meter todos na mesma base, e depois passar tudo para a mesma moeda antes de fazer correlacoes...

Como fiz ontem, e arranjar dois ou tres dados e procurar a forma de fazer acontecer, depois faco um vector e siga, multiplico por 1000 bases de dados.

Com um pouco de tempo vou la, mas nao posso tentar aprender R como quem aprende uma lingua estrageira de raiz para ler literatura, nao tenho tempo. Vou tentar aprender na versao de quem quer saber os numeros, pedir coisas num restaurante, dar indicacoes ao taxista (enquanto controla via google maps)... :mrgreen:
"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 » 9/2/2017 11:36

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/2/2017 11:26

Tenho de ver como o R faz o indexing ou o vlookup para meter dados de fontes diferentes na mesma base. E o passo a seguir.

Ainda estás com pensamento de excel. Um simples merge() como o que temos feito deverá solucionar isso.

https://www.rforexcelusers.com/vlookup-in-r/

Fui ver o Nasdaq ... 41000 indices?????!!!! so podem estar a gozar ... sabes desde quando tem dados??

Depende dos indíces. O NASDAQ Global (substituto do MSCI World) começa em 2001. Por outro lado o US Equity (substituto de um S&P 500 ou Russuel 3000) começa em 2011.

O R-bloggers e onde tenho visto muita coisa aplicavel.

Sem duvida. O R-bloggers é muito bom. Mas normalmente os blogs ensinam. O Stackoverflow tira duvidas. Agora que penso nisso no início as minhas pesquisas nunca me davam no stackoverflow talve porque eram demasiado genéricas. Eventualmente 80 a 90% das tuas pesquisas irão dar ao stackovwerflow, se tiveres a fazer bem as coisas.
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 » 9/2/2017 7:09

Ca esta ... afinal nao era ilegal (mas era tao bom que parecia)

Tenho de pegar em alguns dados e ver como os ponho a funcionar.
As correlation matrix ja e feita com valores mensais. Tenho de ver como o R faz o indexing ou o vlookup para meter dados de fontes diferentes na mesma base. E o passo a seguir.

Fui ver o Nasdaq ... 41000 indices?????!!!! so podem estar a gozar ... sabes desde quando tem dados??

O R-bloggers e onde tenho visto muita coisa aplicavel.
"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 » 8/2/2017 21:26

Descobri ontem os dados :mrgreen:

https://app2.msci.com/products/indexes/performance/regional_chart.html?asOf=Feb%2007,%202017&size=36&scope=R&style=C&currency=15&priceLevel=0&indexId=106

Não me parece que dê para fazer o download automatizado para o R. Eu faria como disse. Usava MSCI enquanto não houvesse os indíces NASDAQ mas depois passaria a usar os NASDAQ. São de muito fácil implementação no R.

Uma hora?? Normal. Andas a saltar muitos passos na aprendizagem. O google, que na maioria das vezes redirecciona para o stackoverflow, é extremamente útil.

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 » 8/2/2017 17:47

O meu primeiro script (para arranjar o file antes de passar dados para o VG!), primeiro passo para fazer a DB de testes com series mensais do ultimo dia de cada mes.
1 hora para fazer isto.... one small step for man... :wall:
Um programador deve-se rir destes passos todos.

Do First Column of last days of the month

# Set Base Data
StartDate <- as.Date("1950-02-01",format = "%Y-%m-%d")
EndDate <- as.Date("2017-12-01",format = "%Y-%m-%d")
Period = (EndDate - StartDate)
Period <- as.integer(Period)
Period = round_any(Period/365*12, 10) + 6
print(Period)

Col1 <- seq(as.Date(StartDate), length = Period, by = "1 month") - 1
Col1 <- as.data.frame(Col1)
colnames(Col1) <- "Month"
"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 » 8/2/2017 8:06

VirtuaGod Escreveu:
Os MSCI com dados de final do mes (1 leitura por mes), consigo tirar desde o inicio. Por exemplo coisas como MSCI SA VALUE Standard (Large+Mid Cap) Value tenho desde 1974...

Tb quero :D Mas começo a achar que isso são dados privados/pagos :mrgreen: Manda aí um link sff


:roll: Hmmm. :-"
"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 » 8/2/2017 0:39

Mas no excel também posso programar R? E fazer algo como uma macro?

É mais ao contrário. Fazes a base de dados em R e depois exportas para excel.

Vou tentar investigar no youtube 8-)

Para quê? Tens aí atrás como se faz. Muito gosta este pessoal de complicar :oh: :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 Strutlander » 8/2/2017 0:16

VirtuaGod Escreveu:
Strutlander Escreveu:Vivam, caros foristas,

Estando a desenvolver uma folha excel para controlo de portfolio de fundos, e tendo deparado com este interessante tópico, coloco a seguinte questão:

É possível em VBA, ou outra linguagem excel, programar a atualização diária da cotação da UP de um determinado número de fundos?
Por ex. tenho uma carteira de 20 fundos, e todos os dias, clicando num botão, o excel iria à source (por ex. a pagina morningstar do BEST) buscar a cotação de cada fundo, e colocaria a mesma numa célula, formando uma linha com 20 cotações diárias.
No dia seguinte faria o mesmo, mas na linha abaixo... e assim sucessivamente criando um historial para a carteira.

Já alguem tentou isto? :pray:

É que caso contrário teria de manualmente colocar a cotação de cada fundo, diáriamente, e com carteiras com mais de 30fundos torna-se bastante penoso :wall:

Obrigado,
SL

Não sei VBA. Sei que há quem faça isso por isso é possível. Mas em R é muito mais simples e não tens de fazer todos os dias :oh: Tens é de te dar ao trabalho de ler umas coisas aí para trás. Tenho até função e script para sacar o histórico completo dos fundos que se quiser do Best, só tens de pôr o id Morningstar (tipo ISIN) e ele saca tudo. Depois é só exportar para um ficheiro CSV e depois copy/paste no excel :mrgreen:

Tenho de fazer um post com isso e colocar na primeira página ;-)


Mas no excel também posso programar R? E fazer algo como uma macro?

Vou tentar investigar no youtube 8-)

Obrigado,
SL
 
Mensagens: 75
Registado: 7/2/2017 23:35

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

por VirtuaGod » 7/2/2017 23:57

Strutlander Escreveu:Vivam, caros foristas,

Estando a desenvolver uma folha excel para controlo de portfolio de fundos, e tendo deparado com este interessante tópico, coloco a seguinte questão:

É possível em VBA, ou outra linguagem excel, programar a atualização diária da cotação da UP de um determinado número de fundos?
Por ex. tenho uma carteira de 20 fundos, e todos os dias, clicando num botão, o excel iria à source (por ex. a pagina morningstar do BEST) buscar a cotação de cada fundo, e colocaria a mesma numa célula, formando uma linha com 20 cotações diárias.
No dia seguinte faria o mesmo, mas na linha abaixo... e assim sucessivamente criando um historial para a carteira.

Já alguem tentou isto? :pray:

É que caso contrário teria de manualmente colocar a cotação de cada fundo, diáriamente, e com carteiras com mais de 30fundos torna-se bastante penoso :wall:

Obrigado,
SL

Não sei VBA. Sei que há quem faça isso por isso é possível. Mas em R é muito mais simples e não tens de fazer todos os dias :oh: Tens é de te dar ao trabalho de ler umas coisas aí para trás. Tenho até função e script para sacar o histórico completo dos fundos que se quiser do Best, só tens de pôr o id Morningstar (tipo ISIN) e ele saca tudo. Depois é só exportar para um ficheiro CSV e depois copy/paste no excel :mrgreen:

Tenho de fazer um post com isso e colocar na primeira página ;-)
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 » 7/2/2017 23:52

Continuação desta conversa daqui: http://caldeiraodebolsa.jornaldenegocios.pt/viewtopic.php?f=3&t=77465&start=7475#p1269733

MFTG Escreveu:Igual! Também estou a estudar Finanças mas queria uns conhecimentos de programação para associar à área e análise estatística. O teu comentário foi bastante útil, embora tenha ficado com a sensação que o melhor mesmo é aprender os dois x) Nada que já não estivesse a pensar fazer!

Cada vez mais acho que saber as duas linguas não só é desnecessário num nível destes, como contraproducente. Perdes imenso tempo a fazer coisas em duas linguas diferentes para quê? Mais vale saber uma bem do que ser mediano nas duas.

Esse datacamp tem cursos grátis?

O primeiro de R é grátis (e python tb) .

Achas R/Phython dificeis de aprender?

Fácil, mas moroso. Ajuda se fores computer-savvy (sempre fui). Extremamente recompensador quando começas a ver as coisas a juntarem-se todas e o resultado do que fizeste. Depois de aprenderes o básico a velocidade com que evoluís é assustador :twisted: Aconselho teres um pet project em vez de aprenderes abstratamente.

Código: Selecionar todos
Que recursos para aprender recomendas?

Datacamp mas é caro. Depois de estudares os livros e perceberes compra um mês e tira os cursos de manipulação em XTS, quantmod, quantstrat e análise de séries temporais (devem ser uns 6 cursos por isso tem de ser sempre a dar-lhe se queres acabar num mês. Tipo 2/3 horas por dia.)
Udemy (entra em "incognito mode" no chrome que tens todos os cursos a 15 euros neste momento). Pessoalmente comprei o do Portilla (https://www.udemy.com/data-science-and-machine-learning-bootcamp-with-r/) e achei bastante bom mas o do Kirill tb tem muita fama (https://www.udemy.com/r-programming/)
Livros: The Book of R: A First Course in Programming and Statistics // R for Data Science: Import, Tidy, Transform, Visualize, and Model Data // Analyzing Financial Data and Implementing Financial Models Using R (Springer Texts in Business and Economics)

Abr
Editado pela última vez por VirtuaGod em 8/2/2017 0:12, num total de 5 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 Strutlander » 7/2/2017 23:43

Vivam, caros foristas,

Estando a desenvolver uma folha excel para controlo de portfolio de fundos, e tendo deparado com este interessante tópico, coloco a seguinte questão:

É possível em VBA, ou outra linguagem excel, programar a atualização diária da cotação da UP de um determinado número de fundos?
Por ex. tenho uma carteira de 20 fundos, e todos os dias, clicando num botão, o excel iria à source (por ex. a pagina morningstar do BEST) buscar a cotação de cada fundo, e colocaria a mesma numa célula, formando uma linha com 20 cotações diárias.
No dia seguinte faria o mesmo, mas na linha abaixo... e assim sucessivamente criando um historial para a carteira.

Já alguem tentou isto? :pray:

É que caso contrário teria de manualmente colocar a cotação de cada fundo, diáriamente, e com carteiras com mais de 30fundos torna-se bastante penoso :wall:

Obrigado,
SL
 
Mensagens: 75
Registado: 7/2/2017 23:35

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

por VirtuaGod » 7/2/2017 19:58

Os MSCI com dados de final do mes (1 leitura por mes), consigo tirar desde o inicio. Por exemplo coisas como MSCI SA VALUE Standard (Large+Mid Cap) Value tenho desde 1974...

Tb quero :D Mas começo a achar que isso são dados privados/pagos :mrgreen: Manda aí um link sff

com dados diarios tenho quase tudo o que uso desde meio de 2010

Se assim é, eu pessoalmente e sabendo o quanto sou preguiçoso nestas tarefas de actualização de dados provavelmente ficava com um CSV até finais de 2010 dos MSCI e depois alteraria para os NASDAQ, desde que na prática estes merge de benchmarks não influenciasse negativamente a análise de certeza que era assim que eu faria. Se fosse tudo quase idêntico como com os MSCI World e o Nasdaq global index não vejo problema. Era sempre tudo actualizado pelo R :lol:
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 » 7/2/2017 18:22

Mais um dia furado.. muito trabalho. Daqui a uma semana melhora.

Os MSCI com dados de final do mes (1 leitura por mes), consigo tirar desde o inicio. Por exemplo coisas como MSCI SA VALUE Standard (Large+Mid Cap) Value tenho desde 1974... com dados diarios tenho quase tudo o que uso desde meio de 2010, agora tenho de actualizar. Mesmo que os tire 'a mao' depois deve ser facil fazer o tratamento de dados no R.

Tambem me parece que se procurar bem ETFs, consigo um historico razoavel. Para o que faco / quero fazer preciso de umas boas bases pelo menos desde fim 1999/inicio 2000. Apanhar dois ciclos para que a modelacao afine o suficiente.

Vou ver os Nasdaq, pode ser que funcione.

Preciso de tempo para por em papel tudo o que tenho na cabeca, e depois comecar a ver como 'programar'

Para ja o R esta a ser uma grande ajuda e claramente da para fazer o que se pretende, mas e preciso tempo.
"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 » 7/2/2017 15:16

Infelizmente parece-me que muitos benchmarks referentes aos mercados dos EUA começaram só em 2011 e se calhar tem de se usar alternativas (que não devem ser muito complicadas de arranjar). Mas os indíces internacionais começaram em 2001 na sua maioria :pray:
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 » 7/2/2017 14:47

Hum.... qual é o periodo maximo com que consegues sacar o MSCI? 10 anos??

MSCI GLOBAL INDEX LENS
Updated on a monthly basis, the MSCI Global Index Lens (GIL) provides online access to a wide range of global equity market index data. GIL features numerous flagship MSCI indexes such as the MSCI Emerging Markets Index and MSCI ACWI, along with an extensive suite of country and regional indexes across Developed, Emerging and Frontier Markets.

GIL offers in-depth risk and return analysis for the MSCI indexes covered, including:

Current and historical sector and country breakouts, current and historical index fundamentals, top 10 index constituents, top and bottom 10 index performers
GIL also includes coverage of a broad sampling of the MSCI Value & Growth, Islamic, Equal Weighted and Minimum Volatility Indexes.

GIL is available for pension plans, endowments, foundations, consultants and qualified wealth managers.


Uma ideia poderá ser alterar dos MSCI para os indíces NASDAQ que estão grátis no quandl e são mais de 40 mil indíces.

Alternativa ao MSCI World é o NASDAQ Global Index. Estive a comparar ao MSCI World e é aparentemente igual 8-) Tenho de testar no R para ver se há diferenças.

https://www.quandl.com/data/NASDAQOMX/NQGI-NASDAQ-Global-Index-NQGI

Eu gosto de ir ajudando por é como evoluo tb. Desconhecia estes indíces mas parecem-me super interessantes como benchmarks.

Podes pesquisar aqui se tem o que pretendes: https://www.quandl.com/data/NASDAQOMX-NASDAQ-OMX-Global-Index-Data

Se quiseres saber todos on indíces que eles têm:

Download all codes
This API call is used to download all of the dataset codes and dataset names available in this database. The call will return a ZIP file containing a CSV.

Zipped CSV
https://www.quandl.com/api/v3/databases/NASDAQOMX/codes
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 » 7/2/2017 14:25

Varendia Escreveu:Em relacao ao Yahoo tras tudo, tenho e de encontrar ETFs com historico suficiente, se um tracker so existe ha 2 ou 3 anos, nao me serve. Preciso de muito mais ... ver se consigo por o teste que quero a funcionar. Vou tentar so com um fundo, se encontrar os dados certos, umas semanas, provavelmente primeiro no Excel....

Coloca aqui o link do que pretendes. Não sei se consigo mas sempre posso tentar. Outra alternativa é teres um ficheiro CSV que actualizas manualmente (como já o fazes agora no excel) e que depois o R lê e integra no objecto que estás a criar mas acedito que vamos automatizar :wink: Esperança é a última a morrer. Mas acho que já tentei e não consegui sacar o MSCI world!!

Tambem tenho de limpar colunas (nao preciso da maior parte das cotacoes) e alterar os cabecalhos para depois os usar como objectos... vamos ver.

Fácil fácil.

.Alterar os cabeçalhos com "colnames(cotacoes)". Tb pode ser de teu interesse apagar as últimas duas linhas do meu script.
.Escolheres as colunas que pretendes para iniciados recomendo o uso da função select() do dplyr: https://cran.rstudio.com/web/packages/dplyr/vignettes/introduction.html. Apenas tens de escreves literamente o nome das colunas que pretendes manter :)
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 » 7/2/2017 13:29

VirtuaGod Escreveu:A data da yahoo em principio trás todo o histórico. A da morningstar (o que inclui o best) sei que trás. Testa e diz se tens alguma dificuldade.


Em relacao ao Yahoo tras tudo, tenho e de encontrar ETFs com historico suficiente, se um tracker so existe ha 2 ou 3 anos, nao me serve. Preciso de muito mais ... ver se consigo por o teste que quero a funcionar. Vou tentar so com um fundo, se encontrar os dados certos, umas semanas, provavelmente primeiro no Excel....

weighted fuzzy-trend and multiple regression time series forecasting methods .... um tipo chega a esta idade a ler cada coisa... e o que da quando ja se usa MPT com ajustes, se tem estrategias estranhas e nao se tem tempo :mrgreen:

Obrigado pelo script! Logo ja testo isso.
Tambem tenho de limpar colunas (nao preciso da maior parte das cotacoes) e alterar os cabecalhos para depois os usar como objectos... vamos ver.
"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 » 7/2/2017 12:54

vê lá se isto te serve:
Código: Selecionar todos
url <- "https://www.bportugal.pt/sites/default/files/taxas-relacionados/cambdia.csv"

Cotacoes <-  read.csv2(url, stringsAsFactors = F)
Cotacoes <- Cotacoes[c(7:nrow(Cotacoes)), ]
colnames(Cotacoes) <- Cotacoes[1, ]
Cotacoes = Cotacoes[-1, ]


Foi um exercicio engraçado. Relembrou-me da importância do stringsAsFactor = F. Perdi 5 dos 10 minutos do tempo de desenvolvimento do script só aí porque estava a dar um "erro" estranho.

A data da yahoo em principio trás todo o histórico. A da morningstar (o que inclui o best) sei que trás. Testa e diz se tens alguma dificuldade.

Dica: Vai pesquisar a diferença entre read.csv e read.csv2 :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 Varendia » 7/2/2017 7:46

O das cotacoes contra o euro esta em excel ou csv

https://www.bportugal.pt/sites/default/ ... ia_pt.xlsx
https://www.bportugal.pt/sites/default/ ... ambdia.csv

A da MSCI e mais complicado, e preciso seleccionar a info que queremos que apareca num grafico e depois ha um link para descarregar um excel com os dados diarios dos ultimos 4 anos ou mensais desde o inicio do indice. Ou seja nao ha um link directo, o link e sempre o mesmo e descarrega o que se esta a ver no grafico.

No caso de ETFs do Yahoo (ou do Best), a duvida que tenho e se tem historico suficiente. Tenho de testar.
Para esta semana ja fico satisfeito se criar uma coisa para ir buscar e tratar as cotacoes das moedas do BdP e se fizer a lista de ETFs que quero ir buscar. Small steps.
"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 » 6/2/2017 20:10

Varendia Escreveu:Descobri um mais um package para ler ... openxlsx. Para tirar indices, os sites dao ficheiros xlsx e nao csv, tenho de ver como fazer isto funcionar.

Depois de mais umas buscas, acho que vai ser mais facil ir buscar ETFs trackers do que os indices. Tenho de encontrar os certos e fazer a lista.
Para tirar dados dos DB x-trackers tira-se to Yahoo? ou ai saem versoes maradas em USD?

Ficheiros xlsx não tem nada que saber. Ora manda aí um link e o site para eu tentar importar diretamente para o R...

Em relação à yahoo sacas o que vês no site. Acabei de experimentar o db x-trackers - Euro Stoxx 50 UCITS ETF (DR) (DBXE.DE) no quantmod e correu impecável:

Código: Selecionar todos
getSymbols("DBXE.DE")
P.S. O yahoo Finance é a source por defeito do quantmod
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 » 5/2/2017 17:03

Descobri um mais um package para ler ... openxlsx. Para tirar indices, os sites dao ficheiros xlsx e nao csv, tenho de ver como fazer isto funcionar.

Depois de mais umas buscas, acho que vai ser mais facil ir buscar ETFs trackers do que os indices. Tenho de encontrar os certos e fazer a lista.
Para tirar dados dos DB x-trackers tira-se to Yahoo? ou ai saem versoes maradas em USD?
"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 » 5/2/2017 16:56

Obrigado pelas dicas. Mais estudo. Ver se ha tempo para tanta coisa.

Para os indices gerais (DJ ou S&P500) e me igual usar ETFs ou os indices em si.
Mas depois uso indices de regioes / mercados / sectores, etc.. . Mas esta conversa ja e off topic.
Nao sei se ha ETFs a replicar o tipo de coisas que uso. Posso procurar e se houver pode ser mais facil descarregar o ETF.

Depois de ter meia duzia de bases, nao e dificil juntar tudo na master DB. E o que faco no excel para os backtests.
"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: Bing [Bot], Google [Bot], PAULOJOAO, serdom e 185 visitantes