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 » 4/8/2016 15:45

1ª página actualizada com:

Parte 5: Machine Learning e Sistemas Preditivos em R

Por enquanto acho que é tudo. É provável que demore uns anitos mas o caminho está delineado :wink:

P.S. Provavelmente pelo caminho irei aumentar a bibliografia (principalmente com livros da RMetrics) para por enquanto dá para perceber bem os objectivos das diferentes partes.
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 » 4/8/2016 12:08

danieljpires Escreveu:Como o Youtube é a nossa nova sala de aulas deixo aqui uns links onde se ensina a programar em R e em python

https://www.youtube.com/user/marinstatlectures/videos

https://www.youtube.com/user/Albert10110/videos

(o primeiro é para R, o segundo são tutoriais para python)

Obr pela partilha. Por alguma razão nem me tinha lembrado de ir ao youtube :wall: Encontrei estes que tb me parece interessantes:

https://www.youtube.com/playlist?list=P ... M39cwCU0PF
https://www.youtube.com/user/TheLearnR
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 danieljpires » 4/8/2016 11:18

Como o Youtube é a nossa nova sala de aulas deixo aqui uns links onde se ensina a programar em R e em python

https://www.youtube.com/user/marinstatlectures/videos

https://www.youtube.com/user/Albert10110/videos

(o primeiro é para R, o segundo são tutoriais para python)
 
Mensagens: 670
Registado: 13/11/2008 20:09
Localização: 20

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

por NM_2 » 4/8/2016 10:48

Só para dar os parabéns e deixar uma dica:

Uma base de dados em PostgresSQL para huge data é meio caminho para o R ser mais rápido...
 
Mensagens: 1536
Registado: 2/9/2014 22:13

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

por hugob0ss » 4/8/2016 10:38

Parabéns pela iniciativa, vou acompanhar sempre que possível.
Cumps,
Hugo
O mercado tem sempre razão, a não ser que esteja obviamente errado.
 
Mensagens: 339
Registado: 23/10/2008 14:18
Localização: 16

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

por danieljpires » 4/8/2016 1:09

Boa noite pessoal

As pessoas com quem falo que trabalham em Big Data estao a utilizar mais o R que Python devido ao R ser um programa para matemáticos logo tudo que tenha a ver com analise estatistica ou modelação de grandes bases de dados esta a ser analisado em R (o R esta a substituir o python).
Eles até acham o R mais simples de trabalhar e de programar que o python.

Quando comecei a aprender a programar em programas de analise e de simulação na faculdade ( MATLAB) usavamos para simular computacionalmente reles, tiristors, circuitos eléctricos, etc, depois nas ultimas cadeiras usávamos o matlab para modelar redes de distribuição em malha, ou seja o Matlab serve para tudo que respeite leis e formulas (tem uma livraria gigantesca)

O problema que aqui se levanta não é bem o uso de um programa ou de outro (na pratica vao todos fazer o mesmo, com mais trabalho ou menos trabalho), mas saber escolher a informação que se pretende filtrar para a análise estatística. (pois o ricardmag diz e muito bem o tempo de processamento e analise é demasiado importante.)

Saber quais os dados que se pretende analisar (cotações, indices, empresas, materias primas, paises, dados analise fundamentais, dados técnicos de mercado, , moedas etc)
Saber as datas temporais para a analise (muito importante pois aqui podemos descartar datas ou eventos que distorcionaram as amostras) - nao se deve colocar todo o espectro temporal (por muito que seja contra-intuitivo)
Saber as informações que se pretende ( quando se faz um estudo ou uma analise ja se tem uma ideia do pretendido antes mesmo de começar a usar a "força bruta")

Tipo de analise a efectuar : Se o processamento das informações demorar uma vida (isso pode acontecer), pode-se usar sistemas de analise que peguem em pequenas amostras ou sondagens (ha dezenas de métodos e quase todos derivam das cadeias de decisão de markov) e depois faça um relatório com uma margem de erro aceitável.

Por acaso a analise de Big Data tem crescido muito em todo o mundo não só nas finanças mas também na medicina (descoberta de novos farmacos e terapias) e engenharia
 
Mensagens: 670
Registado: 13/11/2008 20:09
Localização: 20

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

por VirtuaGod » 4/8/2016 0:51

@ricardmag Se fossemos fazer algo de high frequency trading preocuparia-me com a velocidade. Tudo tem vantagens e desvantagens. Neste caso a simplicidade da linguagem + opensource + muito usada/comunidade torna o python e o R o ideal para o que quero fazer. Obviamente têm limitações como a velocidade/RAM. Não é por nada que sites como o quantopian usam python [ligado ao API da Interactive Brokers]. O meu objectivo é análise estatística/econométrica dos mercados financeiros (assim como ns backtests e análises de carteiras de fundos).

@Dr Tretas Não deixas de ter razão. Mas isso fica para a 1ª aula :!: Esse e o do RStudio!!

SFT Foi lá (no coursera) que aprendi python. A grande maioria dos cursos são grátis se não quiseres um certificado. Felicidade ao fazer o pong em python depois de 5 horas a lutar com o código :-)

Para o que faço o datacamp é muito mais útil pois tem montes de coisas em R (incluindo R para finanças) e por isso figura na bibliografia. É um site de aprendizagem interactiva que é um óptimo complemento aos estudo via livros. Custa $25/mês mas vale bem a pena fazer os módulos deles.

Eu qualquer dia tenho de me dedicar ao excel, mas não vai ser em breve.

@lfhm83 O objectivo passaria muito mais por fazer algo semelhante a um Portfolio Visualizer europeu. R não é bom para sites. Teríamos de ir para Python no que diz respeito ao tratamento de dados e muito provavelmente outras linguagens para a parte do site. Tenho com objectivo no futuro fazer uns Nanodegrees da Udacity para ver a viabilidade de criar um site desses mas um passo de cada vez 8-) (para além que entretanto tenho é de fazer o CFA)

@Cem Estou convencido que teremos várias conversas interessantes. A nossa posição nos mercados é bastante diferente (mesmo a minha visão de gestão activa nada tem a haver com timming e compras/vendas) e penso que os teus inputs serão interessantes em contrabalanço das minhas ideias. O objectivo é evoluirmos todos um pouco. Nestas andanças também sou leigo mas um dia havemos de lá chegar :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 BearManBull » 4/8/2016 0:15

Pah isso era espectacular era se tivesse uma API Javascript para embeber em sitios web, fazia-se jà um investing.pt

A parte de processamento de dados è realmente interessante e pode-se encapsular em web services, já a parte de desenhar o ecran è sempre um problema, vi que hà algumas libs disponiveis mas o interface nao me parece nada de user friendly e claro que nao se pode interagir via web. O ùnico interface decente que jà vi è o do ProRealTime que è java puro e devem ter um engine de plot pròprio.

Fica mais um conhecimento interessante, pode ser que lhe dê uso no futuro, jà conhecia MatLab foi bom na faculdade e ficou-se por aì... È bom para quem trabalha na F1 :mrgreen:
“It is not the strongest of the species that survives, nor the most intelligent, but rather the one most adaptable to change.”
― Leon C. Megginson
Avatar do Utilizador
 
Mensagens: 8728
Registado: 15/2/2011 11:59
Localização: 22

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

por SFT » 3/8/2016 23:20

Obrigado pelo tópico!

Actualmente utilizo o Excel, via Visual Basic, para criar e testar oportunidades e comportamentos e já pensei seriamente em usar ou Python ou R para os testes mas a falta de tempo (e às vezes de paciência) impede.me de avançar ao ritmo que queria.

Posto isto, o site que o Dr. Tretas indicou é muito útil.

O site http://www.coursera.org tem inúmeros cursos de programação e data mining (alguns pagos, outros não; confesso que não sei o critério da coisa).

E depois há o livecoding (http://www.livecoding.tv) mas não tem R, acho.

E o youtube :)
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 Cem pt » 3/8/2016 23:10

Amigo VG:

Da minha parte podes contar com um leigo aprendiz numa matéria que desconheço mas certamente muito me irá interessar porque é uma parte deste, para mim, hobby fascinante que faz com que o tempo passe sem dar por ele na abordagem a tudo o que diga respeito aos mercados financeiros.

Obrigado pela tua disponibilidade e cá ficarei atento aos próximos capítulos que certamente muito prometem.

Abraço.
O autor não assume responsabilidades por acções tomadas por quem quer que seja nem providencia conselhos de investimento. O autor não faz promessas nem oferece garantias nem sugestões, limita-se a transmitir a sua opinião pessoal. Cada um assume os seus riscos, incluindo os que possam resultar em perdas.


Citações que me assentam bem:


Sucesso é a habilidade de ir de falhanço em falhanço sem perda de entusiasmo – Winston Churchill

Há milhões de maneiras de ganhar dinheiro nos mercados. O problema é que é muito difícil encontrá-las - Jack Schwager

No soy monedita de oro pa caerle bien a todos - Hugo Chávez


O day trader trabalha para se ajustar ao mercado. O mercado trabalha para o trend trader! - Jay Brown / Commodity Research Bureau
 
Mensagens: 3136
Registado: 4/3/2008 17:21
Localização: 16

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

por Dr Tretas » 3/8/2016 22:56

Bom, então e um link para a homepage da linguagem:

https://www.r-project.org/

Pode ser que um dia olhe para isto.
Avatar do Utilizador
 
Mensagens: 2826
Registado: 29/10/2013 12:15
Localização: Almada City

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

por ricardmag » 3/8/2016 22:53

Quando falei em quantidade de dados não me referia propriamente ao problema de armazenamento na ram mas sim o processamento rápido de cálculos complexos com essa quantidade de dados. Tal como R o python também é interpretado e vai haver sempre o problema da rapidez de processamento. Mas se não é para calculo complexo está bom, mais que suficiente.

Em python e R não declaras tipos de variáveis, só ai é logo "bombada" para a ram e processador.
Sim, matlab é pago, por algum motivo deve ser. Também há um muito bom de estatística que é o SPSS.

Aprecio particularmente, C, C++ e C# e também dou uns toques em python. No que poder ajudar vou participar.

Cumprimentos
"Quando a música acaba, apagam-se as luzes." The Door's
Avatar do Utilizador
 
Mensagens: 5395
Registado: 3/4/2014 15:17

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

por VirtuaGod » 3/8/2016 22:14

ricardmag Escreveu:O R até pode ser bom para iniciantes mas tem alguns problemas quando a quantidade de dados aumenta.
Eu aconselhava a dar uma vista de olhos no matlab. Também já tem muitas muitas livrarias relacionadas com finanças.

Discordo, embora não seja completamente mentira o que dizes. R tem o problema de limitação de quantidade de dados devido à Ram do computador. Há soluções para isso mas penso que é algo que não se coloca uma vez que não iremos tratar de Big Data. R não é para iniciantes e a linguagem é até mais usada do que Matlab (The Top Programming Languages 2015).

Se fosse efectivamente algo que nos limitasse provavelmente iria para Python. Quase tudo o que R faz é possível em Python. Quase tudo o que Matlab faz é possível em Python. A verdade é que existissem estes livros em Python em vez de R (os da parte 3 - R para Finanças) provavelmente era no que eu pegaria, nunca em Matlab. Matlab tem a desvantagem de ser $$$$$$. Aliás cada vez mais Python, via distribuições como a "Anaconda", vêm substituindo o Matlab, não só por ser "open source" como porque a linguagem ser simplesmente fantástica. Muita gente também não tem de aprender a linguagem de Matlab porque já sabe programar em Python.

R é mais académico e estatístico já de raiz enquanto Python é mais programação 'normal' com add-ons específicos para análise estatística e financeira. Por isso acho que mais cedo ou mais tarde irei unir Python e R aqui no tópico (mais que não seja porque adoro python 8-) ).

econometria é uma coisa que eu torço um bocado o nariz

Suponho que seja como tudo, as ferramentas são tão boas como as pessoas que as usam (ou os interesses por detrás da sua utilização). O Excel dá para coisas fantásticas mas nas mãos dos nossos ministros das finanças parece uma 'bola de cristal' que dá sempre para o torto :wall: (ironicamente existe um add-on para excel com o nome 'Crystal Ball' que efectivamente os nossos ministros não perderiam nada em aprender a usar :-$ )
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 Artista Romeno » 3/8/2016 21:32

econometria é uma coisa que eu torço um bocado o nariz, mas boa iniciativa, estou curioso para ver o que se irá passar aqui, dentro dos meus moderados conhecimentos sobre o tema opinarei :wink:
As opiniões expressas baseiam-se essencialmente em análise fundamental, e na relação entre o valor de mercado dos ativos e as suas perspectivas futuras de negocio, como tal traduzem uma interpretação pessoal da realidade,devendo como tal apenas serem consideradas como uma perspetiva meramente informativa sobre os ativos em questão, não se constituindo como sugestões firmes de investimento
Avatar do Utilizador
 
Mensagens: 5385
Registado: 4/4/2014 18:06
Localização: Iberia

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

por ricardmag » 3/8/2016 21:02

Sem duvida que é um tema interessante.

O R até pode ser bom para iniciantes mas tem alguns problemas quando a quantidade de dados aumenta.
Eu aconselhava a dar uma vista de olhos no matlab. Também já tem muitas muitas livrarias relacionadas com finanças.

Cumprimentos
"Quando a música acaba, apagam-se as luzes." The Door's
Avatar do Utilizador
 
Mensagens: 5395
Registado: 3/4/2014 15:17

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

por VirtuaGod » 3/8/2016 20:19

Imagem

Tal como com o tópico de "Finanças e Fundos de Investimentos" (que irá sofrer uma actualização em breve) a ideia que tenho com este tópico é transmitir o que vou aprendendo. Sou um newbie no que diz respeito a programação e está relativamente longe da minha formação profissional. Contudo a vontade de aprender coisas novas que possa aplicar ao mundo financeiro + forte interesse em computadores deu origem a que eu começasse a estudar programação, seja em R ou em Python.

Dito isto debati-me bastante sobre o nome que daria ao tópico. Poderia ser "Programação para Finanças", uma vez que será natural no futuro colocar aqui coisas sobre/em Python. Pensei em criar vários tópicos, com nome por exemplo "Básico de R", "R para estatística", "R para finanças", "R para econometria" etc. Contudo decidi por algo mais genérico porque será principalmente centrado em coisas com aplicabilidade nos mercados financeiros. Para quem percebe econometria posso dizer que não haverá análise de dados em painel mas só e apenas de séries temporais, algo que fez com que não fizesse o tópico "R para econometria", uma vez que estaria incompleto, pois apenas uma secção nos interessa.

Optei por colocar a palavra "programação" no título porque algumas pessoas poderão não saber o que é R e para o que serve. Um dos objectivos é exactamente dar um impulso no conhecimentos destes fantásticos software "open source".

Este tópico não é contudo apenas limitado a quem pretende aprender programação, uma vez que no futuro vamos falar de estatística e econometria e quem percebe destes temas poderá muito bem entrar em saudável discussão sem perceber o código inerente. Haverá talvez muita gente com boas ideias e conhecimento que nem pretende aprender código.

Podem inicialmente pensar em R como um super excel. No início o que faremos pode ser perfeitamente feito em Excel até de uma forma mais simples. Quando comecei a aprender muito me questionei porque estava a fazer algo que me estava a demorar 30 minutos em R quando em excel demoraria apenas 5 minutos. Com o passar do tempo vamos cada vez escrevendo código mais rápido e aprendemos truques com fazer copy/paste de código já escrito por nós e fazer apenas pequenas alterações (há quem chegue a fazer programas para os ajudar a fazer outros programas :mrgreen: ).Quando comecei a tornar isto em algo com maior escala apercebi-me que a repetição de tarefas fica quase completamente automatizada e o que excel se torna muitos 5 minutos, em R depois dos 30 minutos iniciais pouco mais há a fazer :wink:

O programa tem também a vantagem de ser "leve" para o computador. O excel que uso com os fundos, à medida que vai crescendo começa a tornar-se ridiculamente pesado e tenho muitas vezes dificuldades nas análises no meu portátil fraquinho :cry: Este é só quase carregar em F5 em esperar uns segundo que aparece tudo feito, isto se fizermos do início porque se for só incrementar dados é num abrir e fechar de olhos.

As aulas serão muito curtas (10 a 15 minutos) de forma a que mesmo pessoas ocupadas possam usufruir da aprendizagem. O objectivo é que mesmo com esses 10 a 15 minutos diários ao final de 12 a 18 meses as pessoas saibam usar o R não só para finanças mas também aprender estatística e econometria (pelo menos séries temporais) em R e fazer as suas próprias análises do mercado financeiro. Haverá aulas de exercícios que aconselho que deixem para os fins de semana ou um período que tenham mais tempo para terem o à vontade/paciência para realmente aprenderem. Vão muitas vezes lutar com o código por isso aconselho que façam os exercícios com tempo. Pessoalmente já passei 30 minutos à procura de um erro que era apenas um parênteses que não estava fechado :evil:

Outro dos objectivos é que eu tenha algo que não só me ajuda no estudo (falar e explicar os temas é muito didáctico) como eu ter um guia para no futuro saber o que fazer e como fazer. Onde eu tenha já o código.

Por outro lado, e tendo em consideração o que aconteceu com o tópico dos fundos, gostaria muito de ver uma comunidade para falar e discutir as coisas que me interessam.

O tópico irá ser muito semelhante a um livro e posso já dar uma ideia do índice e objectivos assim como da bibliografia de cada parte se quiserem ir ver do que vou falar.

Parte 1:
Básico de R

Aula 1_01: Instalação de R e RStudio (10 minutos)
Aula 1_02: Personalização do ambiente de trabalho (10 minutos)
Aula 1_03: Aritmética (10 minutos)
Aula 1_05: Variáveis (5 minutos)
Aula 1_06: O nosso primeiro Script (10 minutos)

Bibliografia:

. Data Science and Machine Learning Bootcamp with R
. The Book of R: A First Course in Programming and Statistics
. R in Action: Data Analysis and Graphics with R
. Datacamp


Parte 2:
R para Estatística

. The Book of R: A First Course in Programming and Statistics
. Statistics (The Easier Way) with R: an informal text on applied statistics
. Datacamp


Parte 3:
R para Finanças

. Analyzing Financial Data and Implementing Financial Models Using R (Springer Texts in Business and Economics
. Financial Risk Modelling and Portfolio Optimization with R
. Financial Analytics with R: Building a Laptop Laboratory for Data Science
. Datacamp


Parte 4:
R para Séries Temporais

. Time Series Analysis (Springer Texts in Statistics)
. Multivariate Time Series Analysis: With R and Financial Applications (Wiley Series in Probability and Statistics)
. Practical Time Series Forecasting with R: A Hands-On Guide [2nd Edition] (Practical Analytics)


Parte 5:
Machine Learning e Sistemas Preditivos em R

. Fundamentals of Machine Learning for Predictive Data Analytics: Algorithms, Worked Examples, and Case Studies (MIT Press)
. Mastering Predictive Analytics with R
. DataCamp: Introduction to Machine Learning
. An Introduction to Statistical Learning: with Applications in R (Springer Texts in Statistics)
. Machine Learning with R - Second Edition

Bom material de estudo Grátis (a maioria em inglês)

R

:arrow: Modern Drive - An Introduction to Statistical and Data Sciences via R by Chester Ismay and Albert Y. Kim
:arrow: Introdução a R

Python

Python Data Science Handbook by Jake VanderPlas
Editado pela última vez por VirtuaGod em 1/9/2017 2:47, num total de 19 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

Anterior

Quem está ligado:
Utilizadores a ver este Fórum: Andre vez, Bing [Bot], dragom, Goya777, JoeP, latbal, m-m, malakas, Masterchief, MR32, nunorpsilva, OCTAMA, PAULOJOAO, peterteam2, PMP69, Shift72, zulu404 e 228 visitantes