Programação para Finanças (R/Python)
- Mensagens: 51
- Registado: 30/1/2008 15:25
Re: Programação para Finanças (R/Python)
VirtuaGod Escreveu:Tenho andado afastado deste mundo mas vou voltar a estudar programação nos próximos 2 meses até ao final do ano, altura em que deverei focar no nível 2 do CFA.
Avanços:
Descoberta do kernel SoS para o juyter notebook. Permite seleccionar qual a linguagem que queremos usar em cada célula do notebook. Pela primeira vez tenho usado R e Python no mesmo jupyter notebook, como se fossem a mesma linguagem.
https://vatlab.github.io/sos-docs/
Objectivo:
Aprender Julia até ao final do ano para fazer as simulação de Monte Carlo. Julia é outra linguagem, que é quase tão simples de escrever como R ou Python mas que é quase tão rápido como C++
As minhas experiências para testar a velocidade foi uma simulação de Monte Carlo com 100 milhões de iterações para descobrir o valor de "pi". Ou seja a mesma coisa nas 3 linguagens. O tempo demorado foi:
R: 5 minutos e 15 segundos
Python: 2 minutos e 16 segundos
Julia: 0.9 segundos.
Sim, menos de um segundo em Julia. Não é erro
Uma vez que posso usar qualquer linguagem em cada célula nos Jupyter Notebooks o objectivo é usar Julia mesmo só para as simulações de Monte Carlo, transformando o tempo que elas demoram a fazer de 3 minutos para 2 segundos!
bom pode ser que seja esse do julia que vou aprender o phyton para ter dados de 600 ações e um bocado pesado mais vale ver a velha do salmo a rezar, tive um estagiario que me fez o programa agora pelo menos já sei carregar F5
mas o que leva a escrever é o CFA L2 que passei este ano, eu só digo que nesta fase do campeonato já andava era a estudar ´há mais de 3 meses.... é que o nivel 2 é bem mais tramado que o 1 e apesar de nao ter tanta contabilidade do que disses-te nao gostar se me lembro a que tem é tramada e a parte mais mal explicada do curriculo todo.....o 2 faz o um parecer um brincadeira só digo isto. Fiquei no percentil 90 mas vi o caso mal parado tanto que logo ali em agosto comprei os livros de exames do kaplan
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
Re: Programação para Finanças (R/Python)
VirtuaGod Escreveu:Tenho andado afastado deste mundo mas vou voltar a estudar programação nos próximos 2 meses até ao final do ano, altura em que deverei focar no nível 2 do CFA.
Avanços:
Descoberta do kernel SoS para o juyter notebook. Permite seleccionar qual a linguagem que queremos usar em cada célula do notebook. Pela primeira vez tenho usado R e Python no mesmo jupyter notebook, como se fossem a mesma linguagem.
https://vatlab.github.io/sos-docs/
Objectivo:
Aprender Julia até ao final do ano para fazer as simulação de Monte Carlo. Julia é outra linguagem, que é quase tão simples de escrever como R ou Python mas que é quase tão rápido como C++
As minhas experiências para testar a velocidade foi uma simulação de Monte Carlo com 100 milhões de iterações para descobrir o valor de "pi". Ou seja a mesma coisa nas 3 linguagens. O tempo demorado foi:
R: 5 minutos e 15 segundos
Python: 2 minutos e 16 segundos
Julia: 0.9 segundos.
Sim, menos de um segundo em Julia. Não é erro
Uma vez que posso usar qualquer linguagem em cada célula nos Jupyter Notebooks o objectivo é usar Julia mesmo só para as simulações de Monte Carlo, transformando o tempo que elas demoram a fazer de 3 minutos para 2 segundos!
Tem cuidado com esses benchmarks porque não contam a história toda. Para além disso, se correres as extensões C para o Python (Cython) tens uma performance completamente diferente - o teu código provavelmente não está optimizado. Eu entendo o fascínio do Julia - eu próprio aprendi Julia em dois dias, mas não estou nada rendido. Se quero ter performance, continuo a programar em C++. E o R é muito bom para testar algoritmos e para a produção de resultados gráficos. As únicas coisas que me farão migrar do R para o Julia serão a quantidade de bibliotecas, a criação de uma comunidade com massa crítica e a resolução de alguns bugs. Tenho usado o Juno como IDE e não estou muito impressionado, devo dizê-lo. Mas estes próximos dias irei explorar mais o Julia, dado que queria construir um package como exercício. Talvez mude de opinião num futuro não muito longínquo, mas a minha opinião sobre o Julia, de momento, é tépida.
Re: Programação para Finanças (R/Python)
Tenho andado afastado deste mundo mas vou voltar a estudar programação nos próximos 2 meses até ao final do ano, altura em que deverei focar no nível 2 do CFA.
Avanços:
Descoberta do kernel SoS para o juyter notebook. Permite seleccionar qual a linguagem que queremos usar em cada célula do notebook. Pela primeira vez tenho usado R e Python no mesmo jupyter notebook, como se fossem a mesma linguagem.
https://vatlab.github.io/sos-docs/
Objectivo:
Aprender Julia até ao final do ano para fazer as simulação de Monte Carlo. Julia é outra linguagem, que é quase tão simples de escrever como R ou Python mas que é quase tão rápido como C++
As minhas experiências para testar a velocidade foi uma simulação de Monte Carlo com 100 milhões de iterações para descobrir o valor de "pi". Ou seja a mesma coisa nas 3 linguagens. O tempo demorado foi:
R: 5 minutos e 15 segundos
Python: 2 minutos e 16 segundos
Julia: 0.9 segundos.
Sim, menos de um segundo em Julia. Não é erro
Uma vez que posso usar qualquer linguagem em cada célula nos Jupyter Notebooks o objectivo é usar Julia mesmo só para as simulações de Monte Carlo, transformando o tempo que elas demoram a fazer de 3 minutos para 2 segundos!
Avanços:
Descoberta do kernel SoS para o juyter notebook. Permite seleccionar qual a linguagem que queremos usar em cada célula do notebook. Pela primeira vez tenho usado R e Python no mesmo jupyter notebook, como se fossem a mesma linguagem.
https://vatlab.github.io/sos-docs/
Objectivo:
Aprender Julia até ao final do ano para fazer as simulação de Monte Carlo. Julia é outra linguagem, que é quase tão simples de escrever como R ou Python mas que é quase tão rápido como C++
As minhas experiências para testar a velocidade foi uma simulação de Monte Carlo com 100 milhões de iterações para descobrir o valor de "pi". Ou seja a mesma coisa nas 3 linguagens. O tempo demorado foi:
R: 5 minutos e 15 segundos
Python: 2 minutos e 16 segundos
Julia: 0.9 segundos.
Sim, menos de um segundo em Julia. Não é erro
Uma vez que posso usar qualquer linguagem em cada célula nos Jupyter Notebooks o objectivo é usar Julia mesmo só para as simulações de Monte Carlo, transformando o tempo que elas demoram a fazer de 3 minutos para 2 segundos!
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
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
Re: Programação para Finanças (R/Python)
VirtuaGod Escreveu:JohnyRobaz Escreveu:Achas que a informação fornecida é credível, sendo gratuita?
É. Aquilo tem um hedge fund por detrás. Devem gastar bom $ a fazer o sistema.JohnyRobaz Escreveu:E para obter info de outros mercados, há fontes do género, gratuitas?
Consegues arranjar cenas gratuitas da yahoo finance ou da google finance mas se queres coisas boas tens de pagar. O Quandl é um bom sítio para começares a pesquisar o que de melhor há por aí.Outra questão é: de entre o macOS e o Linux no Ubuntu, qual o melhor sistema para programar este tipo de coisas, mais relacionadas com algoritmos de trading, obtenção de dados online, tratamento destes, etc?
Provavelmente tanto faz. A maioria dos IDEs (software onde programas) funciona nos 3 principais sistemas (os dois que falas + windows). Se vais usar quantopian provavelmente até só precisas de um browser, por isso... usa o sistema com que te sentes mais à vontade!!
Obrigado VG, vou de facto tentar fazer alguns da Udemy depois de varrer estes leituras do Quantopian, que são gratuitas e já devem dar umas bases de partida. Infelizmente não tenho muito tempo para isto, e além do mais sou engenheiro de formação e noto que mesmo tendo algumas bases de estatística, há muita coisa que me falha e preciso de mais tempo para recordar conceitos de estatística associados ao risco e aplicar a finanças. Basicamente, há todo um mundo para desbravar em várias frentes e em simultâneo.
“E assim como sonho, raciocino se quero, porque isso é apenas uma outra espécie de sonho.”, Fernando Pessoa
“Nothing good ever comes of love. What comes of love is always something better” , Roberto Bolaño
"A ciência e o poder do homem coincidem, uma vez que, sendo a causa ignorada, frustra-se o efeito. Pois a natureza não se vence, senão quando se lhe obedece." Francis Bacon
“Nothing good ever comes of love. What comes of love is always something better” , Roberto Bolaño
"A ciência e o poder do homem coincidem, uma vez que, sendo a causa ignorada, frustra-se o efeito. Pois a natureza não se vence, senão quando se lhe obedece." Francis Bacon
Re: Programação para Finanças (R/Python)
JohnyRobaz Escreveu:Achas que a informação fornecida é credível, sendo gratuita?
É. Aquilo tem um hedge fund por detrás. Devem gastar bom $ a fazer o sistema.
JohnyRobaz Escreveu:E para obter info de outros mercados, há fontes do género, gratuitas?
Consegues arranjar cenas gratuitas da yahoo finance ou da google finance mas se queres coisas boas tens de pagar. O Quandl é um bom sítio para começares a pesquisar o que de melhor há por aí.
Outra questão é: de entre o macOS e o Linux no Ubuntu, qual o melhor sistema para programar este tipo de coisas, mais relacionadas com algoritmos de trading, obtenção de dados online, tratamento destes, etc?
Provavelmente tanto faz. A maioria dos IDEs (software onde programas) funciona nos 3 principais sistemas (os dois que falas + windows). Se vais usar quantopian provavelmente até só precisas de um browser, por isso... usa o sistema com que te sentes mais à vontade!!
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
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
Re: Programação para Finanças (R/Python)
VirtuaGod Escreveu:Thoth Escreveu:Não esquecer que para trading automático é necessário que a corretora tenha API.
Interactive Brokers + Python A API da IB até dá as cotações intraday dos últimos 15 diasjá ouviste falar da EasyLanguage? Se sim, achas que é superior ao Python no que toca a aplicar em sistemas de trading automático? Ou é menos abrangente e portanto pior?
Não vejo vantagens ou desvantagens numa ou noutra linguagem. Aqui a diferença está na comunidade e no $. A quantopian tem uma boa comunidade python e é tudo gratuito. Por outro lado a comunidade da TradeStation é fechada a clientes deles, e não é nada barato ser cliente deles. No meu tempo de trading eram 100 usd ao mês.
Penso que o mais importante no mundo da programação são as comunidades. Isso fomenta muito a existência de uma saudável troca de ideias e a existência de bons tutoriais para aprender a linguagem. Para quem está a começar e não entre naquele nível super-evoluído tanto me faz escrever em R, Python, JavaScript, Julia, Go, Java etc etc Uma diferença significativa seria se uma fosse high level e outra low level, mas não é o caso pelo que não deve fazer grande diferença em termos técnicos e de dificuldade (ambas são high level).
Ok, vou tentar abordar isto através do python.
Uma coisa que não estava à espera e que vi na primeira lecture do Quantopian é que eles têm uma API que, caso trabalhemos num notebook do próprio Quantopian, nos fornece através do get_pricing os preços e volumes das cotadas norte-americanas, tal como, através de outras funções, obter outros dados financeiros. Achas que a informação fornecida é credível, sendo gratuita? Dava imenso jeito, ainda por cima com as funções já preparadas. E para obter info de outros mercados, há fontes do género, gratuitas? Peço que percebi tu trabalhas mais com fundos, e não tanto com acções directamente, mas espero que me consigas elucidar.
Outra questão é: de entre o macOS e o Linux no Ubuntu, qual o melhor sistema para programar este tipo de coisas, mais relacionadas com algoritmos de trading, obtenção de dados online, tratamento destes, etc? Como deves estar a perceber, estou a principiar o nível principiante...
Abraço
“E assim como sonho, raciocino se quero, porque isso é apenas uma outra espécie de sonho.”, Fernando Pessoa
“Nothing good ever comes of love. What comes of love is always something better” , Roberto Bolaño
"A ciência e o poder do homem coincidem, uma vez que, sendo a causa ignorada, frustra-se o efeito. Pois a natureza não se vence, senão quando se lhe obedece." Francis Bacon
“Nothing good ever comes of love. What comes of love is always something better” , Roberto Bolaño
"A ciência e o poder do homem coincidem, uma vez que, sendo a causa ignorada, frustra-se o efeito. Pois a natureza não se vence, senão quando se lhe obedece." Francis Bacon
Re: Programação para Finanças (R/Python)
Thoth Escreveu:Não esquecer que para trading automático é necessário que a corretora tenha API.
Interactive Brokers + Python A API da IB até dá as cotações intraday dos últimos 15 dias
já ouviste falar da EasyLanguage? Se sim, achas que é superior ao Python no que toca a aplicar em sistemas de trading automático? Ou é menos abrangente e portanto pior?
Não vejo vantagens ou desvantagens numa ou noutra linguagem. Aqui a diferença está na comunidade e no $. A quantopian tem uma boa comunidade python e é tudo gratuito. Por outro lado a comunidade da TradeStation é fechada a clientes deles, e não é nada barato ser cliente deles. No meu tempo de trading eram 100 usd ao mês.
Penso que o mais importante no mundo da programação são as comunidades. Isso fomenta muito a existência de uma saudável troca de ideias e a existência de bons tutoriais para aprender a linguagem. Para quem está a começar e não entre naquele nível super-evoluído tanto me faz escrever em R, Python, JavaScript, Julia, Go, Java etc etc Uma diferença significativa seria se uma fosse high level e outra low level, mas não é o caso pelo que não deve fazer grande diferença em termos técnicos e de dificuldade (ambas são high level).
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
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
Re: Programação para Finanças (R/Python)
Thoth Escreveu:Não esquecer que para trading automático é necessário que a corretora tenha API.
Cumprimentos e bons negócios
Sim, mas o meu objectivo para já nem é a realização das operações em concreto, mas mais a parte da obtenção de ordens de compra/venda, e a realização de backtests com diversos sistemas analisando a maior rentabilidade com base em vários parâmetros. Mas sim, no futuro, talvez associar a uma corretora com API.
VirtuaGod Escreveu:Tens acesso "eterno" aos vídeos e apontamentos (Jupyter Notebooks muito bons). Mas a isso tens de associar a comunidade. Há sempre alguém a tirar o curso e se as coisas ficarem deactualizadas ou o código quebrar "chateiam-no" logo e ele tenta resolver.
Boa, isso é bom. Outra questão, ja ouviste falar da EasyLanguage? Se sim, achas que é superior ao Python no que toca a aplicar em sistemas de trading automático? Ou é menos abrangente e portanto pior?
Cumps!
“E assim como sonho, raciocino se quero, porque isso é apenas uma outra espécie de sonho.”, Fernando Pessoa
“Nothing good ever comes of love. What comes of love is always something better” , Roberto Bolaño
"A ciência e o poder do homem coincidem, uma vez que, sendo a causa ignorada, frustra-se o efeito. Pois a natureza não se vence, senão quando se lhe obedece." Francis Bacon
“Nothing good ever comes of love. What comes of love is always something better” , Roberto Bolaño
"A ciência e o poder do homem coincidem, uma vez que, sendo a causa ignorada, frustra-se o efeito. Pois a natureza não se vence, senão quando se lhe obedece." Francis Bacon
Re: Programação para Finanças (R/Python)
Não esquecer que para trading automático é necessário que a corretora tenha API.
Cumprimentos e bons negócios
Cumprimentos e bons negócios
“O que está em cima é como o que está em baixo, e o que está em baixo é como o que está em cima”
Re: Programação para Finanças (R/Python)
Tens acesso "eterno" aos vídeos e apontamentos (Jupyter Notebooks muito bons). Mas a isso tens de associar a comunidade. Há sempre alguém a tirar o curso e se as coisas ficarem deactualizadas ou o código quebrar "chateiam-no" logo e ele tenta resolver.
Para ser honesto não tirei (ainda) a parte de Trading mas sei que é com base no quantopian e por isso terás acesso simples e grátis a acções/ETFs americanos. Não sei qual a facilidade de transformar isso em trading para fora da plataforma quantopian mas não deverá ser nada do outro mundo.
Se estás a começar com python recomendo seguires o curso todo pois mesmo que faças/vejas coisas que não te interessam muito vais aprendendo python com os projectos dele (sempre ligados a finanças nesse curso). Por 10 euros não tens muito a perder mas a udemy ainda te dá um money-back-guarantee de 30 dias se ficares insatisfeito
Para ser honesto não tirei (ainda) a parte de Trading mas sei que é com base no quantopian e por isso terás acesso simples e grátis a acções/ETFs americanos. Não sei qual a facilidade de transformar isso em trading para fora da plataforma quantopian mas não deverá ser nada do outro mundo.
Se estás a começar com python recomendo seguires o curso todo pois mesmo que faças/vejas coisas que não te interessam muito vais aprendendo python com os projectos dele (sempre ligados a finanças nesse curso). Por 10 euros não tens muito a perder mas a udemy ainda te dá um money-back-guarantee de 30 dias se ficares insatisfeito
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
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
Re: Programação para Finanças (R/Python)
VirtuaGod Escreveu:Para mim aprender python tem um nome. Jose Portilla.
Tenho quase todos os cursos dele na Udemy que costumo comprar por cerca de 10 a 12 euros (pesquisem no google por "udemy coupon 10" e/ou usem o incognito mode por causa das cookies). Para a qualidade e QUANTIDADE de informação fornecida 10 euros é praticamente grátis e poupa-me o tempo que poderia perder (e perdi) com tutoriais inferiores e/ou desactualizados.
Ajuda obviamente terem um projecto que vão desenvolvendo ao mesmo tempo que vão aprendendo pois absorver a informação só vendo os vídeos não vão a lado nenhum!! Por isso é que eu faço tantos projectos e partilho aqui na comunidade Terem uma ideia clara do que querem fazer com o que vão aprender é meio caminho andado!!
Tem DOIS cursos em python que são brilhantes e que efectivamente foram 100% em linha com o que eu queria:
Python for Data Science and Machine Learning Bootcamp: https://www.udemy.com/python-for-data-science-and-machine-learning-bootcamp
Python for Financial Analysis and Algorithmic Trading: https://www.udemy.com/python-for-finance-and-trading-algorithms
Sim, concordo que aprender só por aprender é um pouco perder tempo. Eu queria aprender com foco exactamente para desenvolver um sistema de trading automático / algorítmico. Ou algo realmente próximo disso. Vejo que o segundo curso que propões está relacionado com isso. Se comprares esse curso, ficas com acesso aos vídeos/artigos etc por tempo indeterminado? Ou passados uns dias ficas sem acesso? Estou a ponderar seriamente nesse.
Nunca uso versões de nada com mais de um ano e se possível sempre as mais actuais. Python 3, pandas, matplotlib etc etc
Pois também penso assim, vale sempre mais ter as versões mais actualizadas, mas pronto, poderia ir dar ao mesmo.
Obrigado pelas respostas.
“E assim como sonho, raciocino se quero, porque isso é apenas uma outra espécie de sonho.”, Fernando Pessoa
“Nothing good ever comes of love. What comes of love is always something better” , Roberto Bolaño
"A ciência e o poder do homem coincidem, uma vez que, sendo a causa ignorada, frustra-se o efeito. Pois a natureza não se vence, senão quando se lhe obedece." Francis Bacon
“Nothing good ever comes of love. What comes of love is always something better” , Roberto Bolaño
"A ciência e o poder do homem coincidem, uma vez que, sendo a causa ignorada, frustra-se o efeito. Pois a natureza não se vence, senão quando se lhe obedece." Francis Bacon
Re: Programação para Finanças (R/Python)
Para mim aprender python tem um nome. Jose Portilla.
Tenho quase todos os cursos dele na Udemy que costumo comprar por cerca de 10 a 12 euros (pesquisem no google por "udemy coupon 10" e/ou usem o incognito mode por causa das cookies). Para a qualidade e QUANTIDADE de informação fornecida 10 euros é praticamente grátis e poupa-me o tempo que poderia perder (e perdi) com tutoriais inferiores e/ou desactualizados.
Ajuda obviamente terem um projecto que vão desenvolvendo ao mesmo tempo que vão aprendendo pois absorver a informação só vendo os vídeos não vão a lado nenhum!! Por isso é que eu faço tantos projectos e partilho aqui na comunidade Terem uma ideia clara do que querem fazer com o que vão aprender é meio caminho andado!!
Tem DOIS cursos em python que são brilhantes e que efectivamente foram 100% em linha com o que eu queria:
Python for Data Science and Machine Learning Bootcamp: https://www.udemy.com/python-for-data-science-and-machine-learning-bootcamp
Python for Financial Analysis and Algorithmic Trading: https://www.udemy.com/python-for-finance-and-trading-algorithms
Nunca uso versões de nada com mais de um ano e se possível sempre as mais actuais. Python 3, pandas, matplotlib etc etc
P.S. Se dinheiro não for muito um problema e poderem investir 30 euros mês recomendo o datacamp Tb tem coisas interessantes ligadas a finanças.
Tenho quase todos os cursos dele na Udemy que costumo comprar por cerca de 10 a 12 euros (pesquisem no google por "udemy coupon 10" e/ou usem o incognito mode por causa das cookies). Para a qualidade e QUANTIDADE de informação fornecida 10 euros é praticamente grátis e poupa-me o tempo que poderia perder (e perdi) com tutoriais inferiores e/ou desactualizados.
Ajuda obviamente terem um projecto que vão desenvolvendo ao mesmo tempo que vão aprendendo pois absorver a informação só vendo os vídeos não vão a lado nenhum!! Por isso é que eu faço tantos projectos e partilho aqui na comunidade Terem uma ideia clara do que querem fazer com o que vão aprender é meio caminho andado!!
Tem DOIS cursos em python que são brilhantes e que efectivamente foram 100% em linha com o que eu queria:
Python for Data Science and Machine Learning Bootcamp: https://www.udemy.com/python-for-data-science-and-machine-learning-bootcamp
Python for Financial Analysis and Algorithmic Trading: https://www.udemy.com/python-for-finance-and-trading-algorithms
Nunca uso versões de nada com mais de um ano e se possível sempre as mais actuais. Python 3, pandas, matplotlib etc etc
P.S. Se dinheiro não for muito um problema e poderem investir 30 euros mês recomendo o datacamp Tb tem coisas interessantes ligadas a finanças.
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
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
Re: Programação para Finanças (R/Python)
Boas,
Tenho andado a ver se começo a ambientar-me no python direccionado para sistemas automáticos de trading, e comecei por aqui:
https://www.quantstart.com/articles/Installing-a-Desktop-Algorithmic-Trading-Research-Environment-using-Ubuntu-Linux-and-Python
Nesse vídeo, que penso ser de 2013, eles instalam o python 2 e que supostamente ainda funciona com o iPython, e as instalações por pip são feitas usando no ubuntu, o "pip".
No entanto, actualmente já existe o Python 3, que eu (não sei porquê, pareceu-me razoável) decidi instalar, e vez do 2, como está no vídeo. No entanto, claro que no final não consegui abrir o iPython. E pelo que percebi as instalações de bibliotecas e etc por pip no Python 3 são feitas usando "pip3" em vez de "pip". Mesmo assim, o iPython não abre como no final do vídeo, e pelo que percebi, agora nesta versão 3 o iPython foi substituido peplo Jupyter... No entanto, não sei se os tutoriais disponíveis e artigos (nesse mesmo site, por exemplo) estarão feitos de uma forma abrangente a este novo Jupyter, ou se devia instalar o Python 2 como fazem no vídeo, mesmo sendo uma versão supostamente desactualizada...
Vocês usam que versão?
Cumps!
Tenho andado a ver se começo a ambientar-me no python direccionado para sistemas automáticos de trading, e comecei por aqui:
https://www.quantstart.com/articles/Installing-a-Desktop-Algorithmic-Trading-Research-Environment-using-Ubuntu-Linux-and-Python
Nesse vídeo, que penso ser de 2013, eles instalam o python 2 e que supostamente ainda funciona com o iPython, e as instalações por pip são feitas usando no ubuntu, o "pip".
No entanto, actualmente já existe o Python 3, que eu (não sei porquê, pareceu-me razoável) decidi instalar, e vez do 2, como está no vídeo. No entanto, claro que no final não consegui abrir o iPython. E pelo que percebi as instalações de bibliotecas e etc por pip no Python 3 são feitas usando "pip3" em vez de "pip". Mesmo assim, o iPython não abre como no final do vídeo, e pelo que percebi, agora nesta versão 3 o iPython foi substituido peplo Jupyter... No entanto, não sei se os tutoriais disponíveis e artigos (nesse mesmo site, por exemplo) estarão feitos de uma forma abrangente a este novo Jupyter, ou se devia instalar o Python 2 como fazem no vídeo, mesmo sendo uma versão supostamente desactualizada...
Vocês usam que versão?
Cumps!
“E assim como sonho, raciocino se quero, porque isso é apenas uma outra espécie de sonho.”, Fernando Pessoa
“Nothing good ever comes of love. What comes of love is always something better” , Roberto Bolaño
"A ciência e o poder do homem coincidem, uma vez que, sendo a causa ignorada, frustra-se o efeito. Pois a natureza não se vence, senão quando se lhe obedece." Francis Bacon
“Nothing good ever comes of love. What comes of love is always something better” , Roberto Bolaño
"A ciência e o poder do homem coincidem, uma vez que, sendo a causa ignorada, frustra-se o efeito. Pois a natureza não se vence, senão quando se lhe obedece." Francis Bacon
Re: Programação para Finanças (R/Python)
LaTeX é de facto uma das melhores formas de fazer PDFs bonitos. É o que o RStudio usa. Dá muito jeito principalmente nas fórmulas matemáticas que ficam escritas como se fosse à mão (pretty print).
Ainda não sei usar com python mas à velocidade que a data science está a convergir para software poliglota, não tarda nada estarei a fazer RNotebooks em Python
Ainda não sei usar com python mas à velocidade que a data science está a convergir para software poliglota, não tarda nada estarei a fazer RNotebooks em Python
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
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
Re: Programação para Finanças (R/Python)
És incansável VG! Mais uma vez parabens!
Para PDFs muito bonitos, dá uma olhadela ao LaTeX. E isto aqui tb: https://www.youtube.com/watch?v=AETwIlDZyak
Cumprimentos!
Para PDFs muito bonitos, dá uma olhadela ao LaTeX. E isto aqui tb: https://www.youtube.com/watch?v=AETwIlDZyak
Cumprimentos!
Re: Programação para Finanças (R/Python)
Acho que tenho de actualizar o título porque tenho andado a brincar com JavaScript
JavaScript permite que os gráficos plotly sejam directamente integrados num site continuando a ter a interactividade com que já estamos habituados em python.
Para além disso tenho aprendido novos tipos de funcionalidades como animação. Sigam o link e cliquem em play
http://portfolioanalyser.net/4Fundos
Isto permite, entre outras coisas, a evolução de apresentações para terem um elemento de história pois dá sempre para parar o gráfico e perguntar "O que faria agora?" em vez de se ver um gráfico que se vê logo que foi "sempre" a subir
O "gráfico" está a usar todo o browser por isso se o quiserem mais pequeno tornem a janela do browser mais pequena e cliquem em refresh (depois podem voltar a maximizar a janela se quiserem).
P.S. O gráfico pode ser um pouco lento porque são as cotações diárias e são muitos pontos. Provavelmente transformarei as cotações em semanais mas acho que não precisam de esperar até ao fim para perceber a ideia do que fiz
JavaScript permite que os gráficos plotly sejam directamente integrados num site continuando a ter a interactividade com que já estamos habituados em python.
Para além disso tenho aprendido novos tipos de funcionalidades como animação. Sigam o link e cliquem em play
http://portfolioanalyser.net/4Fundos
Isto permite, entre outras coisas, a evolução de apresentações para terem um elemento de história pois dá sempre para parar o gráfico e perguntar "O que faria agora?" em vez de se ver um gráfico que se vê logo que foi "sempre" a subir
O "gráfico" está a usar todo o browser por isso se o quiserem mais pequeno tornem a janela do browser mais pequena e cliquem em refresh (depois podem voltar a maximizar a janela se quiserem).
- Código: Selecionar todos
<!DOCTYPE html>
<html>
<head>
<!-- Plotly.js -->
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
</head>
<body>
<!-- Plotly chart will be drawn inside this DIV -->
<div id="myDiv"></div>
<script>
/* JAVASCRIPT CODE GOES HERE */
Plotly.d3.csv("https://raw.githubusercontent.com/LuisSousaSilva/Articles-and-studies/master/4Fundos%20(R%20and%20Python)/Portfolios.csv", function(err, rows){
function unpack(rows, key) {
return rows.map(function(row) { return row[key]; });
}
var frames = []
var x2 = unpack(rows, '')
var y2 = unpack(rows, '4Fundos DEF')
var x = unpack(rows, '')
var y = unpack(rows, '4Fundos EW')
var x3 = unpack(rows, '')
var y3 = unpack(rows, '4Fundos AGR')
var n = 2755;
for (var i = 0; i < n; i++) {
frames[i] = {data: [
{x: [], y: []},
{x: [], y: []},
{x: [], y: []},
] }
frames[i].data[1].x = x.slice(0, i+1);
frames[i].data[1].y = y.slice(0, i+1);
frames[i].data[0].x = x2.slice(0, i+1);
frames[i].data[0].y = y2.slice(0, i+1);
frames[i].data[2].x = x3.slice(0, i+1);
frames[i].data[2].y = y3.slice(0, i+1);
}
var trace1 = {
type: "scatter",
mode: "lines",
name: '4Fundos Def',
opacity: 0.8,
x: frames[5].data[1].x,
y: frames[5].data[1].y,
line: {color: 'royalblue', width: 1.3}
}
var trace2 = {
type: "scatter",
mode: "lines",
name: '4Fundos Mod',
opacity: 0.8,
x: frames[5].data[0].x,
y: frames[5].data[0].y,
line: {color: 'dimgrey', width: 1.3}
}
var trace3 = {
type: "scatter",
mode: "lines",
name: '4Fundos Agr',
opacity: 0.7,
x: frames[5].data[0].x,
y: frames[5].data[0].y,
line: {color: '#4b0082', width: 1.3}
}
var data = [trace1, trace2, trace3];
var layout = {
title: 'Carteiras 4Fundos',
xaxis: {
range: [
frames[2754].data[0].x[0],
frames[2754].data[0].x[2754]
],
showgrid: true,
tickvals:[2008,
2009, 2010, 2011, 2012, 2013, 2014,
2015, 2016, 2017, 2018],
ticktext:[2008,
2009, 2010, 2011, 2012, 2013, 2014,
2015, 2016, 2017, 2018]
},
paper_bgcolor: 'rgb(250,250,250)',
plot_bgcolor: 'rgb(250,250,250)',
yaxis: {
range: [50, 220],
showgrid: true,
dtick: 25
},
legend: {
orientation: 'h',
x: 0.5,
y: -0.15,
xanchor: 'center'
},
updatemenus: [{
x: 0.5,
y: 0,
yanchor: "top",
xanchor: "center",
showactive: true,
direction: "left",
type: "buttons",
pad: {"t": 87, "r": 10},
buttons: [{
method: "animate",
args: [null, {
fromcurrent: true,
transition: {
duration: 0,
},
frame: {
duration: 1,
redraw: false
}
}],
label: "Play"
}, {
method: "animate",
args: [
[null],
{
mode: "immediate",
transition: {
duration: 0
},
frame: {
duration: 0,
redraw: false
}
}
],
label: "Pause"
}]
}]
};
Plotly.newPlot('myDiv', data, layout).then(function() {
Plotly.addFrames('myDiv', frames);
});
})
/* JAVASCRIPT CODE GOES HERE */
</script>
</body>
</html>
P.S. O gráfico pode ser um pouco lento porque são as cotações diárias e são muitos pontos. Provavelmente transformarei as cotações em semanais mas acho que não precisam de esperar até ao fim para perceber a ideia do que fiz
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
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
Re: Programação para Finanças (R/Python)
É ridículo a quantidade de alegria que tenho quando vejo algo deste tipo :-)
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
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
Re: Programação para Finanças (R/Python)
Tenho andado a experimentar os R Notebooks (http://rmarkdown.rstudio.com/r_notebooks.html)
Primeiro output em PDF que fiz em anexo. Bom para apresentação de relatórios e/ou trabalhos em papel/PDF.
Primeiro output em PDF que fiz em anexo. Bom para apresentação de relatórios e/ou trabalhos em papel/PDF.
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
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
Re: Programação para Finanças (R/Python)
Estas últimas 24 horas foram extremamente produtivas.
Depois do avanço que dei ontem (ver posts acima) hoje consegui implementar algo que queria fazer há meses mas não estava a ver como.
Filtros:
Um progresso para a minha análise de risco e diversificação na construção de carteiras. Possivelmente irei partilhar mais para a frente.
Simulação sem filtros:
Simulação com filtros de sobre-optimização:
Nenhum fundo com peso superior a 20% e nenhuns 3 fundos com peso superior a 50%. Notem como aquelas carteiras "malucas" mais longe da "nuvem" desapareceram:
Simulação com limite de drawdown da carteira:
À simulação anterior acrescentei um limite ao drawdown máximo da carteira, neste caso 30%. Reparem como as carteiras com mais retorno (e por isso mais arriscadas) desapareceram:
P.S. - Estas simulações usam 11 fundos seleccionados por mim com activos desde obrigações governamentais a small caps, passando por obrigações convertíveis
Depois do avanço que dei ontem (ver posts acima) hoje consegui implementar algo que queria fazer há meses mas não estava a ver como.
Filtros:
- .Peso máximo por fundo
.Peso máximo permitido no TOP3
.Drawdown máximo permitido à carteira
Um progresso para a minha análise de risco e diversificação na construção de carteiras. Possivelmente irei partilhar mais para a frente.
Simulação sem filtros:
Simulação com filtros de sobre-optimização:
Nenhum fundo com peso superior a 20% e nenhuns 3 fundos com peso superior a 50%. Notem como aquelas carteiras "malucas" mais longe da "nuvem" desapareceram:
Simulação com limite de drawdown da carteira:
À simulação anterior acrescentei um limite ao drawdown máximo da carteira, neste caso 30%. Reparem como as carteiras com mais retorno (e por isso mais arriscadas) desapareceram:
P.S. - Estas simulações usam 11 fundos seleccionados por mim com activos desde obrigações governamentais a small caps, passando por obrigações convertíveis
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
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
Re: Programação para Finanças (R/Python)
LoneWolf Escreveu:Tu és uma máquina!
Não sei. Foi sem querer. Estou sempre a ler que estas linguagens são lentas (python/R) e que se deve minimizar o uso delas optando por bibliotecas como o numpy que é escrito em c++ e tem coisas rápidas que nem compreendo (bibliotecas BLAS). Nunca pensei que a diferença fosse tão grande.
A grande mais valia destas linguagens é mesmo a ligação com bibliotecas escritas em c++, javascript etc etc
Um script bem escrito fica assustadoramente rápido!! É que nesses 70 segundos a máquina não faz só 500 mil cálculos. Tem de fazer atribuições aleatórias de pesos, fazer uma multiplicação de matrizes para criar o portfolio, calcular a rentabilidade (e só aqui tem uma divisão e uma multiplicação por 100), desvio padrão (aqui tem que calcular as variações diárias, uma raiz quadrada e fazer uma multiplicação) e sharpe para cada um dos 500 mil portfolios Resumidamente faz alguns milhões de cálculos!!
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
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
Re: Programação para Finanças (R/Python)
Tu és uma máquina!
Re: Programação para Finanças (R/Python)
Espectáculo !!
- Mensagens: 235
- Registado: 11/8/2016 14:08
Re: Programação para Finanças (R/Python)
Recentemente tive a oportunidade de corrigir uma biblioteca de cálculos financeiros em python. Este pessoal percebe muito de programação mas matemática financeira passa um pouco ao lado às vezes.
Mas NUNCA pensei que como hoje chegasse ao ponto de não só corrigir a matemática financeira mas em simultâneo tornar o código dezenas de vezes mais eficiente. Com o código antigo fazer uma simulação de Monte Carlo com 25 mil carteiras demorava:
CPU times: user 51.2 s, sys: 172 ms, total: 51.3 s
Com o novo código (alterado por mim) demora:
CPU times: user 3.68 s, sys: 12 ms, total: 3.69 s
Há algo de muito gratificante quando fazemos algo deste género
EDIT: A mega simulação de 500 mil portfolios, que ocasionalmente faço, passou de 24 minutos para 70 segundos
Mas NUNCA pensei que como hoje chegasse ao ponto de não só corrigir a matemática financeira mas em simultâneo tornar o código dezenas de vezes mais eficiente. Com o código antigo fazer uma simulação de Monte Carlo com 25 mil carteiras demorava:
CPU times: user 51.2 s, sys: 172 ms, total: 51.3 s
Com o novo código (alterado por mim) demora:
CPU times: user 3.68 s, sys: 12 ms, total: 3.69 s
Há algo de muito gratificante quando fazemos algo deste género
EDIT: A mega simulação de 500 mil portfolios, que ocasionalmente faço, passou de 24 minutos para 70 segundos
Editado pela última vez por VirtuaGod em 14/1/2018 22:39, num total de 2 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
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
Re: Programação para Finanças (R/Python)
SFT Escreveu:Aproveito para informar que o DataCamp está com promoção de princípio do ano, para quem estiver interessado.
E valem bem a pena. É uma das minhas principais fontes para cenas financeiras. Têm em python e R. Para além de que estão o sempre a meter cursos novos. Financeiros é mais ou menos um todos os meses se contarmos com cursos em R e Python (cada curso é de aproximadamente 4 horas). Mas os que lá tem já são bastantes. O mais recente até apliquei cenas que do currículo do CFA nível 1 como net present value, IRR e tomadas de decisão com base nisso (foi em python e obviamente já fiz ). Têm várias coisas de finanças e análise e tratamento de séries temporais em pipeline para o primeiro trimestre do ano.
https://www.datacamp.com/courses/intro-to-financial-concepts-using-python
Em R centram-se mais em bibliotecas existentes, pois a comunidade open source financeira está mais desenvolvida. Em Python cria-se algumas funções novas, o que também tem a sua utilidade e é interessante.
Têm imensas coisas de estatística (principalmente em R) que infelizmente ainda não explorei como deve ser. Mas tenho bastantes cursos financeiros e de manipulação de dados já feitos (e os que faltam devo fazer em breve).
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
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
Quem está ligado:
Utilizadores a ver este Fórum: aaugustobb_69, acintra, afcapitao, Bing [Bot], Google Adsense [Bot], Goya777, lito, m-m, malakas, Mmmartins, MPAM, Nuno V, OCTAMA, Oli Mac, PAULOJOAO, peterteam2, slbnnbobadela, trend=friend, VALHALLA, Xacal, yggy e 348 visitantes